Skip to content

USB 3.0 hub fails to pass through USB 2.0 devices (ID 2109:3431) #64

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
juliangilbey opened this issue Jul 4, 2012 · 92 comments
Closed
Assignees
Labels

Comments

@juliangilbey
Copy link

I have attached a powered USB Hub to my Raspberry Pi. It shows up with lsusb:
Bus 001 Device 005: ID 2109:3431

When I attach this device to my Linux amd64 machine, running Linux 3.2.20, it is able to also show connected (USB 2.0?) devices to the machine, for example:
Bus 002 Device 004: ID 0458:002e KYE Systems Corp. (Mouse Systems)

However, when I connect it to the Pi, it does not show the attached devices, which is rather unfortunate.

I imagine that this might be the same bug as in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/783097 but then again, maybe not.

On connecting the USB device to the hub, the following messages appear in dmesg (and also in /var/log/kern.log):

[ 1113.345672] usb 1-1.2.1: new low speed USB device number 10 using dwc_otg
[ 1113.425796] usb 1-1.2.1: device descriptor read/64, error -71
[ 1113.615712] usb 1-1.2.1: device descriptor read/64, error -71
[ 1113.805702] usb 1-1.2.1: new low speed USB device number 11 using dwc_otg
[ 1113.885695] usb 1-1.2.1: device descriptor read/64, error -71
[ 1114.075687] usb 1-1.2.1: device descriptor read/64, error -71
[ 1114.265688] usb 1-1.2.1: new low speed USB device number 12 using dwc_otg
[ 1114.685460] usb 1-1.2.1: device not accepting address 12, error -71
[ 1114.765669] usb 1-1.2.1: new low speed USB device number 13 using dwc_otg
[ 1115.185455] usb 1-1.2.1: device not accepting address 13, error -71
[ 1115.185811] hub 1-1.2:1.0: unable to enumerate USB device on port 1

Any clues?

Thanks!

Julian

@juliangilbey
Copy link
Author

I should have added the kernel messages from my amd64 system for comparison:

[266584.352254] usb 2-3.3: new low-speed USB device number 5 using ehci_hcd
[266584.451243] usb 2-3.3: New USB device found, idVendor=0458, idProduct=002e
[266584.451250] usb 2-3.3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[266584.451255] usb 2-3.3: Product: NetScroll + Traveler
[266584.451258] usb 2-3.3: Manufacturer: Genius
[...]

@GriffenJBS
Copy link

"error -71" is a protocol error, every time I've seen that in the logs, it's been from low power. Your USB device is trying to draw over 140mA from the USB host, which is fuse protected to not allow more. Use a powered USB hub to power the extra devices.

@juliangilbey
Copy link
Author

That sounds bizarre - I can't understand how it could be true in this case. The devices work fine when attached to the Pi directly (they're a keyboard and an infrared detector), but they don't work when connected to this USB3 powered hub! Also, they work OK on a different machine; would that also have a power protection?

@ghollingworth
Copy link
Contributor

Can you try this again with the latest kernel, the messages are similar to the ones that we were seeing without microframe scheduling...

@ghost ghost assigned ghollingworth Sep 10, 2012
@piadam
Copy link

piadam commented Sep 20, 2012

Same here. I am using wheezy 2012-08-16.
When I connect a small USB1 hub between my USB3 hub and the USB1 device I see a ready-status led (on the USB1-hub) 'ON' but as soon as the Rpi activates the USB-bus, somewhere halfway the bootprocess, the ready-led goes 'OFF' and the USB1 devices are unreachable.

@mf2hd
Copy link

mf2hd commented Oct 23, 2012

Same problem here, any news for this?

@mf2hd
Copy link

mf2hd commented Oct 23, 2012

As in 23.10.2012 with Linux raspberrypi 3.2.27+ #160 PREEMPT Mon Sep 17 23:18:42 BST 2012 armv6l GNU/Linux symptoms are same.
lsusb returns only ID 2109:3431 and all devices behind hub are undetected. Also same kind of errors exists in the dmesg/kern.log as jdgilbey mentioned before.

@TobyM10
Copy link

TobyM10 commented Nov 11, 2012

After having the device descriptor error with my keyboard. I decided to take the advice of GriffenJBS and purchase a powered usb hub. But I still receive the same error.
My keyboard is a Microsoft Keyboard 600 listed as compatible with the pi on the Wikipedia site
I know The powered usb hub and keyboard are both working as I've tested them with 2 different laptops. Has anybody got any suggestions or experiencing similar problems?

@willrobinson
Copy link

Exact same issue here - USB3 hub is powered, USB laser mouse blinks on and then goes off.

@camillo777
Copy link

Same here:
[183628.080159] hid-generic 0003:046D:C00E.000C: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-bcm2708_usb-1.2/input0
[183644.109026] usb 1-1.2: USB disconnect, device number 15
[183644.399465] usb 1-1.2: new low-speed USB device number 16 using dwc_otg
[183644.506031] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00e
[183644.506065] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[183644.506083] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[183644.506097] usb 1-1.2: Manufacturer: Logitech
[183644.517179] input: Logitech USB-PS/2 Optical Mouse as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/input/input12
[183644.520673] hid-generic 0003:046D:C00E.000D: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-bcm2708_usb-1.2/input0
[214150.861570] smsc95xx 1-1.1:1.0: eth0: kevent 2 may have been dropped
[214150.891409] smsc95xx 1-1.1:1.0: eth0: kevent 2 may have been dropped
[412337.450798] usb 1-1.2: USB disconnect, device number 16
[412343.570010] usb 1-1.2: new high-speed USB device number 17 using dwc_otg
[412343.671045] usb 1-1.2: New USB device found, idVendor=058f, idProduct=6254
[412343.671077] usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[412343.671095] usb 1-1.2: Product: USB2.0Hub
[412343.681594] hub 1-1.2:1.0: USB hub found
[412343.681917] hub 1-1.2:1.0: 4 ports detected
[412348.370162] usb 1-1.2.1: new low-speed USB device number 18 using dwc_otg
[412349.100266] usb 1-1.2.1: device descriptor read/64, error -71
[412349.550186] usb 1-1.2.1: device descriptor read/64, error -71
[412349.740211] usb 1-1.2.1: new low-speed USB device number 19 using dwc_otg
[412350.510190] usb 1-1.2.1: device descriptor read/64, error -71
[412350.740225] usb 1-1.2.1: device descriptor read/64, error -71
[412350.930277] usb 1-1.2.1: new low-speed USB device number 20 using dwc_otg
[412351.400051] usb 1-1.2.1: device not accepting address 20, error -71
[412351.480207] usb 1-1.2.1: new low-speed USB device number 21 using dwc_otg
[412351.980064] usb 1-1.2.1: device not accepting address 21, error -71
[412351.980273] hub 1-1.2:1.0: unable to enumerate USB device on port 1
[...]

@ghollingworth
Copy link
Contributor

Try fiq_split branch

@camillo777
Copy link

@ghollingworth
Hi and thank you for the tip; I have downloaded branch files, but sorry for the lame question... how do I apply this new update to the raspberry? Thnak you!

@ghollingworth
Copy link
Contributor

Just do a

sudo BRANCH=fiq_split rpi-update

Gordon

Director of Engineering, Raspberry Pi (Trading) Limited
T: +44 (0) 1223 322633
M: +44 (0) 7450 946289
E: [email protected]
W: www.raspberrypi.org

