David Liontooth wrote:
It's clearly a good thing to be testing for this. As Alan points out,
100mA is the maximum permitted pre-configuration draw, so what a device
draws when plugged in is not informative.
However, obeying the USB power rules is not an end in itself -- the
relevant question is the minimum power the device requires to operate
correctly and without damage.
The MaxPower value does not appear to be a reliable index of this. My
USB stick has a MaxPower value of 178mA and works flawlessly off an
unpowered hub. Unfortunately devices don't seem to tell us what their
minimum power requirements are, so we need more flexibility in writing
rules for this.
The fact it appears to work on an unpowered hub doesn't mean anything.
Why would the manufacturer specify it can consume 178 mA if it couldn't
consume that much under some conditions? Have you measured it? What
makes you think that the hub can supply that much power on all ports at
the same time despite not being specified to do so?
Trying to say "Well, it says it needs this much, but it probably doesn't
really NEED that much.." is an unreliable guessing game.
udev could surely pick up on the MaxPower value and tolerate up to a
100% underrun on USB flash drives. That would likely still 90% of the
pain right there, maybe all of it.
What are the reasons not to do this? What happens if a USB stick is
underpowered to one unit? Nothing? Slower transmission? Data loss? Flash
memory destruction? If it's just speed, it's a price well worth paying.
If the device can't get enough power, all kinds of bad stuff can happen.
This is the reason why USB power budgeting is part of the standard in
the first place. The kernel has no business ignoring such restrictions,
not without a clearly-marked-as-dangerous user choice.
This is a great opportunity for a small exercise in empathy, utilizing
that little long-neglected mirror neuron. Thousands of USB sticks
inexplicably go dead in people's familiar hubs on keyboards and desks;
Linux kernel coders dream sweet dreams of not violating USB power rules.
I appreciate Andrew's support for a real-worldly solution.
Keep in mind that Windows will not permit the USB device to work in such
configurations either. Windows always did the right thing here. Linux
did not do the right thing before, and now it does.
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]