On Tue, Aug 31, 2010 at 9:52 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 31 Aug 2010, Clemens Ladisch wrote: > >> Simon Arlott wrote: >> > Commit f661c6f8c67bd55e93348f160d590ff9edf08904 adds a check of the pipe type if >> > CONFIG_USB_DEBUG is enabled, >> >> I didn't see that commit last year, but wouldn't it break devices like >> the ESI MIDI Mate whose descriptors want to have low-speed bulk transfers >> and where the driver has to submit interrupt transfers instead to get it >> to work at all? > > When the kernel sees those invalid low-speed bulk endpoint descriptors, > it changes its internal copy of the descriptor to interrupt. Hence > when the driver submits interrupt URBs, they work correctly. > Interesting. FYI: even though XP/Win2k allow low-speed bulk endpoints, Vista and Win7 do not allow that. There are hacks to get around that. http://www.recursion.jp/avrcdc/lowbulk.html I took a look at the libusb-win32 source and indeed the author is using the same trick of submit interrupt URBs. -- Xiaofan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html