Re: USB devices fail unnecessarily on unpowered hubs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 1 Jun 2006, Andrew Morton wrote:

> On Thu, 01 Jun 2006 02:18:20 -0700
> David Liontooth <[email protected]> wrote:
> 
> > Starting with 2.6.16, some USB devices fail unnecessarily on unpowered
> > hubs. Alan Stern explains,
> > 
> > "The idea is that the kernel now keeps track of USB power budgets.  When a 
> > bus-powered device requires more current than its upstream hub is capable 
> > of providing, the kernel will not configure it.
> > 
> > Computers' USB ports are capable of providing a full 500 mA, so devices
> > plugged directly into the computer will work okay.  However unpowered hubs
> > can provide only 100 mA to each port.  Some devices require (or claim they
> > require) more current than that.  As a result, they don't get configured
> > when plugged into an unpowered hub."
> > 
> > http://www.mail-archive.com/[email protected]/msg43480.html
> > 
> > This is generating a lot of grief and appears to be unnecessarily
> > strict. Common USB sticks with a MaxPower value just above 100mA, for
> > instance, typically work fine on unpowered hubs supplying 100mA.
> > 
> > Is a more user-friendly solution possible? Could the shortfall
> > information be passed to udev, which would allow rules to be written per
> > device?

I'm not sure whether we create a udev event when a new USB device is
connected.  If we don't, we certainly could.  Although this event wouldn't
contain information about the power budget shortfall, it would contain
vendor and product IDs.  These would be sufficiently specific for a custom
udev script to install the desired configuration.

> Yes, it sounds like we're being non-real-worldly here.  This change
> apparently broke things.  Did it actually fix anything as well?

Yes.  At least, I think so.  The change directly addresses a complaint 
filed here:

http://marc.theaimsgroup.com/?l=linux-usb-users&m=112438431718562&w=2

I haven't checked back with the original poster to make sure that his
problem has been solved, but presumably it has been.

As an alternative, we could allow an "over-budget window" of say 10%.  
Configurations that exceed the power budget by less than that amount would
still be accepted.  I don't know whether this would be enough of a help,
however.  I've heard of devices that claim to require 200 mA, for
instance.  It just doesn't seem right to enable them when the upstream hub
can only provide 100 mA.

Alan Stern

-
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]
  Powered by Linux