Mit dem Tool
uhubctl konnte ich es lösen. Während der Laufzeit lassen sich die Ports des USB-Hubs deaktivieren:
Jetzt habe ich mir einen systemd-Service gebastelt, der vor dem Suspend/Hibernate etc. den Befehl absetzen soll:
Code: Alles auswählen
[Unit]
Description=Suspend USB-Hub
Before=sleep.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
[Service]
Type=oneshot
ExecStartPre=/bin/sleep 5
ExecStart=/usr/sbin/uhubctl -l 3-1.4 -a off
ExecStartPost=/bin/sleep 5
[Install]
WantedBy=sleep.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
Funktioniert leider nicht. Das System ändert vor dem Absetzen irgendwie den Status des Hubs.
Die Ausgabe von
ist:
Code: Alles auswählen
Jun 09 21:05:59 T480 systemd[1]: Starting suspend-usbhub.service - Suspend USB-Hub...
Führt er aber nicht aus, sondern erst nach dem Wakeup/Starts des Rechners.
Kann man das irgendwie erzwingen, dass es vor dem Suspend ausgeführt wird und der Rechner darauf warten soll?