Taas olisi visainen pähkinä oi linux-velhot. Logitechin usb-pulikka (hiiri ja näppis) kun sen ottaa irti usb-slotista ja laittaa takaisin niin herätys suspend-tilasta ei enää onnistu näppiksellä/hiirellä. Aina joutuu manuaalisesti laittamaan enabled-tilaan takaisin. Läppärin kanssa tulee tuota usb-vastaanotinta välilä aina otettua irti ja laitettua takaisin joten on vähän ärsyttävä homma.
Katselin ohjeita automaattiseen enabled-tilaan laittamiseen
täältä ja
täältä.
Tein
/etc/udev/rules.d/10-wakeup.rules
tiedoston ja lisäsin sinne ("idVendor" ja "idProduct" poimittu
lsusb
-komennolla):
Koodi:
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", ATTR{power/wakeup}="enabled"
Lopuksi ajoin vielä komennon
sudo udevadm control --reload-rules
(en ole varma oliko tämä pakko tehdä).
Komento
grep . /sys/bus/usb/devices/*/product
näyttää Logitechin usb-pulikalle näin (kun yhdessä ulkoisen monitorin usb-paikassa kiinni):
Koodi:
/sys/bus/usb/devices/1-1.3/product:USB Receiver
Ja komennolla
grep . /sys/bus/usb/devices/*/power/wakeup
näkee kaikkien wakeup-tilat, esim.:
Koodi:
/sys/bus/usb/devices/1-1.3/power/wakeup:disabled
/sys/bus/usb/devices/1-14/power/wakeup:disabled
/sys/bus/usb/devices/1-1/power/wakeup:disabled
/sys/bus/usb/devices/1-9/power/wakeup:enabled
/sys/bus/usb/devices/usb1/power/wakeup:disabled
/sys/bus/usb/devices/usb2/power/wakeup:disabled
/sys/bus/usb/devices/usb3/power/wakeup:disabled
/sys/bus/usb/devices/usb4/power/wakeup:disabled
Tuo uusi wakeup-sääntö toimii kylläkin, mutta ainoastaan jos kiinnitän usb-pulikan suoraan läppärin johonkin usb-reikulaan. Mutta jos laitan sen mihin tahansa ulkoisen näytön usb-porttiin niin wakeup ei automaattisesti mene päälle. Manuaalisesti enablointi toimii kyllä. Ymmärtääkö joku miksi?
Ulkoisen näytön usb-portit ovat esim. 1-1.3 tai 1-1.2, läppärin usb-portit ovat esim. 1-2 tai 1-3. Olisiko tuolla jotain merkitystä?
Kokeilin myös aiemmin linkkaamani ensimmäistä ratkaisua (esim. alla) jossa siis suoraan kohdistetaan se enablointi tiettyyn usb-porttiin. Se toimii kylläkin mutta siinä on se ongelma, että jos usb-pulikan laittaa johonkin muuhun porttiin niin wakeup-sääntö ei tietenkään toimi enää.
Koodi:
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/1-1.3/power/wakeup'"
Ymmärtääkö joku miksi tuo ensimmäinen ratkaisu ei toimi ulkoisen monitorin usb-porttien kanssa?