raspberrypi / firmware

This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware.
5.18k stars 1.68k forks source link

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

Closed juliangilbey closed 11 years ago

juliangilbey commented 12 years ago

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 commented 12 years ago

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 commented 12 years ago

"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 commented 12 years ago

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 commented 12 years ago

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

piadam commented 12 years ago

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 commented 12 years ago

Same problem here, any news for this?

mf2hd commented 12 years ago

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 commented 11 years ago

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 commented 11 years ago

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

camillo777 commented 11 years ago

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 commented 11 years ago

Try fiq_split branch

camillo777 commented 11 years ago

@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 commented 11 years ago

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: gordon@raspberrypi.org W: www.raspberrypi.org

From: camillo777 notifications@github.com<mailto:notifications@github.com> Reply-To: raspberrypi/firmware reply@reply.github.com<mailto:reply@reply.github.com> Date: Monday, 24 June 2013 10:34 To: raspberrypi/firmware firmware@noreply.github.com<mailto:firmware@noreply.github.com> Cc: Gordon Hollingworth gordon@raspberrypi.org<mailto:gordon@raspberrypi.org> 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/raspberrypi/firmware/issues/64#issuecomment-19897123.

camillo777 commented 11 years ago

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

ghollingworth commented 11 years ago

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: gordon@raspberrypi.org W: www.raspberrypi.org

From: camillo777 notifications@github.com<mailto:notifications@github.com> Reply-To: raspberrypi/firmware reply@reply.github.com<mailto:reply@reply.github.com> Date: Monday, 24 June 2013 11:42 To: raspberrypi/firmware firmware@noreply.github.com<mailto:firmware@noreply.github.com> Cc: Gordon Hollingworth gordon@raspberrypi.org<mailto:gordon@raspberrypi.org> 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/raspberrypi/firmware/issues/64#issuecomment-19899842.

camillo777 commented 11 years ago

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 commented 11 years ago

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

Gordon

ElScotto commented 11 years ago

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 commented 11 years ago

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 commented 11 years ago

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 commented 11 years ago

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 commented 11 years ago

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 commented 11 years ago

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 commented 11 years ago

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?

slafferty commented 11 years ago

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.

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 commented 11 years ago

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

Thanks

Gordon

slafferty commented 11 years ago

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 commented 11 years ago

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

ghost commented 11 years ago

As I mentioned above - I am happy to test and this one is the one I have: http://www.amazon.co.uk/gp/product/B00DCO9YVM/ref=oh_details_o01_s00_i00?ie=UTF8&psc=1 Its much cheaper (at £21.97) so maybe a good hub to get USB3 working. The hub connection to the PI doesn't back power the PI so I had to use a microusb cable from the hub back into the PI to get it working. The odd thing is that the first 1-3 ports seem to work ok but then some of the other ports don't work.

Can people that have these usb hubs try each one of the ports?

I have a spare PI and happy to help test any new firmwares etc as needed.

Thanks guys !

Mark

slimjim2234 commented 11 years ago

RPi B running Raspbian 3.9.11+

I have this usb 3.0 hub http://www.ianker.com/support-c11-g197.html with the same -71 issue. I can send you the hub, 3 different cables i used for the host port, and my pi if you'd like for testing purposes. Or i will be more than happy to collaborate on this issue to get this solved.

As stated in my above post, no matter what 2.0 peripheral i plug into one of the 7 3.0 hub ports (not the charging ports), they will result as a "device descriptor read/64, error -71" I've tried numerous combinations using: a powered 2.0 7-port http://www.amazon.com/Rosewill-Ports-Power-Adapter-RHB-320/dp/B003WM7RXG/ref=sr_1_2?s=electronics&ie=UTF8&qid=1375892141&sr=1-2&keywords=rosewill+7-port+hub

a non-powered 2.0 4-port http://www.amazon.com/Belkin-USB-2-0-4-Port-Ultra-Mini/dp/B000Q8UAWY/ref=sr_1_1?s=electronics&ie=UTF8&qid=1375892204&sr=1-1&keywords=belkin+4+port

and a powered 3.0 7-port http://www.amazon.com/Release-Anker%C2%AE-Uspeed-7-Port-Charge-Only/dp/B00B7GAE98/ref=sr_1_1?s=electronics&ie=UTF8&qid=1375892226&sr=1-1&keywords=anker+7+port

