web-dev-qa-db-ja.com

USBデバイスの消費電力を取得する

USBデバイスに必要な電力を確認する方法はありますか?

なぜこれが必要なのですか?

LTE USBスティックをRaspberry Piに接続する必要があり、どれだけの電力が必要かわからないLinux上で。

30

USBポートが供給できる電力量を確認するにはどうすればよいですか 、特に私の =)answer

lsusb -v

lsusb -vを使用して最大電力を取得できます。次に例を示します。

$ lsusb -v|egrep "^Bus|MaxPower"
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
    MaxPower              100mA
Bus 003 Device 002: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
    MaxPower               98mA
Bus 001 Device 004: ID 04a9:1069 Canon, Inc. S820
    MaxPower                2mA
Bus 001 Device 005: ID 05ac:120a Apple, Inc. iPod Nano
    MaxPower              500mA
    MaxPower              500mA
28
slm

usb-devicesもご覧ください。

$ usb-devices | grep 'Product=\|MxPwr'
S:  Product=EHCI Host Controller
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
S:  Product=EHCI Host Controller
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
S:  Product=USB Keykoard
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=98mA
S:  Product=USB Receiver
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=98mA
S:  Product=DW375 Bluetooth Module
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=100mA
S:  Product=5880
C:  #Ifs= 2 Cfg#= 0 Atr=c0 MxPwr=100mA
17
terdon

デバイスのsysfsフォルダにbMaxPowerファイルがあります。しかし、それが非常に役立つとは思いません。デバイスは、標準に準拠するためだけに500mAを「要求」したが、実際の電流ドレインではないことがわかります。

8
Alex P.
$ watch -n1 'lsusb -v|egrep "^Bus|MaxPower"'

そして毎秒更新

Cada 1,0s: lsusb -v|egrep "^Bus|MaxPower"                               Mecaro: Fri Dec  1 00:15:54 2017

Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 002 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120
    MaxPower               90mA
Bus 002 Device 005: ID 04fc:0538 Sunplus Technology Co., Ltd Wireless Optical Mouse 2.4G [Bright]
    MaxPower              100mA
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
4
Mauricio Torres

あなたはおそらくあなたの問題を解決したか、今では次に進んだでしょうが、この情報はほとんどの場合、メーカーのWebサイトで入手できます。また、私が使用したすべてのUSBデバイスにも書き込まれています。

ライブ測定の本当の答えは、おそらく、OSからこの情報を取得することはできないということです。私の推測では、これらはすべてワイヤーレベルでネゴシエートされ、実際には追加の電圧レギュレーター/抵抗器によって制御されます。

さらに、このために特別に設計されたデバイスの可用性は、「簡単な」ソリューションが存在しないという最後のヒントです。

1
Eric