From: camillo777 <[email protected]mailto:[email protected]>
Reply-To: raspberrypi/firmware <[email protected]mailto:[email protected]>
Date: Monday, 24 June 2013 10:34
To: raspberrypi/firmware <[email protected]mailto:[email protected]>
Cc: Gordon Hollingworth <[email protected]mailto:[email protected]>
Subject: Re: [firmware] USB 3.0 hub fails to pass through USB 2.0 devices (ID 2109:3431) (#64)

@ghollingworthhttps://github.com/ghollingworth
Hi and thank you for the tip; I have downloaded branch files, but sorry for the lame question... how do I apply this new update to the raspberry? Thnak you!

Reply to this email directly or view it on GitHubhttps://github.com//issues/64#issuecomment-19897123.

@camillo777
Copy link

@ghollingworth
The new branch seems to have crashed the RPi before the end of the update!

@ghollingworth
Copy link
Contributor

Don't know what you've done, but this has never been seen before... Are you running NOOBs? Just wondering whether it's an incompatibility with that? Might need to switch to an image first...

Gordon

Director of Engineering, Raspberry Pi (Trading) Limited
T: +44 (0) 1223 322633
M: +44 (0) 7450 946289
E: [email protected]
W: www.raspberrypi.org

From: camillo777 <[email protected]mailto:[email protected]>
Reply-To: raspberrypi/firmware <[email protected]mailto:[email protected]>
Date: Monday, 24 June 2013 11:42
To: raspberrypi/firmware <[email protected]mailto:[email protected]>
Cc: Gordon Hollingworth <[email protected]mailto:[email protected]>
Subject: Re: [firmware] USB 3.0 hub fails to pass through USB 2.0 devices (ID 2109:3431) (#64)

@ghollingworthhttps://github.com/ghollingworth
The new branch seems to have crashed the RPi before the end of the update!

Reply to this email directly or view it on GitHubhttps://github.com//issues/64#issuecomment-19899842.

@camillo777
Copy link

Yes I am using latest NOOB and latest Raspbian.
This is the last ssh output; last time crashed while calculating delta:
pi@raspberrypi ~ $ sudo BRANCH=fiq_split rpi-update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS
*** Performing self-update
--2013-06-23 17:37:23-- https://github.com/Hexxeh/rpi-update/raw/master/rpi-update
Resolving proxywsg.mediaset.it (proxywsg.mediaset.it)... 10.51.254.30
Connecting to proxywsg.mediaset.it (proxywsg.mediaset.it)|10.51.254.30|:8080... connected.
Proxy request sent, awaiting response... 302 Found
Location: https://raw.github.com/Hexxeh/rpi-update/master/rpi-update [following]
--2013-06-23 17:37:29-- https://raw.github.com/Hexxeh/rpi-update/master/rpi-update
Connecting to proxywsg.mediaset.it (proxywsg.mediaset.it)|10.51.254.30|:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 6386 (6.2K) [text/plain]
Saving to: `/usr/bin/rpi-update.tmp'

100%[===========================================================>] 6,386 --.-K/s in 0.001s

2013-06-23 17:37:35 (4.44 MB/s) - `/usr/bin/rpi-update.tmp' saved [6386/6386]

*** Relaunching after update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS
*** ARM/GPU split is now defined in /boot/config.txt using the gpu_mem option!
*** Setting up firmware (this may take a few minutes)
Cloning into '//root/.rpi-firmware'...
remote: Counting objects: 5986, done.
remote: Compressing objects: 100% (4650/4650), done.
Write failed: Broken pipe5237/5986), 62.53 MiB | 1.42 MiB/s

@ghollingworth
Copy link
Contributor

Looks like it ran out of disk space or network broke or something, didn't really get very far

Gordon

@ElScotto
Copy link

I successfully ran a 'BRANCH=fiq_split /root/rpi-update' on my Arch Linux RPi.
No errors encountered, and after reboot, this is the status of kernel and firmware:

# /opt/vc/bin/vcgencmd version && uname -vmr
May 29 2013 16:10:19
Copyright (c) 2012 Broadcom
version 53261d4ede3ba2b660e4201aca9bd4544565a3ce (clean) (release)
3.8.13+ #460 PREEMPT Fri May 31 13:09:02 BST 2013 armv6l

The rpi-update "downgraded" me from the BRANCH=next version I was running (3.9.7+ kernel), but other than that, no problems have (as yet) been encountered.
I still have to try hooking up USB1.1 and USB2.0 devices to the USB3.0 powered hub. I'll do that in the next day or two.

In case camillo's problem was related to insufficient free space, here's my 'df -h' output:

# df -h
Filesystem                      Size  Used Avail Use% Mounted on
/dev/root                       4.0G  2.6G  1.2G  69% /
devtmpfs                        211M     0  211M   0% /dev
tmpfs                           233M     0  233M   0% /dev/shm
tmpfs                           233M  376K  233M   1% /run
tmpfs                           233M     0  233M   0% /sys/fs/cgroup
tmpfs                           233M     0  233M   0% /tmp
/dev/mmcblk0p1                   90M   27M   64M  30% /boot

@camillo777
Copy link

Tried another time; this time the upgrade seems fine:
Linux raspberrypi 3.8.13+ #460 PREEMPT Fri May 31 13:09:02 BST 2013 armv6l GNU/Linux
but I see mouse (usb1.2) device (direct connected, no hub) continuously connect/disconnect and HDMI screen flashes to black:
[ 129.914091] hid-generic 0003:046D:C00E.008E: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-bcm2708_usb-1.2/input0
[ 130.071820] usb 1-1.2: USB disconnect, device number 58
[ 130.312628] usb 1-1.2: new low-speed USB device number 59 using dwc_otg
[ 130.422825] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00e
[ 130.422859] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 130.422875] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[ 130.422889] usb 1-1.2: Manufacturer: Logitech
[ 130.432147] input: Logitech USB-PS/2 Optical Mouse as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/input/input142
[ 130.435051] hid-generic 0003:046D:C00E.008F: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-bcm2708_usb-1.2/input0
[ 130.583883] usb 1-1.2: USB disconnect, device number 59

pi@raspberrypi ~ $ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/3p, 480M
|__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M
pi@raspberrypi ~ $ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/3p, 480M
|__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M
|__ Port 2: Dev 26, If 0, Class=HID, Driver=usbhid, 1.5M

@ghollingworth
Copy link
Contributor

Not really sure why it would start disconnecting...

Might be worth running through a powered hub to check if it's just a power issue (that's the kind of thing you'd expect, the USB power drops out when you enable the mouse). Can't make any assumptions about the power based on power supply since there is a polyfuse on the PCB which could make enough of a difference, also you'll not see the short term reduction in the power supply

Gordon

@ElScotto
Copy link

Here's the USB details with the 'BRANCH=fiq_split" kernel & firmware:

# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/3p, 480M
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
        |__ Port 2: Dev 4, If 0, Class=Hub, Driver=hub/4p, 12M
            |__ Port 1: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 1: Dev 7, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 4: Dev 11, If 0, Class=Human Interface Device, Driver=usbfs, 1.5M
        |__ Port 3: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 4: Dev 8, If 0, Class=Mass Storage, Driver=usb-storage, 480M

dmesg output:

