Re: FTDI FT2232C issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 2, 2013 at 4:36 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> On Tue, 2 Apr 2013, Yegor Yefremov wrote:
>
>> On Tue, Apr 2, 2013 at 4:14 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>> > On Tue, 2 Apr 2013, Yegor Yefremov wrote:
>> >
>> >> I'm making a burn-in test (see serialtest.py
>> >> http://pastebin.com/pz47gaar) for our devices, that have built-in FTDI
>> >> chips. If FT2232C is attached directly to the USB host controller
>> >> port, the tests run properly. If I connect the chip to a USB-hub some
>> >> of the tests show timeout errors (read() routine). On the newer host
>> >> with USB3.0 this issue occurs on all USB ports where I attach FT2232C.
>> >> I tried kernels 3.2, 3.5 and 3.8.
>> >>
>> >> The test procedure opens two ports, exchanges data and closes ports.
>> >> If I don't open/close ports I don't encounter this issue.
>> >>
>> >> The FT4232H has no problems whether I attach it to USB HC or via HUB.
>> >> Any idea how to workaround the problem?
>> >
>> > If you use a different type of hub, does the test work?
>>
>> So far I tested with 3 different hub chips SMSC, GL (USB2.0) and one
>> USB3.0 hub - no difference.
>
> In that case, try collecting two usbmon traces showing what happens
> during the test.  In one trace, connect the FT2232C directly to the
> computer port; in the other, go through the GL hub.  See
> Documentation/usb/usbmon.txt for instructions.

Will do.

> By the way, do the errors still occur if you attach the hub to a USB-2
> port?

I made a list of configurations (lsusb and related lsusb -t outputs)
where the test works and doesn't work. What I've noticed is, that only
if FTDI chips is internally routed to 12M connection, the test work,
if the HCD channel is marked as 480M (HUB and USB 3.0 case) test
fails.

Working set (direct connection to USB 2.0. HCD)

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0403:6010 Future Technology Devices
International, Ltd FT2232C Dual USB-UART/FIFO IC

user@user-desktop:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=vend., Driver=ftdi_sio, 12M
    |__ Port 1: Dev 2, If 1, Class=vend., Driver=ftdi_sio, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M

Not working set (the same USB 2.0 HCD, but via Genesys Logic USB 2.0 HUB)

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 004: ID 0403:6010 Future Technology Devices
International, Ltd FT2232C Dual USB-UART/FIFO IC

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 5: Dev 3, If 0, Class=hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 4, If 0, Class=vend., Driver=ftdi_sio, 12M
        |__ Port 4: Dev 4, If 1, Class=vend., Driver=ftdi_sio, 12M

USB 3.0 host (not working)

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 108b:0005 Grand-tek Technology Co., Ltd
Bus 003 Device 009: ID 0403:6010 Future Technology Devices
International, Ltd FT2232C Dual USB-UART/FIFO IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 1: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M
    |__ Port 1: Dev 2, If 1, Class=HID, Driver=usbhid, 1.5M
    |__ Port 4: Dev 9, If 0, Class=vend., Driver=ftdi_sio, 12M
    |__ Port 4: Dev 9, If 1, Class=vend., Driver=ftdi_sio, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M

Yegor
--
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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux