Światło LED mojej myszy działa mi na nerwy podczas snu. Zazwyczaj zamykam notatnik wieczorem i dzwonię do Ubuntu pm-suspend
. W każdym razie wtyczka USB jest nadal zasilana. Mógłbym nawet naładować swój smartfon. Jest to dla mnie złe z dwóch powodów. Muszę odłączyć mysz, a bateria notebooka [akku] wytrzyma mniej. Czy istnieje sposób na automatyczne wyłączenie mojego urządzenia USB lub wszystkich urządzeń USB, gdy notebook przejdzie w tryb zawieszenia?
Jak to skonfigurować?
EDYCJA: Zgodnie z żądaniem w komentarzach dodaję te informacje: Używam Lenovo G550.
EDYCJA: Zgodnie z żądaniem tutaj moje wyjście lsusb
Bus 002 Device 019: ID 1058:25a3 Western Digital Technologies, Inc.
Bus 002 Device 017: ID 1b1a:7001
Bus 002 Device 009: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 002 Device 008: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 002 Device 003: ID 0402:5608 ALi Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
EDYCJA: Myślę, że te informacje również prowadzą do odpowiedzi.
root@localhost:/sys/bus/usb/devices# ls -al
insgesamt 0
drwxr-xr-x 2 root root 0 Okt 6 10:56 .
drwxr-xr-x 4 root root 0 Okt 6 10:56 ..
lrwxrwxrwx 1 root root 0 Okt 6 10:56 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:1a.7/usb1/1-0:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-0:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-3 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-3
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-3:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-3:1.1 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.1
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1.2 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.2
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1.2:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.2/2-5.1.2:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1.2:1.1 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.2/2-5.1.2:1.1
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.2 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.2
lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.2:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.2/2-5.2:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 3-0:1.0 -> ../../../devices/pci0000:00/0000:00:1a.0/usb3/3-0:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 4-0:1.0 -> ../../../devices/pci0000:00/0000:00:1a.1/usb4/4-0:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 5-0:1.0 -> ../../../devices/pci0000:00/0000:00:1a.2/usb5/5-0:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-0:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-1 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-1
lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-1:1.0 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-1:1.1 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.1
lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-1:1.2 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.2
lrwxrwxrwx 1 root root 0 Okt 6 10:56 7-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.1/usb7/7-0:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 8-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.2/usb8/8-0:1.0
lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb1 -> ../../../devices/pci0000:00/0000:00:1a.7/usb1
lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb2 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2
lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb3 -> ../../../devices/pci0000:00/0000:00:1a.0/usb3
lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb4 -> ../../../devices/pci0000:00/0000:00:1a.1/usb4
lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb5 -> ../../../devices/pci0000:00/0000:00:1a.2/usb5
lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb6 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6
lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb7 -> ../../../devices/pci0000:00/0000:00:1d.1/usb7
lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb8 -> ../../../devices/pci0000:00/0000:00:1d.2/usb8
EDYTOWAĆ:
tokam@localhost:~$ lsusb -t
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
|__ Port 3: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 3: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 5: Dev 51, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 52, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 54, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 54, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 53, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
Odpowiedzi:
Obecny blok potknięć z łączami OP, komentarzami i proponowanymi odpowiedziami jest taki, że identyfikator produktu jest statyczny,
1b1a:7001
ale numery magistrali i urządzeń ciągle się zmieniają.Rozwiązanie
Utwórz skrypt (dowolną nazwę) w katalogu
/etc/pm/sleep.d/
i umieść w nim następujące elementy:Oznacz plik jako wykonywalny,
sudo chmod +x file_name
gdzie „nazwa_pliku” to nazwa, którą wybrałeś.Wyjaśnienie
To rozwiązanie wyłącza cały koncentrator USB, co w moim przypadku oznaczało telefon, mysz bezprzewodową, klawiaturę bezprzewodową itp. Podczas wywoływania skryptu z terminala monitowego należy wprowadzić hasło sudo. Mam nadzieję, że po wywołaniu z systemd uprawnienia sudo są dziedziczone. Nie mogłem tego przetestować, ponieważ nie mam myszy przewodowej. Dlatego może być konieczne dodatkowe udoskonalenie uprawnień sudo.
Zasilanie nie jest fizycznie odcinane, gdy BIOS zapewnia stałe zasilanie 5 V, a raczej urządzenia na magistrali mają się wyłączyć. W moim przypadku bezprzewodowa klawiatura i mysz przestały działać i musiały skorzystać z klawiatury laptopa i touchpada, aby przywrócić zasilanie.
Możesz to przetestować ręcznie, wywołując skrypt i przekazując parametry „zawiesić”. Przekazanie parametru „resume” niczego nie osiąga, ponieważ urządzenie jest wyłączone, nie ma identyfikatora urządzenia, aby je ponownie włączyć.
Łatwiejsze rozwiązanie wyłącza wszystkie porty USB
Niedawno napotkałem problem polegający na tym, że nieznany port uniemożliwiał zawieszenie laptopa. Znalazłem to rozwiązanie (kredyt w kodzie), które zmodyfikowałem.
Utwórz plik
/lib/systemd/system-sleep/custom-xhci_hcd
przy użyciusudo
uprawnień i wstaw ten kod:źródło
Znajdź magistralę i numer urządzenia myszy, wydając polecenie
lsusb
(z podłączonym i bez niego), którego chcesz, aby był tam tylko wtedy, gdy jest podłączony. Zanotuj liczby. W twoim przypadku wydają się być 6 i 6wydaj polecenie
sudo cp /etc/pm/sleep.d/novatel_3g_suspend /etc/pm/sleep.d/mouse_suspend
(musimy to zrobić, ponieważgedit
nie ma już opcji Zapisz jako po uruchomieniu jako superużytkownik, który mogę znaleźć).wydaj polecenie
gksu gedit /etc/pm/sleep.d/mouse_suspend
Zmień numery magistrali i urządzeń, aby pasowały do tych, które zanotowałeś wcześniej. Zapisz wynikowy plik. Zostanie wykonany po zawieszeniu laptopa.W twoim przypadku powinieneś zmienić BUS = X i DEVICE = Y na numery magistrali i urządzenia pasujące do danej myszy. Będzie to działać, dopóki nie przeniesiesz urządzenia do innego portu, w którym to przypadku będziesz musiał ponownie zlokalizować urządzenie i odpowiednio dostosować plik.
Komentarze w pliku (linie zaczynające się od #) są nieistotne i można je bezpiecznie zignorować.
Uwaga: przetestowałem to za pomocą funkcji Suspend na komputerze stacjonarnym i działało zgodnie z reklamą. Nie mam dostępu do tego samego sprzętu, co masz, ale musiałem wznowić system za pomocą przycisku zasilania, więc jestem pewien, że to zadziała.
Edytuj na podstawie komentarzy i rozszerzenia pytania:
Wygląda na to, że są to informacje, które musisz kontynuować:
Bus 006 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver
źródło
gedit
aktualizacji waniliowej Ubuntu 16.04 z 14.04 jestSave as
opcja wFile
menu. Coś musiało się stać z twoją konfiguracją ??? PS dobra odpowiedź, spróbuję później.Save As
gdy piszę, pojawiagedit
się całe menu górnego wiersza „Edycja pliku Wyświetl narzędzia wyszukiwania Dokumenty Pomoc”, ale jeśli piszę,gksu gedit
lista menu nie pojawia się. HTH.lsusb -t
ilsusb
ze wszystkich urządzeń podłączonych w jak normalnie używać ich z dnia na dzień. To może nam pomóc w wizualizacji centrum, a co nie.