您如何检查 USB 端口可以提供多少功率?

Pel*_*ier 52 windows linux usb power-supply power-management

一些笔记本电脑有一个特殊的 USB 端口,可以提供比其他笔记本更多的电力。然而,要确定哪一个是好的,或者它可以提供多少功率并不总是那么容易。

那么有没有什么好的办法来解决呢?我对任何软件或硬件解决方案持开放态度。

Tam*_*man 39

在 Linux 下,您可以在lsusb -v.

具体来说,调用lsusb -v |grep 'Bus\|MaxPower'避免过度输出。

  1. Debian / Ubuntu:

    使用sudo aptitude install usbutils获得此工具。

  2. 红帽/Fedora:

    使用sudo yum install usbutils获得此工具。

  3. Gentoo:

    使用sudo emerge usbutils获得此工具。


Windows 上不需要额外软件的解决方案是设备管理器本身:

  1. 转到设备管理器( devmgmt.msc)

  2. 单击“查看” >“按连接划分的设备”

  3. 单击您的Machine Name,点击*展开所有内容。

  4. 查看不同 USB 集线器的属性,您可以看到连接了哪些设备。

  5. 在电源选项卡上,您可以看到设备消耗的电量以及提供的电量。

    在此处输入图片说明

    就像 Jeff Atwood 解释的那样,可用的总功率是500 mA标准的。

  6. 在高级选项卡上,您可以看到带宽信息。

    在此处输入图片说明

因此,这应该可以让您看到哪个端口提供更多功率甚至功耗。

如果您遇到 USB 设备工作缓慢的带宽问题,您也可以使用它来排除故障...

  • 这周剩下的时间我会出乎意料地出城,所以我要继续颁发赏金。很好的答案,我不知道 Windows 会告诉你这个! (2认同)
  • 这是一个很棒的技巧。不幸的是,对于 PCI-e 附加 USB 3.0 集线器,该对话框不显示电源选项。 (2认同)

Jef*_*ood 32

我发现的一种(非常酷!)方式:

https://web.archive.org/web/20130529073635/http://www.ultramobilegeek.com/2007/02/measuring-power-on-peripherals-usb.html

当我为超移动设备撰写外围评论时,人们不断问我设备的耗电量有多大。以前,我没有答案。今天,我想出了一个粗略的方法来找到解决方案。

我称它为我的 USB Drawbox。它连接到万用表,可测量任何给定设备通过 USB 供电的毫安 (mA) 数。通常,设备会要求高达 500 mA 的电流。在此之上,标准端口将关闭设备的电源。某些设备,尤其是外部硬盘驱动器和 CD-ROM 驱动器,可以使用 Y 型连接器同时从两个 USB 端口获取电源。

USB抽签盒

这个小小的 DIY 黑客需要一点点焊料、一点点 Dremel 技能,以及大量的测试和调整。我这样做的方式 - 在金属企鹅薄荷糖罐中 - 需要对穿过香蕉插孔的螺钉进行非常小心的绝缘处理。除此之外,它非常简单。

  • 这会测试设备绘制的内容,而不是端口最多可以提供的内容,但很酷。 (9认同)
  • “_需要一些非常小心的绝缘_”这不是发明塑料盒的原因\*g\* (8认同)
  • @oleschri 金属盒充当法拉第笼并防止干扰,原始的防止干扰的屏蔽电缆在此处打开以插入万用表,因此金属盒是必须的。 (4认同)

slm*_*slm 11

我不确定为什么接受的答案如此受欢迎,hwinfo --usb没有提供任何电源信息,也没有lsusb -v -t。你自己看:

硬件信息

(Ubuntu 12.04)

% lsb_release -a|grep Des
Description:    Ubuntu 12.04.1 LTS

% hwinfo --usb
...
...
14: USB 00.0: 10900 Printer
  [Created at usb.122]
  UDI: /org/freedesktop/Hal/devices/usb_device_4a9_1069_206NL6_if0_printer_noserial
  Unique ID: IO+7.s5u63YPdXG8
  Parent ID: Uc5H.d7FDLX76qXB
  SysFS ID: /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4.4/1-4.4:1.0
  SysFS BusID: 1-4.4:1.0
  Hardware Class: printer
  Model: "Canon S820"
  Hotplug: USB
  Vendor: usb 0x04a9 "Canon"
  Device: usb 0x1069 "S820"
  SubVendor: "Canon"
  SubDevice: "S820"
  Revision: "1.02"
  Serial ID: "206NL6"
  Driver: "usblp"
  Driver Modules: "usblp"
  Device File: /dev/usb/lp0
  Device Number: char 180:0
  Speed: 12 Mbps
  Module Alias: "usb:v04A9p1069d0102dc00dsc00dp00ic07isc01ip02"
  Driver Info #0:
    Driver Status: usblp is active
    Driver Activation Cmd: "modprobe usblp"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #11 (Hub)
Run Code Online (Sandbox Code Playgroud)

(Fedora 14)

% lsb_release -a|grep Desc
Description:    Fedora release 14 (Laughlin)

% hwinfo --usb
...
...
09: USB 00.0: 10e00 Chipcard Reader
  [Created at usb.122]
  Unique ID: Bgjr.EgDcOidyXjF
  Parent ID: FKGF.0j9+vWlqL56
  SysFS ID: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0
  SysFS BusID: 2-1.5:1.0
  Hardware Class: chipcard
  Model: "Lenovo Integrated Smart Card Reader"
  Hotplug: USB
  Vendor: usb 0x17ef "Lenovo"
  Device: usb 0x1003 "Integrated Smart Card Reader"
  Revision: "1.00"
  Driver: "usbfs"
  Driver Modules: "usbcore"
  Speed: 12 Mbps
  Module Alias: "usb:v17EFp1003d0100dc00dsc00dp00ic0Bisc00ip00"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #6 (Hub)
Run Code Online (Sandbox Code Playgroud)

lsbusb -v -t

(Ubuntu 12.04)

% lsusb -v -t
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/2p, 12M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 4: Dev 3, If 0, Class=hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 5, If 0, Class=stor., Driver=usb-storage, 480M
        |__ Port 4: Dev 4, If 0, Class=print, Driver=usblp, 12M
Run Code Online (Sandbox Code Playgroud)

(Fedora 14)

% lsusb -v -t
Bus#  2
`-Dev#   1 Vendor 0x1d6b Product 0x0002
  `-Dev#   2 Vendor 0x8087 Product 0x0020
    |-Dev#   3 Vendor 0x046d Product 0xc521
    `-Dev#   4 Vendor 0x17ef Product 0x1003
Bus#  1
`-Dev#   1 Vendor 0x1d6b Product 0x0002
  `-Dev#   2 Vendor 0x8087 Product 0x0020
Run Code Online (Sandbox Code Playgroud)

那么有什么作用呢?

只是一个普通的老人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
Run Code Online (Sandbox Code Playgroud)

注意:应该注意,这似乎没有显示端口可以提供的最大数量,而是设备可以在它所连接的给定端口上提取的最大数量。

补充评论

另外我应该提到,这hwinfo不是适用于我的特定 Fedora 版本的标准包。我必须在 Fedora 上为自己下载编译


Ale*_*ski 6

所有的答案都是错误的。除了使用“可变USB 负载测试仪”并启动它直到电压降至 4V 或 VBUS 因“端口过流”而断开连接之外,无法确定特定 USB 端口可以提供多少电流消息,或整个 PC 重置并重新启动。在此处输入图片说明

每个设计(笔记本电脑、台式机)对于如何提供 VBUS 都有自己的想法。有些使用带有预设限流器的高侧开关,有些使用具有无法控制的翻转阈值范围的可复位多保险丝,有些什么都不用,只是直接连接到内部 +5V 待机电压轨,可能有一个“组合”多保险丝用于所有端口。

所有软件工具都是基于设备的正式报告,可能完全关闭,与现实无关,不可能真正显示端口的最大潜力。