Nota. Le informazioni in questa risposta sono rilevanti per i kernel più vecchi (fino a 2.6.32). Vedi la risposta di tlwhitec per le informazioni sui kernel più recenti.
# disable external wake-up; do this only once
echo disabled > /sys/bus/usb/devices/usb1/power/wakeup
echo on > /sys/bus/usb/devices/usb1/power/level # turn on
echo suspend > /sys/bus/usb/devices/usb1/power/level # turn off
(Potrebbe essere necessario modificare usb1 in usb n )
Fonte:Documentation/usb/power-management.txt.gz
Secondo i documenti , sono state apportate diverse modifiche alla gestione dell'alimentazione USB dai kernel 2.6.32 , che sembrano stabilizzarsi in 2.6.38 . Ora dovrai attendere che il dispositivo diventi inattivo , che è regolato dal particolare driver di dispositivo. Il driver deve supportarlo, altrimenti il dispositivo non raggiungerà mai questo stato. Sfortunatamente, ora l'utente non ha alcuna possibilità di forzarlo. Tuttavia, se sei fortunato e il tuo dispositivo può diventare inattivo, per disattivarlo devi:
echo "0" > "/sys/bus/usb/devices/usbX/power/autosuspend"
echo "auto" > "/sys/bus/usb/devices/usbX/power/level"
oppure, per i kernel intorno alla 2.6.38 e superiori:
echo "0" > "/sys/bus/usb/devices/usbX/power/autosuspend_delay_ms"
echo "auto" > "/sys/bus/usb/devices/usbX/power/control"
Questo letteralmente significa andare a sospendere nel momento in cui il dispositivo diventa inattivo.
Quindi, a meno che il tuo fan non sia qualcosa di "intelligente" che può essere visto come un dispositivo e controllato da un driver, probabilmente non avrai molta fortuna con i kernel attuali.