On Wed, 23 Feb 2011, Flynn Marquardt wrote: > > >> Hi Alan, > >> > >> some years ago I reported a problem consuming and now I ask with another > >> problem I have. > >> If you are not the right person, please tell me who I should ask instead. > >> > >> My problem: > >> > >> I use synce-hal (http://www.synce.org/moin/) to connect to Windows CE > >> devices through usb. > >> All works fine with older devices, that only have usb full-speed and on > >> the linux host e.g. the uhci_hcd > >> module is used: connection can be established and used. > >> > >> Newer devices have usb high speed ports and linux uses the ehci_hcd > >> module and the connection cannot be > >> "fully" established (connection is little bit tricky, details are here > >> http://www.synce.org/moin/TechnicalInformation/InitalConnection). > >> The needed pppd can be started and the ppp-connection can be > >> established, but the device cannot be 'pinged', > >> the Windows CE is waiting for some magic bytes, that do not arrive and > >> gets a timeout. > >> After unloading ehci_hcd (forcing full speed) these devices work fine too. > >> So this really a ehci related problem. > >> > >> Can this be fixed, so that synce also works with high speed? > >> In Windows all works fine with these devices using high speed. > >> I'll do any debugging, that is needed, sending usb-debugfs, usb-monitor > >> output, ... > > What version of the Linux kernel are you using? > > > I have this problem with different current versions on different machines: > - 2.6.38-rc6 > - 2.6.37.1 > - 2.6.36.4 > > > It would help to see usbmon traces for both a working full-speed > > connection and a non-working high-speed connection. > > > The output of usbmon is attached for kernel version 2.6.37.1: > - 6.uhci.mon.out: successful connect and status query (synce-pstatus) > with ehci module unloaded > - 4.ehci.mon.out: failed connect with ehci module loaded > > The usbmon output contains only the traffic belonging to the device, e.g.: > > cat /sys/kernel/debug/usb/usbmon/4u > 4.ehci.mon.out Okay, good. The two usbmon traces are very similar, right up until the end. At the end, the EHCI trace got an EOVERFLOW error. The synce-hal program asked for a 256-byte transfer and the device sent more than 256 bytes. On a full-speed connection this doesn't matter, but on a high-speed connection it does. The solution is to fix synce-hal. It should request a 512-byte or 1024-byte transfer, not a 256-byte transfer. You should report this bug to the Synce project. 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