Obtenez la consommation d'énergie d'un périphérique USB

29

Existe-t-il un moyen de vérifier la puissance requise par un périphérique USB?

Pourquoi ai-je besoin de ça?

J'ai besoin de connecter une clé USB LTE à mon Raspberry Pi et je ne sais pas de quelle puissance il a besoin. Nous l'avons obtenu assez facilement sous Windows, mais nous n'avons pas trouvé de moyen de le faire sous Linux.

TheMeaningfulEngineer
la source

Réponses:

27

Jetez un coup d'œil à ce Q&R SuperUser intitulé: Comment vérifiez-vous la puissance qu'un port USB peut fournir? , en particulier ma réponse .

lsusb -v

Vous pouvez obtenir la puissance maximale en utilisant lsusb -v, par exemple:

$ 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
la source
5
Je ne pense pas que ce soit une bonne réponse. Mon arduino utilise 100mA même lorsque je le mets en veille (alors que d'autres ont mesuré une consommation électrique d'environ 56mA). Si je rend mon Arduino actif, il est également signalé comme 100mA ...
Huygens
Pouvez-vous suggérer la commande similaire pour Windows?
Suncatcher
17

Vous pouvez également consulter 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
la source
6

Il y a un bMaxPowerfichier dans le dossier sysfs de l'appareil. Mais je ne pense pas que cela va être très utile. Vous pourrez constater que l'appareil a "demandé" 500mA juste pour se conformer à la norme mais pas à la consommation de courant réelle.

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

Et rafraîchis chaque seconde

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
la source
0

Vous avez probablement soit résolu votre problème, soit vous êtes passé à autre chose, mais ces informations sont disponibles la plupart du temps sur le site Web du fabricant. Il est également écrit sur chaque périphérique USB que j'ai utilisé.

La vraie réponse pour la mesure en direct est probablement qu'il n'est pas possible d'obtenir ces informations à partir du système d'exploitation. Je suppose que tout cela est négocié au niveau du fil et effectivement contrôlé par des régulateurs / résistances de tension supplémentaires.

En outre, la disponibilité d'appareils spécialement conçus pour cela est pour moi le dernier indice qu'il n'existe pas de solution "facile".

Eric
la source
5
Le "site Web du fabricant" est peu utile lorsque vous créez votre propre périphérique USB ;-)
dr. Sybren