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.

TDA4VM: USB 3.0 unstable

Part Number: TDA4VM

Hi, experts

The USB 3.0 interface on our customized board cannot stably recognize and mount USB devices.
Let me briefly describe the hardware status of the custom board USB interface. More information can be obtained from the original thread:

our hardware colleagues changed the circuit of the TYPE-C interface inside USB0 to TYPE-A circuit, but the physical connector is still TYPE-C.

The current status is that custom boards can occasionally recognize USB 3.0 USB drives, but cannot recognize USB 3.0 HUB and SSD.

This is the most common log that appears when inserting a USB drive:

root@j7-evm:~# [   28.581281] usb usb2-port1: config error
[   29.346857] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   29.385475] usb 2-1: New USB device found, idVendor=0951, idProduct=1666, bcdDevice= 1.10
[   29.393637] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[   29.400760] usb 2-1: Product: DataTraveler 3.0
[   29.405196] usb 2-1: Manufacturer: Kingston
[   29.409371] usb 2-1: SerialNumber: E0D55E6D663115B079BF77E4
[   29.461050] usb-storage 2-1:1.0: USB Mass Storage device detected
[   29.467424] scsi host0: usb-storage 2-1:1.0
[   29.472548] usbcore: registered new interface driver usb-storage
[   30.496196] scsi 0:0:0:0: Direct-Access     Kingston DataTraveler 3.0 0000 PQ: 0 ANSI: 6
[   30.507782] sd 0:0:0:0: [sda] 121077761 512-byte logical blocks: (62.0 GB/57.7 GiB)
[   30.657718] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   30.710961] sd 0:0:0:0: [sda] Write Protect is off
[   30.716912] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[   30.889941] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   31.082093] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   31.272745] usb 2-1: Device not responding to setup address.
[   31.485268] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   31.669418] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   31.773240] tps659411: disabling
[   31.853611] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   32.041768] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   32.069175] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00 cmd_age=1s
[   32.078296] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 00 00 00 00 01 00
[   32.085854] blk_update_request: I/O error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   32.095668] Buffer I/O error on dev sda, logical block 0, async page read
[   32.242488] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   32.437414] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   32.626977] usb 2-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd
[   32.669492] usb 2-1: device firmware changed
[   32.681836] usb 2-1: USB disconnect, device number 2
[   32.701244] blk_update_request: I/O error, dev sda, sector 1 op 0x0:(READ) flags 0x0 phys_seg 127 prio class 0
[   32.711234] Buffer I/O error on dev sda, logical block 1, async page read
[   32.718015] Buffer I/O error on dev sda, logical block 2, async page read
[   32.724792] Buffer I/O error on dev sda, logical block 3, async page read
[   32.731569] Buffer I/O error on dev sda, logical block 4, async page read
[   32.738346] Buffer I/O error on dev sda, logical block 5, async page read
[   32.745120] Buffer I/O error on dev sda, logical block 6, async page read
[   32.751899] Buffer I/O error on dev sda, logical block 7, async page read
[   32.758674] Buffer I/O error on dev sda, logical block 8, async page read
[   32.765450] Buffer I/O error on dev sda, logical block 9, async page read
[   32.772348] blk_update_request: I/O error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   32.782166] blk_update_request: I/O error, dev sda, sector 1 op 0x0:(READ) flags 0x0 phys_seg 127 prio class 0
[   32.792215]  sda: unable to read partition table
[   32.797063] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x07 driverbyte=0x00
[   32.805599] sd 0:0:0:0: [sda] Sense not available.
[   32.810403] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B)
[   32.816610] sd 0:0:0:0: [sda] Attached SCSI removable disk
[   33.061616] usb 2-1: new SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   33.092614] usb 2-1: New USB device found, idVendor=0951, idProduct=1666, bcdDevice= 1.10
[   33.100775] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[   33.107898] usb 2-1: Product: DataTraveler 3.0
[   33.112334] usb 2-1: Manufacturer: Kingston
[   33.116508] usb 2-1: SerialNumber: E0D55E6D663115B079BF77E4
[   33.123013] usb-storage 2-1:1.0: USB Mass Storage device detected
[   33.131288] scsi host0: usb-storage 2-1:1.0
[   34.141761] scsi 0:0:0:0: Direct-Access     Kingston DataTraveler 3.0 0000 PQ: 0 ANSI: 6
[   34.151279] sd 0:0:0:0: [sda] 121077761 512-byte logical blocks: (62.0 GB/57.7 GiB)
[   34.159210] sd 0:0:0:0: [sda] Write Protect is off
[   34.166032] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[   34.349450] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   34.533739] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   34.717680] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   34.901421] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   35.085454] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   35.269418] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   35.449412] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   35.645415] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   35.829613] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   35.861233] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00 cmd_age=1s
[   35.870351] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 00 01 00 00 7f 00
[   35.877911] blk_update_request: I/O error, dev sda, sector 1 op 0x0:(READ) flags 0x0 phys_seg 127 prio class 0
[   36.029432] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   36.210087] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   36.393601] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   36.573412] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   36.754088] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   36.941424] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   36.968134] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00 cmd_age=1s
[   36.977256] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 00 01 00 00 01 00
[   36.984815] blk_update_request: I/O error, dev sda, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   37.133429] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   37.314490] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   37.498463] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   37.685429] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   37.865424] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   38.045415] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   38.073507] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00 cmd_age=1s
[   38.082629] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 00 02 00 00 7e 00
[   38.090188] blk_update_request: I/O error, dev sda, sector 2 op 0x0:(READ) flags 0x0 phys_seg 126 prio class 0
[   38.100176] buffer_io_error: 374 callbacks suppressed
[   38.100179] Buffer I/O error on dev sda, logical block 2, async page read
[   38.111997] Buffer I/O error on dev sda, logical block 3, async page read
[   38.118772] Buffer I/O error on dev sda, logical block 4, async page read
[   38.125550] Buffer I/O error on dev sda, logical block 5, async page read
[   38.132324] Buffer I/O error on dev sda, logical block 6, async page read
[   38.139100] Buffer I/O error on dev sda, logical block 7, async page read
[   38.145875] Buffer I/O error on dev sda, logical block 8, async page read
[   38.152651] Buffer I/O error on dev sda, logical block 9, async page read
[   38.159426] Buffer I/O error on dev sda, logical block 10, async page read
[   38.166290] Buffer I/O error on dev sda, logical block 11, async page read
[   38.173235]  sda: unable to read partition table
[   38.185197] sd 0:0:0:0: [sda] Attached SCSI removable disk
[   38.333743] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   38.368568] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00 cmd_age=0s
[   38.377690] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 07 37 7f 80 00 00 79 00
[   38.385249] blk_update_request: I/O error, dev sda, sector 121077632 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[   38.539726] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   38.725415] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   38.909423] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   39.093604] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   39.277416] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   39.457412] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   39.483494] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00 cmd_age=1s
[   39.492616] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 07 37 7f 80 00 00 01 00
[   39.500175] blk_update_request: I/O error, dev sda, sector 121077632 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   39.649426] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   39.833784] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   40.013729] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   40.193414] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   40.369739] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   40.553413] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[   40.579441] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00 cmd_age=1s
[   40.588563] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 07 37 7f 81 00 00 78 00
[   40.596121] blk_update_request: I/O error, dev sda, sector 121077633 op 0x0:(READ) flags 0x0 phys_seg 127 prio class 0

From the log, it can be seen that the customized board recognized the USB3.0 device, but encountered an error and was unable to mount it.

This is the log when inserting USB3.0 HUB:

j7-evm login: [   85.740404] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[   85.893420] usb 1-1: New USB device found, idVendor=2109, idProduct=2817, bcdDevice= 2.14
[   85.901586] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   85.908883] usb 1-1: Product: USB2.0 Hub             
[   85.913951] usb 1-1: Manufacturer: VIA Labs, Inc.         
[   85.921178] hub 1-1:1.0: USB hub found
[   85.925220] hub 1-1:1.0: 4 ports detected
[   89.032435] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[   93.108429] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[   97.184432] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?

From the log, it can be seen that the customized board cannot recognize it.

Finally, this is the log when inserting the SSD:

j7-evm login: [  166.200406] usb 1-1: new high-speed USB device number 3 using xhci-hcd
[  166.362039] usb 1-1: New USB device found, idVendor=04e8, idProduct=61f5, bcdDevice= 1.00
[  166.370202] usb 1-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[  166.377493] usb 1-1: Product: Portable SSD T5
[  166.381850] usb 1-1: Manufacturer: Samsung
[  166.385946] usb 1-1: SerialNumber: 12345684A6CB
[  166.391133] usb-storage 1-1:1.0: USB Mass Storage device detected
[  166.400466] scsi host0: usb-storage 1-1:1.0
[  167.428907] scsi 0:0:0:0: Direct-Access     Samsung  Portable SSD T5  0    PQ: 0 ANSI: 6
[  167.437435] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[  167.446017] sd 0:0:0:0: [sda] Write Protect is off
[  167.451274] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  167.475454]  sda: sda1
[  167.481641] sd 0:0:0:0: [sda] Attached SCSI disk
[  168.015539] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)

From the log, it can be seen that the customized board directly recognizes it as USB 2.0.

All devices have been verified on PC and are USB 3.0.

Can you help me analyze the reason?

RTOS SDK version: ti-processor-sdk-rtos-j721e-evm-08_01_00_11

Linux SDK version: ti-processor-sdk-linux-j7-evm-08_01_00_07

Best regards,

Tao