> From: "Felipe Balbi" <felipe.balbi@xxxxxxxxxxxxxxx> > > I'm particularly interested in drivers/usb/core/config.c > > which appears to enforce the USB specification by refusing to allow a > > low speed CDC ACM. (Comment "Some buggy low-speed devices ...", at > > about line 300.) > > > > However, such devices exist and some are potentially quite useful (such > > as Arduinos & digistump). Various people have posted about not being > > able to use them with Linux and I think the above file is the reason > > (another well known OS family allows them). > > Here's the comment: > > /* Some buggy low-speed devices have Bulk endpoints, which is > * explicitly forbidden by the USB spec. In an attempt to make > * them usable, we will try treating them as Interrupt endpoints. > */ > > The code isn't forbidding CDC ACM low speed devices, it's forbidding > Bulk endpoints on Low speed, which don't exist :-) Are you saying there > are Bulk endpoints on low speed Arduinos? Yes - or I may have misunderstood the situation. It is code which is derived from V-USB https://www.obdev.at/products/vusb/index.html and is described at http://www.recursion.jp/prose/avrcdc/cdc-232.html If it worked with Linux it would be a handy way to provide output (such as debug data) from low-cost Arduinos and such like via USB. To be clear: I am not saying the Linux USB code is wrong. But it would be good to have a way to have the above kind of code work, such that screen / minicom etc can be used with it. John -- 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