What is error -32 on USB Enumeration

424 views
Skip to first unread message

George Ioakimedes

unread,
Aug 22, 2014, 5:09:49 PM8/22/14
to linux...@googlegroups.com
Still working on my USB Hub design and am getting the following errors when a USB device is plugged into the hub. If nothing is plugged into the hub when it enumerates I'm not seeing any errors.

[ 3706.062887] hub 1-1:1.0: USB hub found
[ 3706.066260] hub 1-1:1.0: 4 ports detected
[ 3743.649498] usb 1-1.1: new full-speed USB device number 32 using sw-ehci
[ 3743.748361] usb 1-1.1: device descriptor read/64, error -32
[ 3743.938323] usb 1-1.1: device descriptor read/64, error -32
[ 3744.129482] usb 1-1.1: new full-speed USB device number 33 using sw-ehci
[ 3744.228350] usb 1-1.1: device descriptor read/64, error -32
[ 3744.418356] usb 1-1.1: device descriptor read/64, error -32
[ 3744.609483] usb 1-1.1: new full-speed USB device number 34 using sw-ehci
[ 3745.028667] usb 1-1.1: device not accepting address 34, error -32
[ 3745.129479] usb 1-1.1: new full-speed USB device number 35 using sw-ehci
[ 3745.548664] usb 1-1.1: device not accepting address 35, error -32
[ 3745.554038] hub 1-1:1.0: unable to enumerate USB device on port 1


Can someone help to track down where in the code branch that is generating this error. I've searched the internet but seen conflicting answers so I figured it would be best to rely directly on the source code so I know for sure what the error -32 is trying to tell me.

Thanks,
George

jons...@gmail.com

unread,
Aug 22, 2014, 6:11:04 PM8/22/14
to linux-sunxi
You are failing in hub_port_init() in usb/core.c. But something is
really broken. That is not a normal failure mode. Error -32 is
-EPIPE. That's the error you get when a USB transaction fails.

You can use Wireshark to sniff the USB ports.
> --
> You received this message because you are subscribed to the Google Groups
> "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to linux-sunxi...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Jon Smirl
jons...@gmail.com

jons...@gmail.com

unread,
Aug 22, 2014, 6:15:49 PM8/22/14
to linux-sunxi
Try posting to the linux-usb list. That's where the experts are.

--
Jon Smirl
jons...@gmail.com

George Ioakimedes

unread,
Aug 22, 2014, 6:27:55 PM8/22/14
to linux...@googlegroups.com
Thanks Jon but that wasn't the easy answer I was looking for! Everything seems fine on the hardware side but obviously I've missed something. Off to the linux-usb list...

George Ioakimedes

unread,
Aug 22, 2014, 8:38:24 PM8/22/14
to linux...@googlegroups.com
Well I've got usbmon compiled into the kernel and wireshark running but it didn't give me a whole lot more to go on than what you had found. It's been a long time since I've had to decode USB traffic so I'll have to dust off the cobwebs. I do see the GET DESCRIPTOR request coming from the host followed by the response from the hub which is tagged with "malformed packet"

This happens for a few transactions followed by some SET FEATURE requests which appear to process successfully but I see that same broken pipe error on some set address transactions.

So much fun bringing up new hardware ...
Reply all
Reply to author
Forward
0 new messages