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