Obtenha o consumo de energia de um dispositivo USB

25

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

Por que preciso disso?

Eu preciso conectar um stick USB LTE ao meu Raspberry Pi e não sei quanto de energia ele precisa. Conseguimos com bastante facilidade no Windows, mas não encontramos uma maneira de fazê-lo no Linux.

    
por TheMeaningfulEngineer 02.07.2013 / 18:24

5 respostas

24

Dê uma olhada neste SuperUser Q & A intitulado: , 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
    
por 03.07.2013 / 15:36
16

Você também pode ver 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
    
por 02.07.2013 / 19:57
6

Há um arquivo bMaxPower na pasta sysfs do dispositivo. Mas eu não acho que isso será muito útil. Você será capaz de descobrir que o dispositivo "solicitou" 500mA apenas para cumprir o padrão, mas não o dreno de corrente real.

    
por 02.07.2013 / 19:26
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
    
por 01.12.2017 / 07:10
0

Você provavelmente resolveu seu problema ou mudou-se agora, mas essas informações estão disponíveis no site do fabricante na maioria das vezes. Também é 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 essa informação do sistema operacional. Meu palpite é que tudo isso é negociado no nível do fio e, na verdade, controlado por reguladores / resistores de tensão adicionais.

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

    
por 27.11.2015 / 13:02