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.

USB 3.0 Problems with TUS7340/20

Other Parts Discussed in Thread: TUSB7340, TUSB7320

Hi,

first I have the DM816x Eval Board (with Extension Board) and the DM814x Eval Board - and I have self made board(s) running mostly fine with the DM8148.

On my Board I added an TI TUSB7340 SuperSpeed USB (aka USB 3.0) controller and this device seems to run good at the first moment, as it will be found on the PCIe bus and a new USB Bus is added. Even when connecting a mouse or similar all seems to be fine.

Here some piece of the system messages:

PCI: enabling device 0000:01:00.0 (0140 -> 0142)
xhci_hcd 0000:01:00.0: xHCI Host Controller
xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 3
xhci_hcd 0000:01:00.0: irq 48, io mem 0x20000000
xhci_hcd 0000:01:00.0: Failed to enable MSI-X
xhci_hcd 0000:01:00.0: failed to allocate MSI entry
usb usb3: No SuperSpeed endpoint companion for config 1  interface 0 altsetting 0 ep 129: using minimum values
usb usb3: New USB device found, idVendor=1d6b, idProduct=0003
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: xHCI Host Controller
usb usb3: Manufacturer: Linux 2.6.37 xhci_hcd
usb usb3: SerialNumber: 0000:01:00.0
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected

If I connect an USB 3.0 USB Stick, it will be mounted properly and I can read the files without any problem .But if I make a simple mkdir test (no error) and then a sync - the system blocks and after a short period linux comes up with the message that the xHCI controller is died. ***.

Here is the log:

usb 3-3: new SuperSpeed USB device using xhci_hcd and address 2
xhci_hcd 0000:01:00.0: WARN: short transfer on control ep
xhci_hcd 0000:01:00.0: WARN: short transfer on control ep
xhci_hcd 0000:01:00.0: WARN: short transfer on control ep
xhci_hcd 0000:01:00.0: WARN: short transfer on control ep
usb 3-3: New USB device found, idVendor=24db, idProduct=0916
usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-3: Product: AP721
usb 3-3: Manufacturer: DDUSB
usb 3-3: SerialNumber: 0916100000000000000000003904
scsi2 : usb-storage 3-3:1.0
scsi 2:0:0:0: Direct-Access     DDUSB    AP721            1.00 PQ: 0 ANSI: 5
sd 2:0:0:0: Attached scsi generic sg0 type 0
sd 2:0:0:0: [sda] 16011264 512-byte logical blocks: (8.19 GB/7.63 GiB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Assuming drive cache: write through
 sda:
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Attached SCSI removable disk
root@dm816x-evm:~# cd /media/sda/
root@dm816x-evm:/media/sda# mkdir test
root@dm816x-evm:/media/sda# sync
xhci_hcd 0000:01:00.0: xHCI host not responding to stop endpoint command.
xhci_hcd 0000:01:00.0: Assuming host is dying, halting host.
xhci_hcd 0000:01:00.0: Non-responsive xHCI host is not halting.
xhci_hcd 0000:01:00.0: Completing active URBs anyway.
xhci_hcd 0000:01:00.0: HC died; cleaning up
usb 3-3: USB disconnect, address 2
sd 2:0:0:0: Device offlined - not ready after error recovery
sd 2:0:0:0: [sda] Unhandled error code
sd 2:0:0:0: [sda]  Result: hostbyte=0x01 driverbyte=0x00
sd 2:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 00 00 00 20 00 00 01 00
end_request: I/O error, dev sda, sector 32
Buffer I/O error on device sda, logical block 32
lost page write due to I/O error on sda
sd 2:0:0:0: [sda] Unhandled error code
sd 2:0:0:0: [sda]  Result: hostbyte=0x01 driverbyte=0x00
sd 2:0:0:0: [sda] CDB: cdb[0]=0x2a: 2a 00 00 00 00 01 00 00 01 00
end_request: I/O error, dev sda, sector 1
Buffer I/O error on device sda, logical block 1
lost page write due to I/O error on sda

First I thought it correlates with the MSI issue (with MSI/MSI-X enable in the kernel xHCI would run) but after disabling msix in the xhci driver (only allowing msi) - msi will run, but with the same error. Next step was backporting the xhci stuff from the current kernel 3.4.5 into "our" 2.6.37 - even here comes the same error.

Then I use my 816x eval board which as a "normal" PCIe slot, populated it with the TUS7320 Eval Board (the 2 port version of the 4 port 7340) - just to be shure there is no issue with my hardware - and yes there is the same error.

_BUT_ if I exchange the TUSB7320 PCIe card with an "noname" NEC 7202 model this error vanished.

Here the log:

root@dm816x-evm:~# usb 3-3: new high speed USB device using xhci_hcd and address 2
xhci_hcd 0000:01:00.0: WARN: short transfer on control ep
xhci_hcd 0000:01:00.0: WARN: short transfer on control ep
xhci_hcd 0000:01:00.0: WARN: short transfer on control ep
xhci_hcd 0000:01:00.0: WARN: short transfer on control ep
usb 3-3: New USB device found, idVendor=24db, idProduct=0916
usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-3: Product: AP721
usb 3-3: Manufacturer: DDUSB
usb 3-3: SerialNumber: 0916100000000000000000003904
scsi2 : usb-storage 3-3:1.0
scsi 2:0:0:0: Direct-Access     DDUSB    AP721            1.00 PQ: 0 ANSI: 5
sd 2:0:0:0: Attached scsi generic sg0 type 0
sd 2:0:0:0: [sda] 16011264 512-byte logical blocks: (8.19 GB/7.63 GiB)
sd 2:0:0:0: [sda] Write Protect is off
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Assuming drive cache: write through
 sda:
sd 2:0:0:0: [sda] Assuming drive cache: write through
sd 2:0:0:0: [sda] Attached SCSI removable disk
root@dm816x-evm:~# cd /media/
root@dm816x-evm:/media# cd sda/
root@dm816x-evm:/media/sda# ls
Audials        Autorun.inf    FILEminimizer  Start.txt
AutoOff.exe    BullGuard      Menu.exe       Steganos
root@dm816x-evm:/media/sda# mkdir test
root@dm816x-evm:/media/sda# sync
root@dm816x-evm:/media/sda# cd test/
root@dm816x-evm:/media/sda/test# ls
root@dm816x-evm:/media/sda/test# cd ..
root@dm816x-evm:/media/sda# ls -la
drwxr-xr-x    7 root     root         4096 Dec 10 04:02 .
drwxr-sr-x   16 root     root         4096 Dec 10 04:02 ..
drwxr-xr-x    2 root     root         4096 Apr 20  2012 Audials
-r-xr-xr-x    1 root     root         8192 Dec 14  2009 AutoOff.exe
-r-xr-xr-x    1 root     root           78 Dec 14  2010 Autorun.inf
drwxr-xr-x    2 root     root         4096 Apr 20  2012 BullGuard
drwxr-xr-x    2 root     root         4096 Apr 20  2012 FILEminimizer
-r-xr-xr-x    1 root     root      8331264 Jan 18  2012 Menu.exe
-r-xr-xr-x    1 root     root          309 Jan 17  2012 Start.txt
drwxr-xr-x    2 root     root         4096 Apr 20  2012 Steganos
drwxr-xr-x    2 root     root         4096 Dec 10 04:02 test
root@dm816x-evm:/media/sda# cd ..
root@dm816x-evm:/media# umount sda
root@dm816x-evm:/media# usb 3-3: USB disconnect, address 2

Any hint what I could do ? I want to keep the TUSB7340 ...

Regards, Andy