Hi Oliver,

Thanks for your response, comments below.

Oliver Neukum wrote:

Am Dienstag, 16. Mai 2006 18:27 schrieb Adisorn Ermongkonchai:
So I dig into the D-link USB driver (open source by Ralink) and found that it uses Bulk transfer mode. And the code seems to be reasonable. It calls "usb_fill_bulk_urb" with "usb_sndbulkpipe" and "complete" callback function and then calls "usb_submit_urb" to do the transmit. When "complete" callback is called, the transmit procedure is repeated if there are still packets in the queue. I check the "wMaxPacketSize", it is already set to 64 when the probe function is called. Is there anything that I could do to enhance the performance.

You must make sure that there's no time during which no URB is queued.
Submitting the next URB in the completion handler is too late. You should
maintain a reasonably sized pool of URBs.

        Regards
                Oliver

I apologize that I don't know enough about USB yet. So far what I've read from
wireless driver code, each channel has its own sk_buff TX queue.  The driver
is called by kernel IP stack with sk_buff. The driver then put this sk_buff in
TX queue and initiate transmission procedure that I've described previously.

If I understand you correctly, the driver should pull out the sk_buff from its
TX queue and keep pumping it to USB (in URB format) and don't wait for
the complete.  This might be it.  I will play around with this some more.

Thanks,
Adisorn.



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to