This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TUSB8020B: Bulk write times out on mainline linux (4.14, 4.15 4.19)

Part Number: TUSB8020B


Tool/software: Linux

Hello,

I'm attempting to use bulk write to a target board through a 8020 usb hub with the following topology:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
    |__ Port 1: Dev 5, If 0, Class=Hub, Driver=hub/2p, 5000M                                      # USB 3 part of 8020
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 1: Dev 14, If 0, Class=Hub, Driver=hub/2p, 480M                                      # USB 2 part of 8020
        |__ Port 1: Dev 15, If 0, Class=Vendor Specific Class, Driver=, 480M                      # target board
        |__ Port 2: Dev 16, If 3, Class=Vendor Specific Class, Driver=ftdi_sio, 480M              # FTDI
        |__ Port 2: Dev 16, If 1, Class=Vendor Specific Class, Driver=ftdi_sio, 480M              # FTDI
        |__ Port 2: Dev 16, If 2, Class=Vendor Specific Class, Driver=ftdi_sio, 480M              # FTDI
        |__ Port 2: Dev 16, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 480M              # FTDI

The same operation works if the hub is bypassed.

I've traced the issue to

read(5, "\22\1\0\2\0\0\0@U\t\30x\0\0\1\2\0\1\t\2 \0\1\1\0\300\20\t\4\0\0\2\377\377\377\0\7\5\201\2@\0\0\7\5\1\2@\0\0", 1024) = 50
close(4)                                = 0
close(3)                                = 0
ioctl(5, USBDEVFS_CLAIMINTERFACE, 0x9f346b0) = 0
ioctl(5, USBDEVFS_BULK, 0xffbc1d30)     = -1 ETIMEDOUT (Connection timed out)           # bulk attempt fails

You can find a usbmon log attached.

The system info is:

Linux XPS-15-9560 4.19.0-041900-generic #201810221809 SMP Mon Oct 22 22:11:45 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Latest libusb release 1.0.22 (w. debugging)

Here is dmesg output:

[ 7718.687335] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
[ 7718.687339] usb 1-1.1: SerialNumber: 800508593070
[ 7718.688754] hub 1-1.1:1.0: USB hub found
[ 7718.688798] hub 1-1.1:1.0: 2 ports detected
[ 7718.975225] usb 1-1.1.1: new high-speed USB device number 17 using xhci_hcd
[ 7719.075855] usb 1-1.1.1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
[ 7719.075862] usb 1-1.1.1: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[ 7719.076290] usb 1-1.1.1: New USB device found, idVendor=0955, idProduct=7818, bcdDevice= 0.00
[ 7719.076296] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7719.076300] usb 1-1.1.1: Product: APX
[ 7719.076304] usb 1-1.1.1: Manufacturer: NVIDIA Corp.
[ 7719.159230] usb 1-1.1.2: new high-speed USB device number 18 using xhci_hcd
[ 7719.259916] usb 1-1.1.2: New USB device found, idVendor=0403, idProduct=6011, bcdDevice= 8.00
[ 7719.259923] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7719.259927] usb 1-1.1.2: Product: Quad RS232-HS
[ 7719.259931] usb 1-1.1.2: Manufacturer: FTDI
[ 7719.266889] ftdi_sio 1-1.1.2:1.0: FTDI USB Serial Device converter detected
[ 7719.267021] usb 1-1.1.2: Detected FT4232H
[ 7719.267229] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB0
[ 7719.267580] ftdi_sio 1-1.1.2:1.1: FTDI USB Serial Device converter detected
[ 7719.267653] usb 1-1.1.2: Detected FT4232H
[ 7719.267944] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB1
[ 7719.268278] ftdi_sio 1-1.1.2:1.2: FTDI USB Serial Device converter detected
[ 7719.268355] usb 1-1.1.2: Detected FT4232H
[ 7719.268681] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB2
[ 7719.269021] ftdi_sio 1-1.1.2:1.3: FTDI USB Serial Device converter detected
[ 7719.269100] usb 1-1.1.2: Detected FT4232H
[ 7719.269333] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB3

I've noticed that dmesg reports "config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64" would this be a driver or hw configuration issue?

Any tips are appreciated.

https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/138/usbmon_2D00_1.7z