On Thu, 12 Nov 2015, Douglas Gilbert wrote: > Yes, the X201 has USB 2.0 host ports. It is running a stock Ubuntu > 15.10 kernel: 4.2.0-18-generic and the log indicates that the > ehci_pci driver is being used. Part of the X201's syslog is > attached in which a driver complains about the invalid maxpacket > values of 64. > > So its seems that the ehci drivers as used on the X201 can work > around the invalid maxpacket value (64) while the xhci drivers > used by the X240 (due to the USB 3.0 host ports) get tripped up. Yes, I think that's right. The restriction that high speed bulk endpoints must have a maxpacket size of 512 is enforced by the xHCI hardware but not by the EHCI hardware; this explains why ehci-hcd is able to work around such violations while xhci-hcd isn't. > Still looking at drivers/usb/gadget/udc/atmel_usba_udc.c which > has lots of changes between lk 3.19.0-rc4 and 4.0.0-rc4 . The > maxpacket value seems (to me) to be related to the fifo-size > in the gadget section of this dts include file: > arch/arm/boot/dts/at91sam9x5.dtsi > which has 1024 for ep1 through ep5 and 64 for ep0. The assignment of endpoints isn't done in the UDC driver; it is carried out by epautoconf.c in drivers/usb/gadget/. So you may need to expand your bisection search beyond the single UDC driver source file. Have you tried enabling debugging in the gadget drivers and checking out the kernel log on the gadget? > So it looks like 1.5 bugs: > - one in atmel's udc driver for the at91sam9x5 family, and > - the inconsistency between the ehci driver working around > invalid maxpacket values and the xhci driver behaving > badly (lots of bus resets and a badly made SCSI storage > device [e.g. INQUIRY works but READ(10) fails]). The first is clearly a bug, although at the moment we can't be sure where. The second is an unavoidable hardware restriction, not a bug. Anyway, if you fix the first problem then the second won't be an issue. Alan Stern -- 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