Got it! Thanks~ Another problem: Do i need free all of the urbs which i have built before in my diconnect function? Now i just free one urb in my func. For example:
struct urb *myurb; my_prob() {... for(i=0; i<5; i++) { myurb = usb_alloc_urb(0); FILL_BULK_UBR(myurb,..............); usb_submit_urb(myurb); }... } my_disconnect(myurb) {... usb_unlink_urb(myusb); usb_free_urb(myurb);... } Thanks again! Levis -----Original Message----- From: Alan Stern [mailto:[EMAIL PROTECTED] Sent: Thursday, December 02, 2004 4:27 AM To: Xu Levis-Q16136 Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: An usb host transfer speed issue, could anybodies help me or give me some advice? On Wed, 1 Dec 2004, Xu Levis-Q16136 wrote: > Alan/Anybodies, > Now I build 10 URB(IN) and sent them in my prob function, then sent the > remaining URBs from the completion callback. The transfer speed is about > 650K bytes/second, good speed. Another issue, do you think this way is > suit for BULK_OUT transfer? The test result is same as before when i > build 5 URB(OUT) and sent my bulkusb_write function. The same principle should work for both bulk-in and bulk-out. However the optimum number and size of the URBs will vary from system to system. You should experiment to see what combination works best on your computer. Alan Stern ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel