On Wed, 15 Dec 2010, Sergej Pupykin wrote: > At Tue, 14 Dec 2010 12:54:54 -0500 (EST), > Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > > > > It would be very interesting to test your device under Windows and > > Linux on a computer with an OHCI controller instead of UHCI. With > > OHCI, there is no way to tell the hardware to use slow transfers. > > Here are OHCI sniffs: > http://arch.pp.ru/~sergej/files/usb-dumps/usb-dumps.ohci.tar.gz > > and unpacked: > http://arch.pp.ru/~sergej/files/usb-dumps/usb-dumps.ohci/ > > On windows CSR based tool was used, on linux - dfu-util. > > OHCI results are interesting: it works with OHCI pcmcia controller: > > 02:00.1 USB Controller: NEC Corporation USB (rev 43) (prog-if 10 [OHCI]) > Subsystem: Ratoc System Inc Device 0035 > Flags: bus master, medium devsel, latency 64, IRQ 18 > Memory at 30001000 (32-bit, non-prefetchable) [size=4K] > Capabilities: [40] Power Management version 2 > Kernel driver in use: ohci_hcd > Kernel modules: ohci-hcd The timings show that the NEC controller runs slower than the SiS controller. Probably because it has to go over the PCMCIA bus. > but does not with: > > 00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 0f) (prog-if 10 [OHCI]) > Subsystem: ASUSTeK Computer Inc. Device 807a > Flags: bus master, medium devsel, latency 32, IRQ 9 > Memory at d6800000 (32-bit, non-prefetchable) [size=4K] > Kernel driver in use: ohci_hcd > Kernel modules: ohci-hcd This clearly indicates that there is a bug in the device, since it doesn't always work even with Windows. > Also it works through external USB HUB. If the hub runs at high speed then it changes everything, because then the timings are determined by the hub. But if the hub runs at full speed then the timings are determined by the host controller, in which case the hub shouldn't make any difference. > I analized logs and found that problems start on speed 64bytes packet > per ~0.000055sec. Hmm. There are many places in the ohci-windows-sis log where the interval is <= 53 us but the device keeps on working. > Visible difference between > - ich4 uhci > - ich4 uhci with fixed driver > - nec ohci > - sis ohci > - sis ohci + external hub > is transfer speed. Yes. Given that this is a bug in the device, I think the workaround you've already got is the best you could hope for. 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