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

Reply via email to