Re: [linux-usb-devel] Re: USB devices fail unnecessarily on unpowered hubs

From: Greg KH
Date: Thu Jun 01 2006 - 12:45:18 EST


On Thu, Jun 01, 2006 at 10:58:43AM -0400, Alan Stern wrote:
> On Thu, 1 Jun 2006, Andrew Morton wrote:
>
> > On Thu, 01 Jun 2006 02:18:20 -0700
> > David Liontooth <liontooth@xxxxxxxxxx> 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/linux-usb-devel@xxxxxxxxxxxxxxxxxxxxx/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.

Yes we do. It's of the class "usb_device" and you can write a single
udev rule to override the power test if you really want to.

Of course I don't recommend someone doing this, as it is violating the
USB power rules, and it is a good thing that we are finally testing for
them.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/