On Wed, 6 Sep 2006, Lisa Y. wrote:
> Hi,
>
> I'm running testusb.c on the host and gadgetfs+usb.c on the device.
> However testing seems to give "error 71".
>
> What does error 71 from the test mean?
> What might be causing it, and is it fixable?
You can look up the meaning of these error numbers by a two-step process.
First, find the symbolic string associated with the number, as listed in
include/asm-generic/errno*.h. You'll see that 71 is EPROTO.
Second, look at Documentation/usb/error-codes.txt. It lists the error
strings used by the USB stack, together with the situations that can cause
them. The entry for EPROTO says that it can be any of several low-level
USB protocol errors. In general it means that the device did not respond
when the host sent it a packet.
The most likely cause is a bug in your device controller driver.
> Thank you.
>
> Below are some additional details :
>
> ----------------------------
> Host side (linux 2.6.15):
> ----------------------------
>
> $ sudo ./testusb -D /proc/bus/usb/002/003
> unknown speed /proc/bus/usb/002/003
> /proc/bus/usb/002/003 test 0, 0.000006 secs
> /proc/bus/usb/002/003 test 1 --> 71 (error 71)
> /proc/bus/usb/002/003 test 2 --> 71 (error 71)
> /proc/bus/usb/002/003 test 3 --> 71 (error 71)
> /proc/bus/usb/002/003 test 4 --> 71 (error 71)
> /proc/bus/usb/002/003 test 5 --> 71 (error 71)
> /proc/bus/usb/002/003 test 6 --> 71 (error 71)
> /proc/bus/usb/002/003 test 7 --> 71 (error 71)
> /proc/bus/usb/002/003 test 8 --> 71 (error 71)
> /proc/bus/usb/002/003 test 9, 0.753977 secs
> /proc/bus/usb/002/003 test 10, 2.364921 secs
>
> Test 11 crashes the host (while the gadget is unaffected).
Perhaps that has been fixed in a later kernel version.
> $ ./usbtree
>
> /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
> /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
> |__ Port 1: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M
> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M
> |__ Port 1: Dev 3, If 0, Class=vend., Driver=usbtest, 480M
> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
>
> $ cat /proc/bus/usb/devices
>
> T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
> D: Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
> P: Vendor=0525 ProdID=a4a4 Rev= 2.12
> S: Manufacturer=Licensed to Code, LLC
> S:
> SerialNumber=ppkqalcfkru32i4p5awhwkbx5zjbye3gy2folohnbd3ulveiffqfblglzcmz3ykC:*
> #Ifs= 1 Cfg#= 3 Atr=c0 MxPwr= 2mA
> I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbtest
> E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
> E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=4ms
>
> ----------------------------
> Host side (linux 2.6.11):
> ----------------------------
>
>
> This is what I've added to the usb.c sample code (crosscompiled and ran
> on the devce) to the autoconfig() function:
>
>
> } else if (stat (DEVNAME = "amd5536udc", &statb) == 0) {
>
> HIGHSPEED = 1;
> device_desc.bcdDevice = __constant_cpu_to_le16 (0x0212),
>
> fs_source_desc.bEndpointAddress =
> hs_source_desc.bEndpointAddress
> = USB_DIR_IN | 1;
> EP_IN_NAME = "ep2in-bulk";
> fs_sink_desc.bEndpointAddress = hs_sink_desc.bEndpointAddress
> = USB_DIR_OUT | 2;
> EP_OUT_NAME = "ep2out-bulk";
>
> source_sink_intf.bNumEndpoints = 3;
> fs_status_desc.bEndpointAddress
> = hs_status_desc.bEndpointAddress
> = USB_DIR_IN | 3; <----------- what's the 1, 2 and 3
> for?
> EP_STATUS_NAME = "ep1in-int";
>
> } ....
The 1, 2, and 3 above are the endpoint addresses. They are the values
you see in the /proc/bus/usb/devices listing for the Ad: fields on the E:
lines. (The 0x80 bit is USB_DIR_IN.)
Alan Stern
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel