Come posso disabilitare la sospensione automatica USB per un dispositivo specifico?


18

Ciò è correlato al problema discusso nel mouse wireless che si blocca temporaneamente (in stato di sospensione) con alimentazione a batteria .

Riepilogo: il mouse si blocca quando funziona a batteria poiché viene sospeso automaticamente dopo un certo tempo e richiede più tempo per svegliarsi.

La disabilitazione della sospensione automatica USB per il ricevitore del mouse in PowerTOP è una soluzione temporanea, ma non sopravvive al riavvio.

Come posso disabilitare permanentemente la sospensione automatica USB per un solo dispositivo specifico ?

Una soluzione che non prevede l'installazione di pacchetti aggiuntivi è preferita (dopotutto, voglio disabilitare qualcosa), ma non è richiesta. Rimuovere PowerTOP (che sembra essere una soluzione per alcuni) non è quello che voglio - mi piace PowerTOP ...

E l'installazione laptop-mode-toolsper disabilitare la sospensione automatica USB non è nemmeno quello che voglio, quindi la nuova domanda.

Inoltre: ciò influirà sulla batteria del mio notebook? Il ricevitore unificante Logitech per il mouse rimane sempre connesso, quindi se ciò impedisce che si verifichi la sospensione automatica per tutti i dispositivi, ciò sarebbe probabilmente negativo.

Risposte:


25

Ubuntu 16.04 (Xenial Xerus)

sudo apt install tlp
sudo lsusb

Trova l'ID di input del dispositivo USB: dovrebbe apparire come 1234:5678.

Modifica il file sudo vi /etc/default/tlpe aggiungi l'ID di input del tuo dispositivo USB_BLACKLISTaggiungendo la seguente riga con l'ID di input del tuo dispositivo in questo modo:

USB_BLACKLIST="1234:5678"

Ubuntu 14.04 (Trusty Tahr)

Come menzionato qui su hecticgeek.com , il trucco consiste di due parti:

Utilizzo lsusbper accertare gli ID dispositivo dei dispositivi USB per cui si desidera disabilitare la sospensione automatica.

E poi aggiungendoli AUTOSUSPEND_USBID_BLACKLISTnel file di configurazione /etc/laptop-mode/conf.d/runtime-pm.conf( usb-autosuspend.conffino a Ubuntu 14.04) (i dettagli sono ben documentati anche lì).


In realtà il mio mouse si è perso / rubato poco dopo, quindi non posso provarlo. Ma a giudicare dal .conffile questo è esattamente il tipo di cosa che speravo :)
black_puppydog

Sembra che sia AUTOSUSPEND_RUNTIME_DEVID_BLACKLISTora (Ubuntu 17.04)
partofthetething

2
I laptop Ubuntu di Dell con Ubuntu 16.04 LTS sono stati tlpinstallati anziché laptop-mode-tools, quindi se si desidera inserire nella blacklist i dispositivi USB da mettere in modalità di sospensione automatica su questi laptop, impostare le USB_BLACKLISTimpostazioni nel file /etc/default/tlp- le modifiche avvengono immediatamente
Stuart Caie

Gli HID sono già nella lista nera da tlp: / etc / default / tlp # Nota: i dispositivi di input (usbhid) sono esclusi automaticamente (vedi sotto) # USB_BLACKLIST = "045e: 07a5"
Tom

La documentazione TLP menziona che si tratta di una gestione dell'alimentazione per laptop (in particolare ThinkPad). Funziona con PC desktop?
Konrad Rudolph,

7

Ho avuto un problema simile con i PC su un Avocent KVM , in cui gli strumenti in modalità laptop non erano installati (e non volevo risolverlo in quel modo in ogni caso). Nel mio caso, la sospensione automatica della KVM ha fatto sì che la tastiera e il mouse si comportassero in modo irregolare (dopo alcuni secondi inattivi, avrebbero sospeso e perso i dati di input per un po 'fino a quando un numero sufficiente di clic e tremoli li avesse svegliati).

Quando ho eseguito PowerTOP e disattivato la sospensione automatica USB per Avocent, PowerTOP mi ha detto che il comando per disabilitarlo dalla riga di comando era:

echo 'on' > '/sys/bus/usb/devices/3-10/power/control'

Il bit '3-10' sarà diverso su sistemi diversi. Non sono sicuro di come determinarlo oltre a eseguire PowerTOP, ma probabilmente c'è un modo.

Invece, ho usato una regola udev per abbinare l'id del prodotto del mio dispositivo:

trent + 14.04: /etc/udev/rules.d$ cat 10-usb-avocent-kvm-pm.rules

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{idProduct}=="0013", ATTR{product}=="SC Secure KVM", TEST=="power/control", ATTR{power/control}:="on"

Per ottenere le informazioni udev corrette ho eseguito:

udevadm info -a --path /sys/bus/usb/devices/N-N

6

In /etc/laptop-mode/conf.d/usb-autosuspend.conftroverai:

# Enable USB autosuspend feature?
# Set to 0 to disable
CONTROL_USB_AUTOSUSPEND="auto"

Dovresti cambiarlo in CONTROL_USB_AUTOSUSPEND="0".

Ciò renderà automaticamente qualsiasi dispositivo USB con il valore "on" in /sys/bus/usb/devices/"DEVICE ID"/power/control. Ciò renderà inattivo il valore dei file di sospensione automatica:

$ cat /sys/bus/usb/devices/"DEVICE ID"/power/autosuspend
2
$ cat /sys/bus/usb/devices/"DEVICE ID"/power/autosuspend_delay_ms
2000

5

Sono presenti le opzioni di alimentazione per un dispositivo USB /sys/bus/usb/devices/n-n/power. Sfortunatamente, ciò che nn è per un determinato dispositivo richiede un po 'di investigazione per scoprirlo, quindi penso che questo si rivelerà un ostacolo quando si tratta di avere uno script che fa automaticamente

echo -1 > /sys/bus/usb/devices/3-2/power/autosuspend

per disattivare la sospensione automatica su quel dispositivo. La magia nn appare effettivamente nell'output di

udevadm info --export-db

quindi penso che udev sarà tuo amico qui; una sorta di script udev digitato su un parametro che identifica il mouse, quindi esegue uno script che echos -1 nel file pertinente.


4
Sopravviverà al riavvio? l'eco in / sys sembra non permanente, no?
black_puppydog

2
Inserisci il comando in /etc/rc.local prima della riga 'exit 0'
Bryce,

4

Ho creato la mia regola udev :

ACTION=="add", ATTR{idVendor}=="0cf3", ATTR{idProduct}=="3004", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'"

2

In Ubuntu 16.04 LTS (Xenial Xerus), ho trovato una soluzione in /etc/laptop-mode/conf.d/runtime-pm.conf:

# Auto-Suspend timeout in seconds
# Number of seconds after which the USB devices should suspend
AUTOSUSPEND_TIMEOUT=1800

Inizialmente era stato creato 2per me. 30 minuti è molto più ragionevole.

Dopo la modifica, fai:

sudo service laptop-mode restart

Non sono ancora sicuro di come disabilitarlo completamente, ma ora per me va bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.