# dmesg -T | grep -i usb
[Mon Jun 24 19:48:40 2013] usbcore: registered new interface driver usbfs
[Mon Jun 24 19:48:40 2013] usbcore: registered new interface driver hub
[Mon Jun 24 19:48:40 2013] usbcore: registered new device driver usb
[Mon Jun 24 19:48:41 2013] usbcore: registered new interface driver smsc95xx
[Mon Jun 24 19:48:41 2013] dwc_otg bcm2708_usb: DWC OTG Controller
[Mon Jun 24 19:48:41 2013] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[Mon Jun 24 19:48:41 2013] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[Mon Jun 24 19:48:41 2013] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[Mon Jun 24 19:48:41 2013] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[Mon Jun 24 19:48:41 2013] usb usb1: Product: DWC OTG Controller
[Mon Jun 24 19:48:41 2013] usb usb1: Manufacturer: Linux 3.8.13+ dwc_otg_hcd
[Mon Jun 24 19:48:41 2013] usb usb1: SerialNumber: bcm2708_usb
[Mon Jun 24 19:48:41 2013] hub 1-0:1.0: USB hub found
[Mon Jun 24 19:48:41 2013] Initializing USB Mass Storage driver...
[Mon Jun 24 19:48:41 2013] usbcore: registered new interface driver usb-storage
[Mon Jun 24 19:48:41 2013] USB Mass Storage support registered.
[Mon Jun 24 19:48:42 2013] usbcore: registered new interface driver usbhid
[Mon Jun 24 19:48:42 2013] usbhid: USB HID core driver
[Mon Jun 24 19:48:42 2013] usb 1-1: new high-speed USB device number 2 using dwc_otg
[Mon Jun 24 19:48:42 2013] usb 1-1: New USB device found, idVendor=0424, idProduct=9512
[Mon Jun 24 19:48:42 2013] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[Mon Jun 24 19:48:42 2013] hub 1-1:1.0: USB hub found
[Mon Jun 24 19:48:42 2013] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[Mon Jun 24 19:48:43 2013] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[Mon Jun 24 19:48:43 2013] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[Mon Jun 24 19:48:43 2013] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:6d:f2:15
[Mon Jun 24 19:48:43 2013] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[Mon Jun 24 19:48:43 2013] usb 1-1.2: New USB device found, idVendor=0451, idProduct=1446
[Mon Jun 24 19:48:43 2013] usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[Mon Jun 24 19:48:43 2013] hub 1-1.2:1.0: USB hub found
[Mon Jun 24 19:48:43 2013] usb 1-1.3: new high-speed USB device number 5 using dwc_otg
[Mon Jun 24 19:48:43 2013] usb 1-1.3: New USB device found, idVendor=2109, idProduct=0811
[Mon Jun 24 19:48:43 2013] usb 1-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[Mon Jun 24 19:48:43 2013] usb 1-1.3: Product: USB2.0 Hub
[Mon Jun 24 19:48:43 2013] hub 1-1.3:1.0: USB hub found
[Mon Jun 24 19:48:43 2013] usb 1-1.2.4: new low-speed USB device number 6 using dwc_otg
[Mon Jun 24 19:48:44 2013] usb 1-1.2.4: New USB device found, idVendor=0764, idProduct=0501
[Mon Jun 24 19:48:44 2013] usb 1-1.2.4: New USB device strings: Mfr=3, Product=1, SerialNumber=0
[Mon Jun 24 19:48:44 2013] usb 1-1.2.4: Product: UPS VALUE
[Mon Jun 24 19:48:44 2013] usb 1-1.2.4: Manufacturer: CPS
[Mon Jun 24 19:48:44 2013] hid-generic 0003:0764:0501.0001: hiddev0,hidraw0: USB HID v1.10 Device [CPS UPS VALUE] on usb-bcm2708_usb-1.2.4/input0
[Mon Jun 24 19:48:44 2013] usb 1-1.2.1: new low-speed USB device number 7 using dwc_otg
[Mon Jun 24 19:48:44 2013] usb 1-1.2.1: New USB device found, idVendor=045e, idProduct=00b0
[Mon Jun 24 19:48:44 2013] usb 1-1.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[Mon Jun 24 19:48:44 2013] usb 1-1.2.1: Product: Microsoft® Digital Media Pro Keyboard
[Mon Jun 24 19:48:44 2013] usb 1-1.2.1: Manufacturer: Microsoft
[Mon Jun 24 19:48:44 2013] input: Microsoft Microsoft® Digital Media Pro Keyboard as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/input/input0
[Mon Jun 24 19:48:44 2013] hid-generic 0003:045E:00B0.0002: input,hidraw1: USB HID v1.11 Keyboard [Microsoft Microsoft® Digital Media Pro Keyboard] on usb-bcm2708_usb-1.2.1/input0
[Mon Jun 24 19:48:44 2013] input: Microsoft Microsoft® Digital Media Pro Keyboard as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.1/input/input1
[Mon Jun 24 19:48:44 2013] hid-generic 0003:045E:00B0.0003: input,hidraw2: USB HID v1.11 Device [Microsoft Microsoft® Digital Media Pro Keyboard] on usb-bcm2708_usb-1.2.1/input1
[Mon Jun 24 19:48:44 2013] usb 1-1.3.4: new high-speed USB device number 8 using dwc_otg
[Mon Jun 24 19:48:45 2013] usb 1-1.3.4: New USB device found, idVendor=0480, idProduct=a007
[Mon Jun 24 19:48:45 2013] usb 1-1.3.4: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[Mon Jun 24 19:48:45 2013] usb 1-1.3.4: Product: External USB 3.0
[Mon Jun 24 19:48:45 2013] usb 1-1.3.4: Manufacturer: Toshiba
[Mon Jun 24 19:48:45 2013] usb 1-1.3.4: SerialNumber: 20130119006747F
[Mon Jun 24 19:48:45 2013] scsi0 : usb-storage 1-1.3.4:1.0
[Mon Jun 24 19:48:46 2013] scsi 0:0:0:0: Direct-Access     Toshiba  External USB 3.0 0    PQ: 0 ANSI: 6
[Mon Jun 24 19:48:51 2013] usb 1-1.2.4: USB disconnect, device number 6
[Mon Jun 24 19:48:53 2013] usb 1-1.2.4: new low-speed USB device number 9 using dwc_otg
[Mon Jun 24 19:48:53 2013] usb 1-1.2.4: New USB device found, idVendor=0764, idProduct=0501
[Mon Jun 24 19:48:53 2013] usb 1-1.2.4: New USB device strings: Mfr=3, Product=1, SerialNumber=0
[Mon Jun 24 19:48:53 2013] usb 1-1.2.4: Product: UPS VALUE
[Mon Jun 24 19:48:53 2013] usb 1-1.2.4: Manufacturer: CPS
[Mon Jun 24 19:48:53 2013] hid-generic 0003:0764:0501.0004: hiddev0,hidraw0: USB HID v1.10 Device [CPS UPS VALUE] on usb-bcm2708_usb-1.2.4/input0
[Mon Jun 24 19:49:00 2013] usb 1-1.2.4: USB disconnect, device number 9
[Mon Jun 24 19:49:02 2013] usb 1-1.2.4: new low-speed USB device number 10 using dwc_otg
[Mon Jun 24 19:49:02 2013] usb 1-1.2.4: New USB device found, idVendor=0764, idProduct=0501
[Mon Jun 24 19:49:02 2013] usb 1-1.2.4: New USB device strings: Mfr=3, Product=1, SerialNumber=0
[Mon Jun 24 19:49:02 2013] usb 1-1.2.4: Product: UPS VALUE
[Mon Jun 24 19:49:02 2013] usb 1-1.2.4: Manufacturer: CPS
[Mon Jun 24 19:49:02 2013] hid-generic 0003:0764:0501.0005: hiddev0,hidraw0: USB HID v1.10 Device [CPS UPS VALUE] on usb-bcm2708_usb-1.2.4/input0
[Mon Jun 24 19:49:09 2013] usb 1-1.2.4: USB disconnect, device number 10
[Mon Jun 24 19:49:11 2013] usb 1-1.2.4: new low-speed USB device number 11 using dwc_otg
[Mon Jun 24 19:49:11 2013] usb 1-1.2.4: New USB device found, idVendor=0764, idProduct=0501
[Mon Jun 24 19:49:11 2013] usb 1-1.2.4: New USB device strings: Mfr=3, Product=1, SerialNumber=0
[Mon Jun 24 19:49:11 2013] usb 1-1.2.4: Product: UPS VALUE
[Mon Jun 24 19:49:11 2013] usb 1-1.2.4: Manufacturer: CPS
[Mon Jun 24 19:49:12 2013] hid-generic 0003:0764:0501.0006: hiddev0,hidraw0: USB HID v1.10 Device [CPS UPS VALUE] on usb-bcm2708_usb-1.2.4/input0

