Hi,
We are writing a USB Bluetooth driver with SCO
support using a sample hardware that we have. We have
run into some questions regarding the implmentation of
ISOC/SCO support for the card. While enumerating we
are getting as many endpoints on interface 1 as
mentioned in the Bluetooth spec. We use alternate
setting 2 (where max packet size is 17).
We fill the isoc urb as shown below:
pdrvobj->isoc_in_urb->context = pdrvobj;
pdrvobj->isoc_in_urb->dev = pdrvobj->dev;
pdrvobj->isoc_in_urb->pipe =
usb_rcvisocpipe(pdrvobj->dev,
pdrvobj->isoc_in_ep->bEndpointAddress);
pdrvobj->isoc_in_urb->complete = read_isoc_callback;
pdrvobj->isoc_in_urb->transfer_buffer_length = size =
pdrvobj->isoc_in_ep->wMaxPacketSize * 10;
pdrvobj->isoc_in_urb->transfer_buffer =
pdrvobj->isoc_in_buffer;
pdrvobj->isoc_in_urb->transfer_flags = USB_ISO_ASAP;
fill_frame_settings(pdrvobj->isoc_in_urb, size,
pdrvobj->isoc_in_ep->wMaxPacketSize); //
fill_frame_settings () is where length and offset of
each frame is set.
retval = usb_submit_urb(pdrvobj->isoc_in_urb);
We have the following questions:
o The read_isoc_callback gets called as soon as we
finish usb_submit_urb call. Is this normal ?
o Whenever the read_isoc_callback gets called the
urb->dev field is set to NULL and we have to reassign
urb->dev = pdrvobj->dev
Why does happen ? Do we need to reassign any of the
fields other than urb->dev ?
o The callback gets called even before any ISOC
transfer starts and we get urb->actual_length = 0 in
every iteration of the read_isoc_callback. Also
urb->iso_frame_desc[i].actual_length = 0 for all
frames.
What might be wrong ?
o After the successful creation of a SCO connection
and actual SCO data expected from the other end we get
the same behaviour as stated above. No data actually
arrives in the read_isoc_callback.
Thanks
'a'
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel