On Mon, 15 May 2006, Daniel Drake wrote:

> Hi,
> Several Gentoo users are reporting that usb-storage devices no longer
> work on 2.6.16 with unpowered hubs.
> Here's some logs:
> hub 2-2:1.0: state 7 ports 3 chg 0000 evt 0002
> hub 2-2:1.0: port 1, status 0101, change 0001, 12 Mb/s
> hub 2-2:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
> usb 2-2.1: new full speed USB device using uhci_hcd and address 7
> usb 2-2.1: not running at top speed; connect to a high speed hub
> usb 2-2.1: default language 0x0409
> usb 2-2.1: new device strings: Mfr=1, Product=2, SerialNumber=3
> usb 2-2.1: Product: Store 'n' Go
> usb 2-2.1: Manufacturer: Verbatim
> usb 2-2.1: SerialNumber: 0CD177515381390D
> usb 2-2.1: uevent
> usb 2-2.1: device is bus-powered
> usb 2-2.1: no configuration chosen from 1 choice
> drivers/usb/core/inode.c: creating file '007'
> hub 2-2:1.0: 100mA power budget left
> hub 2-2:1.0: state 7 ports 3 chg 0000 evt 0002
> This device works in the same hub in 2.6.15, and works when plugged 
> directly into a USB port on both 2.6.15 and 2.6.16. The problem has been 
> reproduced on 2.6.17-rc4.
> I'm working on getting a complete report filed at the kernel bugzilla, 
> but thought I would throw some attention to it here first, is it a known 
> issue?
> The Gentoo bug report is at
> https://bugs.gentoo.org/show_bug.cgi?id=132721
> but it's a bit of a mess..

A couple of other people have made similar reports.  It's not really a
regression; it is correct behavior that was not implemented until 2.6.16.

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.

There are several possible ways to deal with this.  The device can be 
plugged directly into the computer instead of into the hub.  The 
unpowered hub can be replaced with a powered hub.

Or, if the users don't mind living a little dangerously, they can 
configure the devices manually.  As root, do something like this:

        echo -n 1 >/sys/bus/usb/devices/2-2.1/bConfigurationValue

The "2-2.1" must be replaced with the correct path to the USB device, and 
the "1" must be replaced with the correct configuration value (which can 
be found in the output from "lsusb -v", along with the device's power 

Alan Stern

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
To unsubscribe, use the last form field at:

Reply via email to