The repeats of the UPS devices occur until the NUT (Network UPS Tools) drivers and server services start up.
Until they complete their initialisation, the HID/USB interface stays in a connect/identify/disconnect cycle for the attached UPS device.

@camillo777
Copy link

Tried with more stable power on branch fiq_split, but with same result:
[ 4.016336] udevd[154]: starting version 175
[ 9.522375] EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)
[ 10.005953] EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)
[ 19.853834] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[ 25.200000] Adding 102396k swap on /var/swap. Priority:-1 extents:1 across:102396k SS
[ 127.255521] usb 1-1.2: USB disconnect, device number 4
[ 129.282942] usb 1-1.2: new high-speed USB device number 5 using dwc_otg
[ 129.383841] usb 1-1.2: New USB device found, idVendor=058f, idProduct=6254
[ 129.383872] usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 129.383889] usb 1-1.2: Product: USB2.0Hub
[ 129.394290] hub 1-1.2:1.0: USB hub found
[ 129.394602] hub 1-1.2:1.0: 4 ports detected
[ 133.062833] usb 1-1.2.1: new low-speed USB device number 6 using dwc_otg
[ 133.162821] usb 1-1.2.1: device descriptor read/64, error -71
[ 133.372868] usb 1-1.2.1: device descriptor read/64, error -71
[ 133.562888] usb 1-1.2.1: new low-speed USB device number 7 using dwc_otg
[ 133.662905] usb 1-1.2.1: device descriptor read/64, error -71
[ 133.872933] usb 1-1.2.1: device descriptor read/64, error -71
[ 134.063095] usb 1-1.2.1: new low-speed USB device number 8 using dwc_otg
[ 134.482689] usb 1-1.2.1: device not accepting address 8, error -71
[ 134.562902] usb 1-1.2.1: new low-speed USB device number 9 using dwc_otg
[ 134.982716] usb 1-1.2.1: device not accepting address 9, error -71
[ 134.982954] hub 1-1.2:1.0: unable to enumerate USB device on port 1

pi@raspberrypi ~ $ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/3p, 480M
|__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M
|__ Port 2: Dev 5, If 0, Class=hub, Driver=hub/4p, 480M

pi@raspberrypi ~ $ /opt/vc/bin/vcgencmd version && uname -vmr
May 29 2013 16:10:19
Copyright (c) 2012 Broadcom
version 53261d4ede3ba2b660e4201aca9bd4544565a3ce (clean) (release)
3.8.13+ #460 PREEMPT Fri May 31 13:09:02 BST 2013 armv6l

Any more ideas?
Thank you!

@slimjim2234
Copy link

Same issue here:
Rpi model B 512 running raspbian with 3.9.10+ kernel
I have an anker 7 port powered usb 3.0 hub with 2 charging ports and i've tried many many cable and configurations between my 3.0 powered hub, 2.0 powered hub, and 2.0 unpowered hub. After lots of testing with a multimeter and hours of trial and error, the problem still remains with error -71. Not a single device I connect (2.0 flash drive, mouse, keyboard, wifi stick) is enumerated on the 3.0 hub. I wish there was more that i could try out but i've run out of options. In my opinion it appears to be a software problem.

@ghost
Copy link

ghost commented Jul 17, 2013

I just received one of these:
TeckNet® USB 3.0 10 Port Hub with 48W Power Adapter and 3ft USB 3.0 Cable [VIA VL812 Chipset]
from Amazon:
http://www.amazon.co.uk/gp/product/B00DCO9YVM/ref=oh_details_o00_s00_i00?ie=UTF8&psc=1
The manual says its a "Broway BW-U3038A" using a VIA VL812 chipset.

I sometimes see these "device descriptor read/64, error -71" error messages (like the ones above) but only when the PI is "back power" from the HUB via a USB to MicroUSB cable on USB hub 10, ports 1, 2 and 3 on the HUB seem to be fine. No matter what I try I can't get the PI to recognize ports 4 to 10 on the hub

When I do a "lsusb" it reports a device name of "2109:2812".

I tried the "fiq_split" but it seemed to crash during boot.

I'm happy to help run any diags etc.

Any ideas?

@ghost ghost assigned P33M Jul 20, 2013
@slafferty
Copy link

Seeing same behavior here...

Aug 2 2013 11:53:50
Copyright (c) 2012 Broadcom
version bbd9a1d2f00a5363141715936596950ddd1757e2 (clean) (release)
3.6.11+ #518 PREEMPT Fri Aug 2 11:39:53 BST 2013 armv6l
Fully updated Raspbian via n00bs
Anker uSpeed 3 10 port hub

The hub itself seems to ID properly and come up:

[    3.172395] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[    3.283737] usb 1-1.2: New USB device found, idVendor=2109, idProduct=2812
[    3.302095] usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    3.311049] usb 1-1.2: Product: USB2.0 Hub       
[    3.330677] hub 1-1.2:1.0: USB hub found
[    3.343449] hub 1-1.2:1.0: 4 ports detected
[    3.882287] usb 1-1.2.3: new high-speed USB device number 6 using dwc_otg
[    4.023890] usb 1-1.2.3: New USB device found, idVendor=2109, idProduct=2812
[    4.040872] usb 1-1.2.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    4.072031] usb 1-1.2.3: Product: USB2.0 Hub       
[    4.091861] hub 1-1.2.3:1.0: USB hub found
[    4.112369] hub 1-1.2.3:1.0: 4 ports detected
[    4.384210] usb 1-1.2.4: new high-speed USB device number 7 using dwc_otg
[    4.523798] usb 1-1.2.4: New USB device found, idVendor=2109, idProduct=2812
[    4.542117] usb 1-1.2.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    4.574856] usb 1-1.2.4: Product: USB2.0 Hub       
[    4.600659] hub 1-1.2.4:1.0: USB hub found
[    4.618790] hub 1-1.2.4:1.0: 4 ports detected

