Martin Diehl wrote:

http://marc.theaimsgroup.com/?l=linux-usb-devel&m=107790500929613&w=2


Ok, thanks - this was doing the trick!

Looks good - it seems it's basically working. Not much detailed testing so far, but it passes test15. You said it should work for ISO-OUT, so I assume the ENOMEM-failure of test16 is within expectations?

Yes, especially if it goes with a KERN_DEBUG message saying there are no ISO-IN splits yet. It's essentially all coded, but microframe scheduling needs tweaks for the IN cases. I decided to force ENOMEM until that code is ready ... someone willing to play with the code could turn it on and shouldn't find it needs many changes.


I had some debugging on the ezusb, so at least I know it was actually receiving the iso-out data with correct crc. But I haven't checked for synchronisation and data correctness.

How would you test for ISO synchronization?



* test firmware personality

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=fff0 ProdID=fff0 Rev= 0.01

Feel like using an "official" ID, by the way? I have a few IDs left I can hand out ...


S:  Manufacturer=Martin Diehl
S:  Product=USB-Test
S:  SerialNumber=2004-03-02
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbtest
I:  If#= 0 Alt= 1 #EPs= 4 Cls=ff(vend.) Sub=01 Prot=00 Driver=usbtest
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=88(I) Atr=01(Isoc) MxPS= 512 Ivl=1ms
E:  Ad=08(O) Atr=01(Isoc) MxPS= 512 Ivl=1ms

Ah ... sneaky config! Does it work with MaxPS 1023, or with bigger intervals? The split transaction support needs to use a sixth microframe for transfers larger than about 940 bytes. I can't currently test those at 1 msec intervals.

- Dave



* ./testusb -a -g 8 -v 0

Does "-g 32" work too? If there were issues there I'd expect them to be with "test 10".

/proc/bus/usb/001/004 test 0,    0.000046 secs
/proc/bus/usb/001/004 test 1,    1.000703 secs
/proc/bus/usb/001/004 test 2,    1.000626 secs
/proc/bus/usb/001/004 test 5,    6.784527 secs
/proc/bus/usb/001/004 test 6,    6.687679 secs
/proc/bus/usb/001/004 test 9,    3.558065 secs
/proc/bus/usb/001/004 test 10,    1.502038 secs
/proc/bus/usb/001/004 test 11,    4.030243 secs
/proc/bus/usb/001/004 test 12,    4.032602 secs
/proc/bus/usb/001/004 test 13,    9.206410 secs
/proc/bus/usb/001/004 test 14,    4.012137 secs

That's handy: control out testing makes "usbtest" cover a lot more of the basic host and device functionality.

/proc/bus/usb/001/004 test 15,    8.008405 secs
/proc/bus/usb/001/004 test 16 --> 12 (error 12)

Where presumably OHCI worked just fine; and UHCI, which I rarely test.


* corresponding syslog

usbtest 1-4.4:1.0: TEST 0:  NOP
usbtest 1-4.4:1.0: TEST 1:  write 512 bytes 1000 times
usbtest 1-4.4:1.0: TEST 2:  read 512 bytes 1000 times
usbtest 1-4.4:1.0: TEST 5:  write 1000 sglists 8 entries of 512 bytes
usbtest 1-4.4:1.0: TEST 6:  read 1000 sglists 8 entries of 512 bytes
usbtest 1-4.4:1.0: TEST 9:  ch9 (subset) control tests, 1000 times
usbtest 1-4.4:1.0: TEST 10:  queue 8 control calls, 1000 times
usbtest 1-4.4:1.0: TEST 11:  unlink 1000 reads of 512
usbtest 1-4.4:1.0: TEST 12:  unlink 1000 writes of 512
usbtest 1-4.4:1.0: TEST 13:  set/clear 1000 halts
usbtest 1-4.4:1.0: TEST 14:  1000 ep0out, 0..512 vary 0
usbtest 1-4.4:1.0: TEST 15:  write 1000 iso, 8 entries of 512 bytes
usbtest 1-4.4:1.0: ... iso period 1 frames, wMaxPacket 0200
usbtest 1-4.4:1.0: ... total 8000 msec (8000 packets)
usbtest 1-4.4:1.0: TEST 16:  read 1000 iso, 8 entries of 512 bytes
usbtest 1-4.4:1.0: ... iso period 1 frames, wMaxPacket 0200
usbtest 1-4.4:1.0: ... total 8000 msec (8000 packets)
usbtest 1-4.4:1.0: submit iso[0], error -12






-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to