Ah, thankyou very much. I will use 2, 2, 3 instead of 1, 2, 3 ... and
see if there's a fix for the device controller driver.
> 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
>
>
-------------------------------------------------------------------------
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