Obter consumo de energia de um dispositivo USB

29

Existe uma maneira de verificar quanta energia um dispositivo USB requer?

Por que eu preciso disso?

Preciso conectar um dispositivo USB LTE ao meu Raspberry Pi e não sei quanta energia ele precisa. Chegamos com facilidade no Windows, mas não encontramos uma maneira de fazê-lo no Linux.

TheMeaningfulEngineer
fonte

Respostas:

27

Veja estas perguntas e respostas do superusuário intituladas: Como você verifica a quantidade de energia que uma porta USB pode fornecer? , especificamente minha resposta .

lsusb -v

Você pode obter o máximo de energia usando lsusb -v, por exemplo:

$ 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
slm
fonte
5
Não acho que seja uma resposta correta. Meu arduino é relatado como usando 100mA mesmo quando estou colocando-o no modo de suspensão (onde outros mediram um consumo de energia de cerca de 56mA). Se eu fizer o meu Arduino ativo, ele também é relatado como 100mA ...
Huygens
Você pode sugerir o comando semelhante para o Windows?
Suncatcher
17

Você também pode dar uma olhada em 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
terdon
fonte
6

Há um bMaxPowerarquivo na pasta sysfs do dispositivo. Mas não acho que seja muito útil. Você poderá descobrir que o dispositivo "solicitou" 500mA apenas para cumprir o padrão, mas não o consumo de corrente real.

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

E atualize a cada segundo

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
Mauricio Torres
fonte
0

Você provavelmente resolveu o problema ou seguiu em frente agora, mas essas informações estão disponíveis no site do fabricante na maioria das vezes. Também está escrito em todos os dispositivos USB que eu usei.

A resposta real para a medição ao vivo é provavelmente que não é possível obter essas informações no sistema operacional. Meu palpite é que tudo isso é negociado no nível do fio e realmente controlado por reguladores / resistores de tensão adicionais.

Além disso, a disponibilidade de dispositivos projetados especificamente para isso é para mim a dica final de que não existe uma solução "fácil".

Eric
fonte
5
O "site do fabricante" é de pouca utilidade quando você está fabricando seu próprio dispositivo USB ;-)
dr. Sybren