On Sun, 22 Nov 2009, Vladimir Komendantsky wrote: > Hi, > > >> [ 1666.291787] usb usb2: usb resume > >> [ 1666.291799] ehci_hcd 0000:00:1d.7: resume root hub > >> [ 1666.412345] ehci_hcd 0000:00:1d.7: port 2 full speed --> companion > > > > This line indicates that your device is not completing the high-speed > > handshake and thus is failing to connect at high speed. There is a > > hardware problem either in the device or in the EHCI controller or in > > the connecting cable. > > The fact is that the device does work at high speed in Windows with > the same cable and controller. Therefore neither of these seems to be > faulty. I still believe it's a software problem and I'm looking for a > reasonably recent documentation on USB 2.0 linux device driver > writing. As far as I know, there is _no_ documentation specific to USB 2.0 for Linux device driver writing. The best you're likely to find is the Linux Device Drivers book, 3rd edition. Besides, this isn't a generic sort of device driver problem -- it's very closely tied to EHCI. > I've tried some FAQ's but couldn't find information for this > particular situation. I don't recall seeing any either. You should concentrate on studying the source code since it is your best source of information (along with the USB 2.0 and EHCI specifications). The high-speed -> full-speed handoff is managed by drivers/usb/host/ehci-hub.c, in the check_reset_complete() routine and its caller. Maybe you'll find a logical error in there. You could start by printing out the value of port_status upon entry; it might contain a clue. 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