On Thu, 4 Mar 2004, Martin Diehl wrote:

> I'm offline for the rest of the day, but I think the iso-firmware is ready 
> for release tomorrow :-)

Ok, here we are. New release of the usbtest-firmware (attached).

Changes against last version dated 20030720:
* (hopefully) workaround early Rev FX silicon issue with disconnect pin
* add support for ctrl_out tests (vendor EP0 R/W request). Works up to 
  len=1024, RequestError (protocol-STALL) otherwise.
* switch to altsetting=1 to allow ISO endpoints
* ISO sink+source support. Currently maxlen=512, interval=1ms each. Not 
  supported with FX2. Mode is "sink everything, source zerofilled data".

The attached tgz includes sources and Intel-Hex image usbtest_fw.ihx, 
which is build to work with both AN213x and FX devices (i.e. DMA not used)

I had to modify the usbtest driver to accept the changed altsetting and 
enable autoconfig (required for iso and ctrl_out tests). I've also changed 
it so we can test both bulk and iso in the same altsetting.

Typical result with ehci_hcd (over HS/TT hub to FS EZUSB-FX) looks like 
this (with your pending split-iso patch and the read enabled by me):

$ ./testusb -a -g8 -s1024 -v256

/proc/bus/usb/004/005 test 0,    0.000003 secs
/proc/bus/usb/004/005 test 1,    1.849929 secs
/proc/bus/usb/004/005 test 2,    1.751630 secs
/proc/bus/usb/004/005 test 3,    1.000524 secs
/proc/bus/usb/004/005 test 4,    0.999629 secs
/proc/bus/usb/004/005 test 5,   13.268032 secs
/proc/bus/usb/004/005 test 6,   13.277821 secs
/proc/bus/usb/004/005 test 7,    7.019167 secs
/proc/bus/usb/004/005 test 8,    7.001339 secs
/proc/bus/usb/004/005 test 9,    3.502091 secs
/proc/bus/usb/004/005 test 10,    1.501138 secs
/proc/bus/usb/004/005 test 11,    4.465409 secs
/proc/bus/usb/004/005 test 12,    4.268215 secs
/proc/bus/usb/004/005 test 13,   10.039727 secs
/proc/bus/usb/004/005 test 14,    3.925538 secs
/proc/bus/usb/004/005 test 15,   16.008210 secs
/proc/bus/usb/004/005 test 16,   16.007960 secs

ohci_hcd working as well, except for the famous bad entry issue during 
test11/12. uhci_hcd not tried.

Happy testing ;-)

Martin

------------------

--- linux-2.6.3-bk9/drivers/usb/misc/usbtest.c  Tue Feb 24 20:01:48 2004
+++ v2.6.3-bk9-md/drivers/usb/misc/usbtest.c    Fri Mar  5 20:13:06 2004
@@ -149,8 +149,6 @@ get_endpoints (struct usbtest_dev *dev, 
                                if (!out)
                                        out = e;
                        }
-                       if (in && out)
-                               goto found;
                        continue;
 try_iso:
                        if (e->desc.bEndpointAddress & USB_DIR_IN) {
@@ -160,9 +158,9 @@ try_iso:
                                if (!iso_out)
                                        iso_out = e;
                        }
-                       if (iso_in && iso_out)
-                               goto found;
                }
+               if ((in && out)  ||  (iso_in && iso_out))
+                       goto found;
        }
        return -EINVAL;
 
@@ -181,7 +179,8 @@ found:
                        in->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK);
                dev->out_pipe = usb_sndbulkpipe (udev,
                        out->desc.bEndpointAddress & USB_ENDPOINT_NUMBER_MASK);
-       } else if (iso_in) {
+       }
+       if (iso_in) {
                dev->iso_in = &iso_in->desc;
                dev->in_iso_pipe = usb_rcvisocpipe (udev,
                                iso_in->desc.bEndpointAddress
@@ -1965,7 +1964,10 @@ static struct usbtest_info fw_info = {
        .name           = "usb test device",
        .ep_in          = 2,
        .ep_out         = 2,
-       .alt            = 0,
+       .alt            = 1,
+       .autoconf       = 1,            // iso and ctrl_out need autoconf
+       .ctrl_out       = 1,
+       .iso            = 1,            // iso_ep's are #8 in/out
 };
 
 /* peripheral running Linux and 'zero.c' test firmware, or

Attachment: usbtest_fw-20040305.tar.gz
Description: Binary data

Reply via email to