Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: xhci power to external device
gdt%lexort.com@localhost (Greg Troxel) writes:
>Rhialto <rhialto%falu.nl@localhost> writes:
>> I have an external harddisk, like so: (output from usbdevs -v)
>>
>> Controller /dev/usb0:
>> addr 0: super speed, self powered, config 1, xHCI Root Hub(0x0000), vendor 8086(0x8086), rev 1.00(0x0100)
>> port 1 addr 9: super speed, power 224 mA, config 1, Elements 25A1(0x25a1), Western Digital(0x1058), rev 10.14(0x1014), serial xxxxxxxxxxxxxxxxxxxxxxxx
>>
>> I have some reason to believe it does nog get enough power from the
>> port. Is the "power 224 mA" how the current is actually limited? Or can
>> the device draw more without telling us?
>My impression is:
> USB ports and devices are limited to 500 mA, per the spec. (But,
> there are various schemes for USB chargers to communciate that they
> support more, so devices can be willing to draw more)
USB2 ports are limited to 100mA and devices may communicate that they
want more (up to 500mA) and then are signaled to draw more power.
USB3 is similar but allows other limits, 150mA default and 900mA max.
There are also USB3 options that allow even more power, e.g. for
USB chargers.
That information is mostly used to calculate the power budget, If
it would be exceeded, the device isn't allowed to draw more power.
Many USB controllers cannot limit the power output, so even when
a device is denied the extra power (or didn't even dare to communicate
and is only allowed the minimum) it could just draw higher currents.
Some USB controllers that can limit the power output only switch between
minimum and unlimited. That's also allowed so that a USB2 device asking
for 500mA can actually draw 900mA on a USB3 port without violating the
spec.
> I have never heard of a port that can throttle what it supplies.
Throttling would cause the voltage to drop, which of course happens
when a device tries to draw more current than the port can provide.
A USB controller that limits power output on a port does this to
protect the port.
--
--
Michael van Elst
Internet: mlelstv%serpens.de@localhost
"A potential Snark may lurk in every tree."
Home |
Main Index |
Thread Index |
Old Index