> From: "Greg KH" <gregkh@xxxxxxxxxxxxxxxxxxx> > On Tue, Feb 07, 2017 at 05:51:05PM +0100, John Skelton wrote: > > Apologies if this ought to have gone to the USB maintainer (but his > > auto-reply implies not). > > This is the correct place. Thanks. > > 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). > As Felipe points out, this is to try to help some obviously broken > devices to work properly. We could take that code out and even more > devices would stop working, but I think people would be upset at that :) > > What device out there that is so obviously incorrect that still doesn't > work even with the workaround that that the kernel is trying to do? The code I stumbled on (trying to find a useful debug mechanism, really) is at http://www.recursion.jp/prose/avrcdc/cdc-232.html I'm open to any suggestions. As I see it the above code is probably wrong in trying to use a low speed Bulk endpoint. The low performance of cheap Arduinos and digistump etc (with no hardware USB) is not going to allow anything but low speed (via software), however. 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