Still the error populates whenever i try to plug a 2.0 device into the 3.0 hub. But the other 2.0 hubs work flawlessly.

ghollingworth commented 11 years ago

Fastest way to a resolution would be to send us one (because our admin assistant isn't around and as engineers we're about as useful as a chocolate teapot when it comes to ordering / buying things!) then we should be able to look at it...

Send one to:

Raspberry Pi, Mount Pleasant House, Mount Pleasant, Cambridge CB3 0RN

And make sure you add return instructions and I'll make sure you get everything back... I'm assuming it's a problem with the way the hub works rather than a problem with the Pi or power so just the offending hub should be fine... Also can you send the SDCard just to make sure we can reproduce the problem (in case it's something we've already been working on we want to make sure we can analyse it)

Thanks

Gordon

ghost commented 11 years ago

Just to confirm - shall I send mine in also? Its based on the VIA VL812 Chipset so would imagine there are others effected also.

I can post tomorrow ?

slimjim2234 commented 11 years ago

I really would like to do that, however the UPS shipping costs would exceed $100. Unfortunately I don't have that kind of money to throw around... What i can do is give you my remote ssh login for analysis. could you reply to me at slimjim2234@gmail.com?

ghost commented 11 years ago

I can send my one in - I'm guessing its maybe a common issue with these USB3 / VIA chipsets.

I'll pop mine in the post tomorrow (i'm in the UK so post isn't anything to be worried about) and happy to help.

Mark

Update: I have wrapped up mine with a test SD card, cables etc and will post to you Gordon tomorrow.. Thanks!

slafferty commented 11 years ago

Just to rule it out, I upgraded the VL812's firmware to 8285, which was the latest I could find out in the wild... and same behavior still exists. :/

ghollingworth commented 11 years ago

That would be great if you could... Just means we could have a look this week rather than wait for next week

Gordon

On 7 Aug 2013, at 19:22, "markcarline" notifications@github.com<mailto:notifications@github.com> wrote:

I can send my one in - I'm guessing its maybe a common issue with these USB3 / VIA chipsets.

I'll pop mine in the post tomorrow (i'm in the UK so post isn't anything to be worried about) and happy to help.

Mark

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

P33M commented 11 years ago

We've received @markcarline's hub and I spent a while today investigating.

It seems that this hub is a 3-tier cascade of 4-port hubs. The last port on each is chained to the next hub, so 1-3 are on hub 1, 4-6 are on hub 2 and 7-10 are on hub 3.

Your packaged wifi dongle works a lot better in the first 3 ports, has trouble in normal operation in the next 3 and is unrecognised in the last 4. Transaction errors are apparent - from the USB analyser it looks like the downstream devices aren't receiving data properly.

ghost commented 11 years ago

ok thanks @P33M - nice to know you got it.

P33M commented 11 years ago

So yes, your hub behaves badly.

The key is the number of cascaded hubs you have connected to the Pi, and/or the chipset manufacturer. The Pi starts to miss received packets (that the device sends, ACK for example) if you have more than a certain critical number of repeaters between the device and the Pi.

I can replicate this behaviour using 4 cascaded USB2.0 hubs (including the SMSC9512 hub). The Pi starts to ignore valid packets.

Your hub is definitely cascaded - you have 3x 4 port hubs chained to each other.

lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 29, If 0, Class=hub, Driver=hub/5p, 480M
        |__ Port 1: Dev 30, If 0, Class=vend., Driver=smsc95xx, 480M
        |__ Port 3: Dev 31, If 0, Class=HID, Driver=usbhid, 1.5M
        |__ Port 4: Dev 32, If 0, Class=hub, Driver=hub/4p, 480M
            |__ Port 4: Dev 34, If 0, Class=hub, Driver=hub/4p, 480M
               ** Last hub does not enumerate **
        |__ Port 5: Dev 33, If 0, Class=HID, Driver=usbhid, 1.5M

In your USB3.0 hub case, when I plugged it directly into a Model A, all 3 hubs would enumerate but devices would be broken in the last 4 ports. Devices were usable in 1-6 however. With the USB3.0 hub plugged into a model B (actually I use a SMSC evaluation board + model A) then only the first two hubs enumerate, and devices only work in the first 3 ports.

USB Spec says that up to 5 hubs can be cascaded and that a device or host must correctly respond with a 12-bit SYNC field. Hubs must also not nibble more than 4 bits of the SYNC field. I have a feeling that a) your USB3.0 hub nibbles more than it should do when operating at USB2.0 speeds b) The Pi's PHY is ignoring too many bits of the SYNC field when it's being received.

To bottom this out, we need to actually look at the datastream on an individual bit-level basis - the analyzer we have access to is packet-only at USB2.0 speeds.

P33M commented 11 years ago

@markcarline

I know what the root cause is, or at least the major contributing factors. I would like to introduce your hub + the Pi to a USB2.0 compliance testing tool (which is not in our possession and needs organising a field trip to go and use). Do you need the hub back urgently?

ghost commented 11 years ago

@P33M - sure no problem and glad I can help. Just keep me updated on this thread with any news.

btw - This hub works fine when used in a USB3 port on my Windows 7 PC. I didn't however try it on a USB2 port and i'm wondering if that would have been a good test. Is it worth trying it on a USB2 port on a Windows 7 PC ?

Eggness commented 11 years ago

I've got the same issue and have been wracking my brain the last couple days trying to figure it out. I am using a model A with the latest build of Raspbian from raspberrypi.org, and a D-Link Hi-Speed USB 2.0 7-Port Powered Hub (DUB-H7).

I've opened up the hub to poke around and investigate further. (please excuse the ugly soldering job I did!) pi1 pi2 pi3 pi4

I'm kind of learning this stuff as I go, so feel free to tell me if I'm wrong about something.

What I have figured out about my hub:

Looking in to the software side of the things (not exactly my specialty) I found that some people have had similar issues in other versions of Linux for their PC's. (Ex: http://ubuntuforums.org/showthread.php?t=797789) The solution in these cases tends to be lowering the power consumption of the devices (doesn't seem to apply here), or altering the 'usbcore' parameters by running something like

 sudo echo Y > /sys/module/usbcore/parameters/old_scheme_first

or

 sudo echo -1 >/sys/module/usbcore/parameters/autosuspend

Since I barely know enough command line to get by I think I'd be more comfortable with someone else investigating these solutions further.

Let me know if there is anything else I can do to help!

P33M commented 11 years ago

Autosuspend support currently isn't compiled into the kernel, so it's not that.

sudo lsusb -t with the hub plugged in will tell you if there is indeed a cascade of 2x 4-port hubs inside that single IC (that would be really bad - a silicon copy-paste job).

ghost commented 11 years ago

@P33M - Just wondered what the next steps are with this ?

Do you still need my hub etc ?

Thanks

Mark

P33M commented 11 years ago

In lieu of field trip we're going to get a protocol analyser hired. I will pick this issue up again next week - so much to do, so little time.

If you really need it back, then we can just buy our own.

ghost commented 11 years ago

No it's ok keep it as long as you need it for this issue. Just glad to help with one very small part of the amazing PI story. Mark

nimbos commented 11 years ago

Just curious if there's been any progress on this. I am in the same boat, same USB hub, etc.

eivindbohler commented 11 years ago

I have an Orico P10-U3 that displays the exact same symptoms. I am also very curious if you've made any progress on finding out what stops these hubs from working with the Pi. Thanks!

P33M commented 11 years ago

I have now got the analyzer on an end-to-end analysis of the bits on-wire as they go through hubs.

This explains why only a very low number of cascaded USB3.0 hubs will work. At the present moment in time, we can only support a single USB3.0 hub chip plugged into the Pi (A or B). Cascaded USB3.0 hubs (as visible in lsusb -t) will not work.

The use of cascaded USB2.0 hubs is possible, but it is strongly recommended that a maximum of 2 cascaded hub chips on a model B/3 cascaded hub chips on model A is observed.

We are looking at the root cause; we may have to pass this up the food chain to Broadcom.

P33M commented 11 years ago

@markcarline

Your hub has been most useful. I've completed testing with it and so it's time I returned it.

In the notes you put in the package, you mentioned a USB-micro lead - which seems to have been absorbed into the pile of various ones on my desk.

Does it have any distinguishing characteristics?