I have an Apple aluminium keyboard with an integrated hub. On Mac OS X, I'm able to connect both my mouse and a USB pen drive while on Linux, the power limit is exceeded when connecting more than one device.
I'll be very happy if you are able to figure out why Linux is unable to reconfigure the USB port to supply more power.
Here is the output from lsusb -vvv
:
Bus 003 Device 012: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x05ac Apple, Inc.
idProduct 0x1006 Hub in Aluminum Keyboard
bcdDevice 96.15
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 300mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Update: The hub works perfectly if devices are enabled explicitly by entering the following command:
root@jonathans-imac:~# echo -n 1 > /sys/bus/usb/devices/1-1.2.1/bConfigurationValue
Visit http://lwn.net/Articles/186331/ to get more information on this issue.