Hi all,

I have been trying to get the USB isochronous stack to work on a
development board supporting ARM 10 core. I built the kernel with
audio support and have been trying to cat a wav file into the /dev/dsp
device which is registered to the USB 2.0 audio speakers I am using.
The enumeration of the device works correctly and the HC starts
issuing SOF packets (which I have traced using a USB analyzer). I
execute the following command

cat wmpaud1.wav > /dev/dsp

The above command calls the function usb_audio_write() repeatedly in
the "audio.c" file in the "linux_2.6.11.11_source\drivers\usb\class"
directory.
This function in turn calls the usbout_start routine which finally
submits the audio data to the USB driver usb_submit_urb().

When I am doing this no transactions are happening on the bus. To
debug the program, I enabled a printk in the usbout_complete()
completion routine. Once I do this, the stack starts to pump about 880
bytes in 10 transactions.

Again on inserting another printk in the ehci_irq() routine just prior
to ehci_work call in ehci-hcd.c file, the number of transactions
increased to 30. But the same image when run repeatedly shows
different number of OUT transactions.

I am not sure why this behaviour is happening. Maybe someone could
help me with a clearer understanding of the Audio / Isochronous stack
in Linux 2.6 kernel.

Thanks and with regards,
Kaustubh Sarwate


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&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