tl;dr: How do I compel Linux to reject high-speed USB connections so that it defaults to full speed?
Full explanation:
I'm writing a USB gadget driver based on Linux gadget zero. The hardware I'm testing on has high speed capable USB which won't be the case of the actual product. For some reason, the gadget (although it has no high speed descriptors on any configuration) is being reported as a high speed gadget
(struct usb_gadget->speed==USB_SPEED_HIGH
on set_config function of composite gadget).
This makes the driver fail miserably just before configuration bind (trying to load a high speed configuration that obviously doesn’t exist).
I'm looking for a way to inform Linux that the gadget is not high speed capable so that when a host connects the switch from fullspeed to highspeed is denied (or something that would produce a similar results).
ypnos :
uhci and ohci kernel modules drive USB 1.X controllers.\nehci modules drives USB 2.0 controller.\n\nIf you unload one of these, you enforce a restriction to the other.",
2012-12-04T14:35:35