ソフトウェアを使用してUSBデバイスの電源を切る方法はありますか?


10

Linuxマシンのソフトウェアを使用して(特定の)USBデバイスの電源を完全にオフにする方法はありますか?

これを使用して、(単一の)USBスティックの電源をオフにします(LEDがオフになります)。

これを達成する方法を知っていますか?たとえば、/ sys / bus / usbなどを使用していますか?


はい。デバイスをアンマウントするだけです。
iglvzx

1
いいえ、それは役に立ちません。また、スティックに使用可能なパーティション(マウント可能なパーティション)がない可能性もあります。
ダニエルジュール

フラッシュドライブの場合、ディスクを削除する1つの方法はecho 1 > /sys/block/sd<letter[s]>/device/delete...(イジェクトがそれを行っている可能性があります...)非ディスクデバイスでは機能しません。)
Gert van den Berg

回答:


10

マシンが古いカーネルを実行している場合、echo suspend > /sys/bus/usb/devices/X-X/power/levelデバイスの強制停止を発行する可能性があります。

ただし、2.6.32以降、これは不可能になりました。

電源管理イベントは、外部と内部の2つの広いクラスに分類できます。外部イベントは、USBスタック外のエージェントによってトリガーされるイベントです。システムのサスペンド/再開(ユーザースペースによってトリガーされます)、手動の動的再開(ユーザースペースによってトリガーされます)、リモートウェイクアップ(デバイスによってトリガーされます)。 内部イベントは、USBスタック内でトリガーされたイベント(自動サスペンドと自動再開)です。すべての動的な中断イベントは内部であることに注意してください。外部エージェントはダイナミックサスペンドを発行できません。

power/control

    This file contains one of two words: "on" or "auto".
    You can write those words to the file to change the
    device's setting.

    "on" means that the device should be resumed and
    autosuspend is not allowed.  (Of course, system
    suspends are still allowed.)

    "auto" is the normal state in which the kernel is
    allowed to autosuspend and autoresume the device.

    (In kernels up to 2.6.32, you could also specify
    "suspend", meaning that the device should remain
    suspended and autoresume was not allowed.  This
    setting is no longer supported.

http://www.kernel.org/doc/Documentation/usb/power-management.txtから)

あなたができる最善のことは、ドライバからデバイスのバインド解除することであると思います。そのため、アクティビティは行われず、できるだけ早くデバイスを自動サスペンドするように構成します(echo auto > /sys/bus/usb/devices/X-X/power/control && echo 0 > /sys/bus/usb/devices/X-X/power/autosuspend_delay_ms)。

しかし、私がUSB仕様を理解している限り、デバイスをサスペンドしても、ポートの電源はいくらか残っているため、「ダム」スキーム(つまり、+ 5VとGNDに直接接続されている場合)でLEDを無効にすることは不可能かもしれませんピン)。


ドライバーからデバイスのバインドを解除し、自動サスペンドを構成できたため、デバイスがシャットダウンするため、これを承認済みの回答としてマークしています。残念ながら、ターゲットのUSBスティック(またはLED)は+ 5VとGNDに直接接続されているため、電源を切ることはできません。
ダニエルジュール

3

排出コマンドを使用すると動作するはずです。

実行するeject /dev/<devicename>と、電源が切れます。


残念ながら、これは私のテストスティックでは動作しません:(
Daniel Jour

1
USBスティックがCD、フロッピー、テープ、またはSCSIドライブでない場合、これは驚くことではありません。ejectこれらでのみ動作します。
ドミトリーグリゴリエフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.