Żadna z wyżej wymienionych odpowiedzi nie pomogła mi. Dlatego zamieszczam tutaj swój własny.
Włączanie / wyłączanie wybudzania z trybu wstrzymania dla urządzeń USB
Testowany w KDE neon 5.16.2, oparty na Ubuntu 18.04, ale powinien działać w dowolnej dystrybucji.
1. Pokaż listę urządzeń USB, aby zidentyfikować to, które chcesz włączyć / wyłączyć:
grep . /sys/bus/usb/devices/*/product
powinieneś uzyskać coś takiego:
/ sys / bus / usb / devices / 3-3 / product: Cord Optical Mouse
/sys/bus/usb/devices/3-4.3/product:802.11n Adapter sieci WLAN
/sys/bus/usb/devices/3-4.4/product:USB Odbiornik
/sys/bus/usb/devices/3-4/product:USB2.0 Hub
/sys/bus/usb/devices/4-4/product:USB3.0 Hub
/ sys / bus / usb / devices / usb1 / product: EHCI Host Controller
/ sys / bus / usb / devices / usb2 / product: EHCI Host Controller
/ sys / bus / usb / devices / usb3 / product: xHCI Host Controller
/ sys / bus / usb / devices / usb4 / product: xHCI Host Controller
2. Sprawdź status budzenia wszystkich urządzeń USB:
grep / sys / bus / usb / devices / * / power / wakeup
wynik powinien być mniej więcej taki:
/ sys / bus / usb / devices / 1-1 / power / wakeup: wyłączone
/ sys / bus / usb / devices / 2-1 / power / wakeup: wyłączone
/ sys / bus / usb / devices / 3-11 / power / wakeup: wyłączone
/ sys / bus / usb / devices / 3-3 / power / wakeup: włączone
/sys/bus/usb/devices/3-4.4/power/wakeup:disabled
/ sys / bus / usb / devices / 3-4 / power / wakeup: wyłączone
/ sys / bus / usb / devices / 4-4 / power / wakeup: wyłączone
/ sys / bus / usb / devices / usb1 / power / wakeup: wyłączone
/ sys / bus / usb / devices / usb2 / power / wakeup: wyłączone
/ sys / bus / usb / devices / usb3 / power / wakeup: wyłączone
/ sys / bus / usb / devices / usb4 / power / wakeup: wyłączone
W moim przypadku budzenie jest włączone tylko dla urządzenia USB 3-3, które zgodnie z poprzednią listą to „Cord Optical Mouse”.
Chcę włączyć wybudzanie z trybu zawieszenia tylko dla klawiatury bezprzewodowej i wyłączyć ją na resztę. Odbiornik USB z klawiaturą jest podłączony do koncentratora i odpowiada 3-4.4 z poprzedniej listy („Odbiornik USB”).
3. Utwórz skrypt, który działa:
Aby mieć uprawnienia roota:
sudo su
Następnie tworzymy plik dla skryptu (plik można nazwać „usbwakeup” lub dowolny opisowy opis):
nano /etc/init.d/usbwakeup
Treść pliku. Po prostu dostosuj go do swoich potrzeb, zmieniając sekcję „AKCJE SKRYPCJI” (Lubię dodawać komentarze do skryptów, aby wiedzieć, co faktycznie robią, jeśli pewnego dnia je ponownie otworzę):
#! / bin / bash
#
#######################
# INFORMACJE OGÓLNE #
#######################
#
# - Ten skrypt włącza / wyłącza wybudzanie z zawieszenia # dla urządzeń USB.
#
# - Skrypt wymaga uprawnień do wykonywania.
#
# - Aby skrypt mógł zostać wykonany podczas uruchamiania systemu, musi istnieć
# symboliczny link do niego w /etc/rc3.d/ z priorytetem S01
# (na przykład: /etc/rc3.d/S01usbwakeup)
#
###########################
# POWIĄZANE PRZYDATNE POLECENIA #
###########################
#
# - Zidentyfikuj urządzenia USB:
# grep. / sys / bus / usb / devices / * / product
#
# - Sprawdź status „Obudź zawieszenie” urządzeń USB:
# grep. / sys / bus / usb / devices / * / power / wakeup
#
#
##################
# DZIAŁANIA SKRYPCJI #
##################
#
# Wyłącza budzenie z trybu zawieszenia dla myszy optycznej
echo wyłączone> / sys / bus / usb / devices / 3-3 / power / wakeup
#
# Umożliwia wybudzanie z trybu wstrzymania dla klawiatury bezprzewodowej
że podłączyłem do koncentratora USB 3.0 na porcie USB nr.4
echo włączone> /sys/bus/usb/devices/3-4.4/power/wakeup
4. Daj mu uprawnienia do wykonywania:
chmod +x /etc/init.d/usbwakeup
5. Utwórz dowiązanie symboliczne w /etc/rc3.d/, aby zaczęło się podczas uruchamiania:
sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup
Po ponownym uruchomieniu systemu wszystko powinno działać zgodnie ze skryptem. Zmiany będą trwałe, ponieważ będą wykonywane przy każdym uruchomieniu systemu.
Źródła, z którymi się skonsultowano (oprócz tego postu):
https://ubuntuforums.org/showthread.php?t=2388336
https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/
/unix/83748/the-rc0-d-rc1-d-directories-in-etc
/sys/bus/usb/devices/<device id>/product
opisu tekstowego.