有没有办法检查 USB 设备需要多少电量?
为什么我需要这个?
我需要将 LTE USB 棒连接到我的 Raspberry Pi,但不知道它需要多少电量。我们在 Windows 上很容易得到它,但还没有找到在 Linux 上做到这一点的方法。
答案1
看看这个超级用户问答标题:如何检查 USB 端口可以提供多少电量?,特别是我的回答。
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
答案2
您还可以看看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
答案3
bMaxPower
设备的 sysfs 文件夹中有一个文件。但我认为这不会很有用。您会发现设备“请求”500mA 只是为了符合标准,而不是实际的电流消耗。
答案4
您现在可能已经解决了问题或继续前进,但大多数时候可以在制造商的网站上找到此信息。它也写在我使用过的每一个 USB 设备上。
实时测量的真正答案可能是无法从操作系统获取此信息。我的猜测是,所有这些都是在线路级别协商的,并且实际上由额外的稳压器/电阻器控制。
此外,专门为此设计的设备的可用性对我来说是最后的暗示,即不存在“简单”的解决方案。