Hi list,

I'm adding support for isoc out traffic to the CRIS host usb driver. 
More specifically, I'm trying to make a couple of Philips DSS350/17 usb
speakers to work.  They worked fine on my Linux host machine (running a
2.2.19 kernel) which uses the same generic usb audio framework.  My
method of testing is simply to cat some .au file to /dev/audio.  The
kernel on my board is 2.4.7-ish, but the audio.c driver doesn't seem to
have changed much lately, so I reckon it isn't too old or anything.

The thing that puzzles me is how iso_frame_desc is set up in
usbout_start and usbout_prepare_desc.  transfer_buffer_length is set to
50, and number_of_packets is 5.  But iso_frame_desc[i].length is set to
8 for 0 <= i <= 4 (and iso_frame_desc[i].offset is i * 8), for a total
of 5 * 8 = 40 bytes.  10 bytes unaccounted for if you ask me.  Obviously
I'm missing something in this equation, but I can't figure out what.

I used the CATC USB Inspector to analyze the traffic from my host Linux
machine, which uses the usb-uhci driver, and it does indeed send packets
in 8 byte sized chunks.

For completeness, here is the contents of /proc/bus/usb/devices on my
target board:

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso= -2
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB ETRAX 100LX Root Hub
S:  SerialNumber=ff
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0471 ProdID=0101 Rev= 1.00
S:  Product=USB Digital Speaker System
C:* #Ifs= 3 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=audio
I:  If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=audio
I:  If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E:  Ad=04(O) Atr=09(Isoc) MxPS=  56 Ivl=  1ms
I:  If#= 1 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E:  Ad=04(O) Atr=09(Isoc) MxPS= 112 Ivl=  1ms
I:  If#= 1 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E:  Ad=04(O) Atr=09(Isoc) MxPS= 112 Ivl=  1ms
I:  If#= 1 Alt= 4 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E:  Ad=04(O) Atr=09(Isoc) MxPS= 224 Ivl=  1ms
I:  If#= 1 Alt= 5 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E:  Ad=04(O) Atr=09(Isoc) MxPS= 168 Ivl=  1ms
I:  If#= 1 Alt= 6 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=audio
E:  Ad=04(O) Atr=09(Isoc) MxPS= 336 Ivl=  1ms
I:  If#= 2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl= 10ms

Cheers,
Orjan

-- 
Orjan Friberg
Axis Communications AB

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to