注意 この回答の情報は、古いカーネル (2.6.32 まで) に関連しています。新しいカーネルに関する情報については、tlwhitec の回答を参照してください。
# 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
(usb1 を usb n に変更する必要がある場合があります )
ソース:Documentation/usb/power-management.txt.gz
ドキュメントによると 、カーネル 2.6.32 から USB 電源管理にいくつかの変更がありました 、2.6.38 に落ち着くようです .デバイスがアイドル状態になるまで待つ必要があります 、特定のデバイス ドライバーによって管理されます。ドライバーはそれをサポートする必要があります。そうしないと、デバイスがこの状態に達することはありません。残念ながら、ユーザーはこれを強制する機会がありません。ただし、運が良く、デバイスがアイドル状態になる可能性がある場合は、これをオフにする必要があります:
echo "0" > "/sys/bus/usb/devices/usbX/power/autosuspend"
echo "auto" > "/sys/bus/usb/devices/usbX/power/level"
または、2.6.38 以降のカーネルの場合:
echo "0" > "/sys/bus/usb/devices/usbX/power/autosuspend_delay_ms"
echo "auto" > "/sys/bus/usb/devices/usbX/power/control"
これは文字通り、一時停止することを意味します デバイスがアイドル状態になった瞬間。
そのため、ファンがデバイスとして認識され、ドライバーによって制御される「インテリジェント」なものでない限り、現在のカーネルではうまくいかないでしょう。