But plugging my devices into the hub results in the same outcome every time:

[    8.912268] usb 1-1.2.3.3: new full-speed USB device number 16 using dwc_otg
[    9.012211] usb 1-1.2.3.3: device descriptor read/64, error -71
[    9.212287] usb 1-1.2.3.3: device descriptor read/64, error -71
[    9.412270] usb 1-1.2.3.3: new full-speed USB device number 17 using dwc_otg
[    9.512282] usb 1-1.2.3.3: device descriptor read/64, error -71
[    9.712350] usb 1-1.2.3.3: device descriptor read/64, error -71
[    9.922267] usb 1-1.2.3.3: new full-speed USB device number 18 using dwc_otg
[   10.342020] usb 1-1.2.3.3: device not accepting address 18, error -71
[   10.442264] usb 1-1.2.3.3: new full-speed USB device number 19 using dwc_otg
[   10.862014] usb 1-1.2.3.3: device not accepting address 19, error -71
[   10.871093] hub 1-1.2.3:1.0: unable to enumerate USB device on port 3

Regardless of port on the hub, it always tries to assign two addresses, and then blows up with the unable to enumerate.

  • Plugging device direct into pi will not work, power draw too great.
  • Swapped out the USB 3.0 hub for an old 4 port USB 2.0 hub, devices work fine with the pi.
  • Moved the entire setup (devices and usb3 hub) to another system (desktop running debian), devices work fine.
  • Plugging some other random devices into the USB 3.0 works with the pi
  • Plugging the USB 3 hub into the pi, daisychaining the USB2 off the USB3, and plugging device into the USB2, does not work
  • Tried the "fiq_split" branch mentioned above, no luck

I'm away for a couple of days, but will try any debug or trial and error suggestions that anyone wants to throw out there. ;)

@ghollingworth
Copy link
Contributor

Can you tell us the model / product ID for the hub and we'll go buy one!

Thanks

Gordon

@slafferty
Copy link

Here's the fun part (I have to laugh, or I'll cry)...

I bought mine July 19th from Amazon, they listed it as "Anker Uspeed USB 3.0 10-Port Hub with 12V 4A Power Adapter [Apple Style Aluminum Hub]" for $57. It's no longer on the site. If I go into my order history, it's still there, but clicking the item takes me to http://www.amazon.com/gp/product/B007ZWFKX8/ref=oh_details_o01_s00_i00?ie=UTF8&psc=1, but the 10port listed there appears to be different. The anker website doesn't seem to list it as a currently sold item anymore either, so I believe they've replaced it with the "9 port + 1 super mega charging port" version. :/

http://www.ianker.com/support-c11-g186.html is the exact device I have, but their tech specs leave much to be desired. :/

That said, I believe the device is OEM'd elsewhere, and I've seen it with multiple vendor names attached elsewhere (Aitech, Orico), but some seem to have the VL811 chipset, whereas what I have ID's as 2109:0812 seems to be a VIA VL812 chip from what I've been able to dig up online... (I believe the VL811 is an older variant)...

I did spy a firmware update for the VL812 that one provider is shopping around, I may plug this hub into my windows box and try that, see what happens... I hate to risk nuking a $60 hub, but if I can't use it the way I hoped (those devices, + the pi), then I'll be off to find a new solution anyway. ;)

@ghollingworth
Copy link
Contributor

Where are you based, maybe you could send it to us at PiTowers and we'll send it back once we understand the issue...

Thanks

Gordon

@fpicarougne
Copy link

I have a problem with a prolite t2735msc touchscreen monitor that seems similar to this thread pb. The monitor includes a touchscreen device and a webcam connected through a USB3 hub (inside the monitor).
When I plug the monitor onto the RPI, I have this messages :

[  290.900039] usb 1-1.2: new high-speed USB device number 11 using dwc_otg
[  291.003164] usb 1-1.2: New USB device found, idVendor=2109, idProduct=2812
[  291.003200] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  291.003216] usb 1-1.2: Product: USB2.0 Hub
[  291.003231] usb 1-1.2: Manufacturer: VIA Labs, Inc.
[  291.012023] hub 1-1.2:1.0: USB hub found
[  291.012423] hub 1-1.2:1.0: 4 ports detected
[  291.310153] usb 1-1.2.3: new high-speed USB device number 12 using dwc_otg
[  291.420227] usb 1-1.2.4: new full-speed USB device number 13 using dwc_otg
[  291.510152] usb 1-1.2.4: device descriptor read/64, error -71
[  291.710208] usb 1-1.2.4: device descriptor read/64, error -71
[  291.910241] usb 1-1.2.4: new full-speed USB device number 14 using dwc_otg
[  292.000253] usb 1-1.2.4: device descriptor read/64, error -71
[  292.200183] usb 1-1.2.4: device descriptor read/64, error -71
[  292.400162] usb 1-1.2.4: new full-speed USB device number 15 using dwc_otg
[  292.819981] usb 1-1.2.4: device not accepting address 15, error -71
[  292.910243] usb 1-1.2.4: new full-speed USB device number 16 using dwc_otg
[  293.330001] usb 1-1.2.4: device not accepting address 16, error -71
[  293.330300] hub 1-1.2:1.0: unable to enumerate USB device on port 4
[  293.580415] usb 1-1.2.3: new high-speed USB device number 17 using dwc_otg
[  294.021346] usb 1-1.2.3: New USB device found, idVendor=1bcf, idProduct=2281
[  294.021381] usb 1-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  294.021399] usb 1-1.2.3: Product: SPCA2281 Web Camera
[  294.021416] usb 1-1.2.3: Manufacturer: Sunplus IT Co
[  294.251670] uvcvideo: Found UVC 1.00 device SPCA2281 Web Camera  (1bcf:2281)
[  294.274529] input: SPCA2281 Web Camera  as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3:1.0/input/input3
[  294.347564] usb_audio: Warning! Unlikely big volume range (=4096), cval->res is probably wrong.
[  294.347600] usb_audio: [5] FU [Mic Capture Volume] ch = 1, val = 0/4096/1

lsusb -t:
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/3p, 480M
        |__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M
        |__ Port 2: Dev 4, If 0, Class=hub, Driver=hub/4p, 480M
            |__ Port 3: Dev 6, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
            |__ Port 3: Dev 6, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
            |__ Port 3: Dev 6, If 2, Class=audio, Driver=snd-usb-audio, 480M
            |__ Port 3: Dev 6, If 3, Class=audio, Driver=snd-usb-audio, 480M

Web cam is well recognized but not the touchscreen device. When I set "dwc_otg.speed=1" in "cmdline.txt", it works fine (see dmesg :)

