On Mon, 14 Mar 2005, camel yang wrote: > In usb 1.1 specification 5.8.4(page 47):"Bulk > transfers can be used only by full-speed devices".I > think Bulk transfers and Interrupt Transfers are > same(all are IN OUT tokens and DATA HandShake pakets) > in the protocol level.Can it work If i implement a > bulk pipe in low-speed device? Is it bandwidth > constrains,if it can't work?Can anyone explain to me?
Bulk and interrupt transfers appear the same on the bus, but they are not the same at the higher protocol levels. Interrupt transfers are scheduled periodically without immediate retries, whereas bulk transfers are scheduled opportunistically with immediate retries. If you implement a bulk pipe in a low-speed device it won't work. The host controller drivers will refuse to schedule a bulk transfer to a low-speed device, because such things are illegal according to the spec. You could use an interrupt endpoint with period 1. Or you could implement your transfer over endpoint 0 instead, which is almost as good as a bulk pipe. Or, if you really do have a lot of bulk data to send, you should use a full-speed or high-speed device. Low-speed devices were never meant to transfer large amounts of data. 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://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