[   51.398132] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[   51.500286] usb 1-1.2: Parent hub missing LPM exit latency info.  Power management will be impacted.
[   51.501309] usb 1-1.2: not running at top speed; connect to a high speed hub
[   51.506389] usb 1-1.2: New USB device found, idVendor=2109, idProduct=2812
[   51.506416] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   51.506433] usb 1-1.2: Product: USB2.0 Hub
[   51.506447] usb 1-1.2: Manufacturer: VIA Labs, Inc.
[   51.519532] hub 1-1.2:1.0: USB hub found
[   51.520256] hub 1-1.2:1.0: 4 ports detected
[   51.818264] usb 1-1.2.3: new full-speed USB device number 5 using dwc_otg
[   51.968220] usb 1-1.2.4: new full-speed USB device number 6 using dwc_otg
[   52.086249] usb 1-1.2.4: New USB device found, idVendor=0596, idProduct=053f
[   52.086281] usb 1-1.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   52.086297] usb 1-1.2.4: Product: 3M MicroTouch USB controller
[   52.086311] usb 1-1.2.4: Manufacturer: 3M
[   52.236572] input: 3M 3M MicroTouch USB controller as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4:1.0/input/input0
[   52.242841] hid-multitouch 0003:0596:053F.0001: input,hiddev0,hidraw0: USB HID v1.10 Pointer [3M 3M MicroTouch USB controller] on usb-bcm2708_usb-1.2.4/input0
[   52.348438] usb 1-1.2.3: new full-speed USB device number 7 using dwc_otg
[   52.624739] usb 1-1.2.3: not running at top speed; connect to a high speed hub
[   52.742765] usb 1-1.2.3: New USB device found, idVendor=1bcf, idProduct=2281
[   52.742800] usb 1-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   52.742817] usb 1-1.2.3: Product: SPCA2281 Web Camera
[   52.742832] usb 1-1.2.3: Manufacturer: Sunplus IT Co
[   53.076835] media: Linux media interface: v0.10
[   53.102099] Linux video capture interface: v2.00
[   53.147598] uvcvideo: Found UVC 1.00 device SPCA2281 Web Camera  (1bcf:2281)
[   53.173877] input: SPCA2281 Web Camera  as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3:1.0/input/input1
[   53.175412] usbcore: registered new interface driver uvcvideo
[   53.175437] USB Video Class driver (1.1.1)
[   53.317006] usb_audio: Warning! Unlikely big volume range (=4096), cval->res is probably wrong.
[   53.317040] usb_audio: [5] FU [Mic Capture Volume] ch = 1, val = 0/4096/1<6>[   53.326126] usbcore: registered new interface driver snd-usb-audio

lsusb -t :
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/3p, 12M
        |__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 12M
        |__ Port 2: Dev 4, If 0, Class=hub, Driver=hub/4p, 12M
            |__ Port 3: Dev 7, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 12M
            |__ Port 3: Dev 7, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 12M
            |__ Port 3: Dev 7, If 2, Class=audio, Driver=snd-usb-audio, 12M
            |__ Port 3: Dev 7, If 3, Class=audio, Driver=snd-usb-audio, 12M
            |__ Port 4: Dev 6, If 0, Class=HID, Driver=usbhid, 12M

the problem is that I need to use USB2 device simultaneously with this touchscreen. Do you know how I can solve my problem?
Thank's a lot in advance

@P33M
Copy link

P33M commented Nov 19, 2013

The touchscreen is a full-speed device.

See #64 (comment) for why it does not work.

@fpicarougne
Copy link

Sorry, but there is something I don't understand. In this case, I can't connect the touchscreen interface on a USB2 hub because it's done internally in the monitor. So where is the bug? A configuration in the kernel or something the RPI chip cannot do?
I point out that on the test I mentioned above, the only thing that was plugged into the RPI is the USB cable from the monitor.

@P33M
Copy link

P33M commented Nov 19, 2013

Internally to the monitor, you have a USB3.0 hub with a number of non-removable peripherals connected - namely the touchscreen controller and the webcam. As you said, the webcam enumerates properly because USB3.0 hubs behave much the same as USB2.0 hubs when plugged into a USB2.0 bus. The same principle applies for issuing split transactions to talk to a low- or full-speed device connected to a USB3.0 hub.

As stated in my comment, we transmit a USB2.0-compliant request (verified using a protocol analyzer) to the hub to issue a split transaction to the low-speed device connected. It is ignored by the hub and it does not respond to the request at all. Given that virtually every USB2.0 hub out there responds correctly to our requests, the bug is within the VIA chipset.

@fpicarougne
Copy link

Thank you for your answer.
But sorry again for my lack of understanding of USB programming but is it a solution to transmit (when a USB2 command fail) a USB1 command (as done with the option dwc_otg.speed=1)? Perhaps my question is stupid and the behavior of commands depends on the initial connection of the hub...

@P33M
Copy link

P33M commented Nov 19, 2013

Only USB2.0 high-speed traffic is allowed on any USB2.0 bus. If you set dwc_otg.speed=1, the entire bus speed is dropped to USB1.1 full-speed which all USB2.0 devices (and by implication USB3.0 hubs) must support. The issue of asking the USB3.0 hub to perform split transactions goes away in this mode: The Pi simply talks directly to the device.

Annoyingly the maximum bandwidth in speed=1 mode is 12mbit/s - which dramatically limits the resolution that most webcams will operate at.

@SpiRaiL
Copy link

SpiRaiL commented Sep 25, 2014

Hi everyone.
I run only USB1.1 devices on USB3 hubs on Rpi.
I have varified that adding dwc_otg.speed=1 to /boot/cmdline.txt (As suggested by fpicarougne)
does in-fact make my devices useable.
Asside from a lower buss speed (not important to me) is there anything else to be worried about? ie: stabiltiy?

@silverdr
Copy link

As stated in my comment, we transmit a USB2.0-compliant request (verified using a protocol analyzer) to the hub to issue a split transaction to the low-speed device connected. It is ignored by the hub and it does not respond to the request at all. Given that virtually every USB2.0 hub out there responds correctly to our requests, the bug is within the VIA chipset.

I just encountered the same problem as several people here and I still don't understand why the very same hub, with the very same set of devices plugged into it, doesn't exhibit the problem with any other computer. With the Pi - error -71...

@buliwyf42
Copy link

@SpiRaiL is the man. This worked for me instantly. Thanks

@ghollingworth
Copy link
Contributor

@silverdr The only difference (and we've checked) is timing, we send it with a slightly longer delay (although still within the USB 2.0 spec). That is the only difference, and that's why it's a bug in the VIA chipset

Gordon

@silverdr
Copy link

@ghollingworth I see. But if we know how to work this bug around, wouldn't it be more.. productive to have it worked around. I might be missing something though.

@P33M
Copy link

P33M commented Sep 30, 2014

Quoting myself:
"USB1.1 devices plugged into a 3.0 hub on the Pi are not something a gpu firmware or driver change will fix."

Since then, I've confirmed that it is indeed a bug with the VIA chipset (by substituting a different USB3.0 hub chip).

The workaround is to purchase a USB3.0 hub that integrates silicon from a different chip vendor, or get VIA to admit their spec noncompliance (no prizes for guessing which will be easier). SMSC/Microchip based USB3.0 hub IP works with the OTG port on the Pi, I have yet to see any other vendor USB3.0 hub silicon in interoperability tests with the Pi.

@silverdr
Copy link

Quoting ghollingworth "we send it with a slightly longer delay". I understand the word "we" as a keyword here. If "we" can send it with longer delay, can't "we" send it with a shorter delay? Unless there are hardware limitations in the game here, of course.

@ghollingworth
Copy link
Contributor

No, the delay is a delay in hardware not software

@silverdr
Copy link

That explains, thank you.

@slimjim2234
Copy link

As P33M has stated before, the main issue appears to be a bug in the hub firmware.

I currently have an older Anker 7-port usb 3.0 hub (purchased July 2013) as specified in one of my earlier posts and have confirmed that a combination of a firmware upgrade on the hub and the raspberry pi (rpi-update) fixed the USB -71 issue. I no longer have usb 1.1, 2.0, or 3.0 errors. I can use any usb device all day long without troubles and have been doing so for almost a year. If you have purchased one of these USB hubs with the VIA 812 chipsets on or after October 2013 you should be in the clear. Otherwise attempt to install new firmware on your hub from this site: http://plugable.com/2013/10/30/plugable-usb-3-0-hub-firmware-upgrades2
My Anker hub worked perfectly fine with the plugable-branded firmware and fixed everything.

@P33M
Copy link

P33M commented Oct 3, 2014

I have an Anker 7-port USB3.0 hub using VIA812 chipsets.

I tried both the Anker and Plugable update programs and they either crashed or didn't find the hub at all ... headdesk. I shall retry on a different machine with a different xHCI controller.

The firmware revision on my hub is 9801. It appears that unless you have a VIA812-B2 chipset then this firmware change is required - the firmware shipped by the Anker updater appears to be 8591. The Plugable updater appears to be 8581.

@Thireus
Copy link

Thireus commented Nov 25, 2014

Just bought a Anker 7-port with VIA812-B2 chipset.
rpi-update was not enough; Adding dwc_otg.speed=1 to /boot/cmdline.txt works :)

@P33M
Copy link

P33M commented Nov 25, 2014

For reference, can you post the output of lsusb -v with the hub plugged in?

@Thireus
Copy link

Thireus commented Nov 25, 2014

Sure, here it is (with dwc_otg.speed=1 to /boot/cmdline.txt hack and NO plugged device):

lsusb -v

Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x0424 Standard Microsystems Corp.
  idProduct          0x9514 
  bcdDevice            2.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                2mA
    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             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             5
  wHubCharacteristic 0x000d
    Per-port power switching
    Compound device
    Per-port overcurrent protection
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent      1 milli Ampere
  DeviceRemovable    0x02
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0103 power enable connect
   Port 5: 0000.0100 power
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         2 TT per port
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            3.12
  iManufacturer           3 Linux 3.12.33+ dwc_otg_hcd
  iProduct                2 DWC OTG Controller
  iSerial                 1 bcm2708_usb
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    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     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0008
    Ganged power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
Device Status:     0x0001
  Self Powered

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol         1 
  bMaxPacketSize0        64
  idVendor           0x0424 Standard Microsystems Corp.
  idProduct          0xec00 
  bcdDevice            2.00
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         0 
  bDeviceProtocol         1 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 001 Device 004: ID 2109:2812  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x2109 
  idProduct          0x2812 
  bcdDevice            b.e0
  iManufacturer           1 VIA Labs, Inc.         
  iProduct                2 USB2.0 Hub             
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    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             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x00e9
    Per-port power switching
    Per-port overcurrent protection
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.1100 indicator power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0103 power enable connect
Device Status:     0x0001
  Self Powered

Bus 001 Device 005: ID 2109:2812  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x2109 
  idProduct          0x2812 
  bcdDevice            b.e0
  iManufacturer           1 VIA Labs, Inc.         
  iProduct                2 USB2.0 Hub             
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    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             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x01e9
    Per-port power switching
    Per-port overcurrent protection
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
Device Status:     0x0001
  Self Powered

The LED for USB PORT1 of the hub keeps blinking (I guess it is to say the hub is connected to a USB 2.0 port and not working at full speed).

  • WITHOUT the dwc_otg.speed=1 to /boot/cmdline.txt hack (no blinking LED). This is what happens in the logs:
Nov 25 19:08:44 raspberrypi kernel: [   42.542455] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
Nov 25 19:08:44 raspberrypi kernel: [   42.645697] usb 1-1.4: New USB device found, idVendor=2109, idProduct=2812
Nov 25 19:08:44 raspberrypi kernel: [   42.645733] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 25 19:08:44 raspberrypi kernel: [   42.645750] usb 1-1.4: Product: USB2.0 Hub             
Nov 25 19:08:44 raspberrypi kernel: [   42.645764] usb 1-1.4: Manufacturer: VIA Labs, Inc.         
Nov 25 19:08:44 raspberrypi kernel: [   42.654636] hub 1-1.4:1.0: USB hub found
Nov 25 19:08:44 raspberrypi kernel: [   42.655421] hub 1-1.4:1.0: 4 ports detected
Nov 25 19:08:44 raspberrypi kernel: [   42.952499] usb 1-1.4.4: new high-speed USB device number 5 using dwc_otg
Nov 25 19:08:44 raspberrypi kernel: [   43.066257] usb 1-1.4.4: New USB device found, idVendor=2109, idProduct=2812
Nov 25 19:08:44 raspberrypi kernel: [   43.066292] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 25 19:08:44 raspberrypi kernel: [   43.066308] usb 1-1.4.4: Product: USB2.0 Hub             
Nov 25 19:08:44 raspberrypi kernel: [   43.066323] usb 1-1.4.4: Manufacturer: VIA Labs, Inc.         
Nov 25 19:08:44 raspberrypi kernel: [   43.067377] hub 1-1.4.4:1.0: USB hub found
Nov 25 19:08:44 raspberrypi kernel: [   43.067741] hub 1-1.4.4:1.0: 4 ports detected

When I plug a device (device is NOT working):

Nov 25 19:08:51 raspberrypi kernel: [   49.762635] usb 1-1.4.1: new full-speed USB device number 6 using dwc_otg
Nov 25 19:08:51 raspberrypi kernel: [   50.252595] usb 1-1.4.1: new full-speed USB device number 7 using dwc_otg
Nov 25 19:08:52 raspberrypi kernel: [   50.742671] usb 1-1.4.1: new full-speed USB device number 8 using dwc_otg
Nov 25 19:08:52 raspberrypi kernel: [   51.252613] usb 1-1.4.1: new full-speed USB device number 9 using dwc_otg
  • WITH the hack dwc_otg.speed=1 to /boot/cmdline.txt hack:
Nov 25 19:06:22 raspberrypi kernel: [  439.498378] usb 1-1.4: new full-speed USB device number 7 using dwc_otg
Nov 25 19:06:22 raspberrypi kernel: [  439.599421] usb 1-1.4: Parent hub missing LPM exit latency info.  Power management will be impacted.
Nov 25 19:06:22 raspberrypi kernel: [  439.599905] usb 1-1.4: not running at top speed; connect to a high speed hub
Nov 25 19:06:22 raspberrypi kernel: [  439.602371] usb 1-1.4: New USB device found, idVendor=2109, idProduct=2812
Nov 25 19:06:22 raspberrypi kernel: [  439.602398] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 25 19:06:22 raspberrypi kernel: [  439.602414] usb 1-1.4: Product: USB2.0 Hub             
Nov 25 19:06:22 raspberrypi kernel: [  439.602428] usb 1-1.4: Manufacturer: VIA Labs, Inc.         
Nov 25 19:06:22 raspberrypi kernel: [  439.610604] hub 1-1.4:1.0: USB hub found
Nov 25 19:06:22 raspberrypi kernel: [  439.611011] hub 1-1.4:1.0: 4 ports detected
Nov 25 19:06:22 raspberrypi kernel: [  439.948388] usb 1-1.4.4: new full-speed USB device number 8 using dwc_otg
Nov 25 19:06:22 raspberrypi kernel: [  440.099554] usb 1-1.4.4: Parent hub missing LPM exit latency info.  Power management will be impacted.
Nov 25 19:06:22 raspberrypi kernel: [  440.100036] usb 1-1.4.4: not running at top speed; connect to a high speed hub
Nov 25 19:06:22 raspberrypi kernel: [  440.102790] usb 1-1.4.4: New USB device found, idVendor=2109, idProduct=2812
Nov 25 19:06:22 raspberrypi kernel: [  440.102817] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 25 19:06:22 raspberrypi kernel: [  440.102834] usb 1-1.4.4: Product: USB2.0 Hub             
Nov 25 19:06:22 raspberrypi kernel: [  440.102849] usb 1-1.4.4: Manufacturer: VIA Labs, Inc.         
Nov 25 19:06:22 raspberrypi kernel: [  440.103985] hub 1-1.4.4:1.0: USB hub found
Nov 25 19:06:22 raspberrypi kernel: [  440.104456] hub 1-1.4.4:1.0: 4 ports detected

When I plug a device (device is working):

Nov 25 19:06:33 raspberrypi kernel: [  450.488523] usb 1-1.4.1: new full-speed USB device number 9 using dwc_otg
Nov 25 19:06:33 raspberrypi kernel: [  450.641386] usb 1-1.4.1: New USB device found, idVendor=1fc9, idProduct=0083
Nov 25 19:06:33 raspberrypi kernel: [  450.641424] usb 1-1.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 25 19:06:33 raspberrypi kernel: [  450.641471] usb 1-1.4.1: Product: VCOM Port
Nov 25 19:06:33 raspberrypi kernel: [  450.641489] usb 1-1.4.1: Manufacturer: NXP
Nov 25 19:06:33 raspberrypi kernel: [  450.641504] usb 1-1.4.1: SerialNumber: NXP-77
Nov 25 19:06:33 raspberrypi kernel: [  450.652003] cdc_acm 1-1.4.1:1.0: ttyACM0: USB ACM device

Model is Anker® AH221 USB 3.0 7-Port Hub. I haven't tried to plug USB 1.1 to it.
This USB Hub backfeeds the RPI (confirmed, the RPI doesn't boot).
Hope it helps.

@Thireus
Copy link

Thireus commented Dec 29, 2014

Hi everyone,

Using the dwc_otg.speed=1 hack my Anker® AH221 USB 3.0 7-Port Hub device works well.

But I'm having a new issue now. I now have two of this Anker USB Hub, on which I have plugged 8 USB 2.0 devices in total. No matter how I arrange those 8 devices on those two hubs, I am not able to make my devices work together. It seems that the limit is 6 devices at the same time (if I plug one or two more, then all the already plugged devices stop working properly, by that I mean they connect/disconnect one after the other to keep a total of 6 simultaneous units working at the same time).

I have verified that this issue is not related to power usage, since this is not happening on my OSX system when I have those 2 Ankers and 8 devices connected to them (they work perfectly well on OSX).

Any idea why the Raspberry Pi cannot handle more than 6 simultaneous connected USB devices?

Edit: Sounds like this is the issue

  1. Single-TT USB hubs
    USB2.0 and 3.0 hubs have a mechanism for talking to Full- or Low-speed devices connected to their downstream ports called a Transaction Translator. This device buffers high-speed requests from the host (i.e. the Pi) and transmits them at Full- or Low-speed to the downstream device. Two configurations of hub are allowed by the USB specification: Single-TT (one TT for all ports) and Multi-TT (one TT per port).
    Because of the OTG hardware limitations, if too many Full- or Low-speed devices are plugged into a single-TT hub, unreliable operation of the devices may occur. It is recommended to use a Multi-TT hub to interface with multiple lower-speed devices.
    As a workaround, spread lower-speed devices out between the Pi's own USB port and the single-TT hub.

@fdominguezr
Copy link

Hi!

I'm having the same issues with a Raspberry Pi B+ running OpenELEC 5.0.0 (kernel Linux 3.17.7) with Kodi 14.0 and the CoolBox 7 ports Hub USB, it has 4 ports 3.0 and 3 ports 2.0, but it fail to deliver consistent compatibility even with 2.0 devices...

hub-usb-7-puertos

It can uses a WiFi dongle via a USB 2.0 hub port (but does not work in any 3.0 ports), but this hub does not work with an external HDD, nor with a wireless keyboard by USB. This USB hub also connects fine a usb memory stick at USB 2.0 and 3.0 ports.

I suspect it is because it uses chipset with famous ID 2109:2812...

USB devices conected right now are:

OpenELEC:/ # lsusb
Bus 001 Device 008: ID 059b:047a Iomega Corp. Select Portable Hard Drive
Bus 001 Device 007: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 006: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 004: ID 2109:2812
Bus 001 Device 005: ID 062a:4101 Creative Labs
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Branches for USB devices are:

OpenELEC:/ # lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 4 80M
|__ Port 2: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12 M
|__ Port 2: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 12 M
|__ Port 3: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 4: Dev 7, If 0, Class=Vendor Specific Class, Driver=rtl 8192cu, 480M
|__ Port 5: Dev 8, If 0, Class=Mass Storage, Driver=usb-storage, 480M

And lsusb -v gives for this device this information just in case it helps:

Bus 001 Device 010: ID 2109:2812
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x2109
idProduct 0x2812
bcdDevice 90.80
iManufacturer 1 VIA Labs, Inc.
iProduct 2 USB2.0 Hub
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
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
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x00e0
Ganged power switching
Ganged overcurrent protection
TT think time 32 FS bits
Port indicators
bPwrOn2PwrGood 50 * 2 milli seconds
bHubContrCurrent 100 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0503 highspeed power enable connect
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 42
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000002
HIRD Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 4 micro seconds
bU2DevExitLat 231 micro seconds
Container ID Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 4
bReserved 0
ContainerID {2d207069-441e-de4c-8f73-78ec5964eca7}
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered

Recap: I just wrote to CoolBox support giving all this information, let's see what they can do... If you have any idea please don't hesitate to tell me. Thanks! ;-)

Kind regards,
Francisco

@SpiRaiL
Copy link

SpiRaiL commented Feb 3, 2015

Does anyone know if the new Pi 2 will still have this issue?

@P33M
Copy link

P33M commented Feb 3, 2015

The USB phy is identical between BCM2835 and BCM2836.

@Thireus
Copy link

Thireus commented Feb 12, 2015

@SpiRaiL, yes same issue with the Pi 2. :(

@Thireus
Copy link

Thireus commented Mar 6, 2015

I've just tried to put a USB 2.0 hub in-between the USB 3.0 hub and the Raspberry Pi. Result is exactly the same as if there were no USB 2.0 hub.

Still stuck with these "device descriptor read/64, error -71" error if dwc_otg.speed=1 is not set. But I really want to use my USB 3.0 hub at high speed...

@Thireus
Copy link

Thireus commented Apr 7, 2015

Desperate bump...

@P33M
Copy link

P33M commented Apr 8, 2015

There is no fix that can be applied to the Pi (save for the dwc_otg.speed=1 sledgehammer) that will allow the use of full- and low-speed devices behind USB3.0 hubs with the ViA chipset without a firmware upgrade/fix from the silicon vendor, as explained multiple times previously.

@raspberrypi raspberrypi locked and limited conversation to collaborators Apr 8, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests