USB3 SSD not connecting in Superspeed

Hi, I am a newcomer working on Jetson Nano 2G since a week right now. JetPack 4.6.

I want to attach a Samsung 750 Evo 250 GB SSD to the Nano. My problem is that it will only connect as a high speed device, not as a supersede device. Spuerspeed is working theoretical, as it does connect with supersede with a SanDisk USB dongle.

I started using an ICY case: IB-245-C31-B, which uses JMicron controller, which I found out is known to cause problems. Therefore I tried a UGREEN based on ASM1153E which theoretically should work. It supports UAS as well.

Also, I tried to connect the drive via a USB 3.0 Hub. Hub will connect @superspeed, drives in the same way as when connected directly.

Unfortunately, it does not work. Find here “dmesg | grep usb” and “lsusb -t”. Any ideas?

[    0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=2048M@2048M section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 core_edp_mv=1125 core_edp_ma=4000 gpt  earlycon=uart8250,mmio32,0x70006000  root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 
[    0.418019] iommu: Adding device 70090000.xusb to group 2
[    0.486502] vdd-usb-vbus: 5000 mV 
[    0.486705] vdd-usb-vbus: supplied by vdd-5v0-sys
[    0.487032] vdd-usb-vbus2: 5000 mV 
[    0.534521] usbcore: registered new interface driver usbfs
[    0.534564] usbcore: registered new interface driver hub
[    0.534607] usbcore: registered new device driver usb
[    0.601017] vdd-usb-vbus2: supplied by vdd-3v3-sys
[    0.603092] vdd-usb-hub-en: 5000 mV 
[    0.603430] vdd-usb-hub-en: supplied by vdd-1v8-sys
[    1.010526] tegra-xusb-padctl 7009f000.xusb_padctl: TEGRA_FUSE_SKU_CALIB_0 = 0x8207c10
[    1.010535] tegra-xusb-padctl 7009f000.xusb_padctl: TEGRA_FUSE_USB_CALIB_EXT_0 = 0x4
[    1.012118] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-usb2.0, lane = usb2-0, function = xusb
[    1.012233] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-usb2.1, lane = usb2-1, function = xusb
[    1.012328] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-usb2.2, lane = usb2-2, function = xusb
[    1.012516] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.3, lane = pcie-0, function = pcie-x1
[    1.012601] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.4, lane = pcie-1, function = pcie-x4
[    1.012691] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.5, lane = pcie-2, function = pcie-x4
[    1.012782] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.6, lane = pcie-3, function = pcie-x4
[    1.012877] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.7, lane = pcie-4, function = pcie-x4
[    1.012970] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.8, lane = pcie-5, function = xusb
[    1.013058] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.9, lane = pcie-6, function = xusb
[    1.013658] tegra-xusb-padctl 7009f000.xusb_padctl: failed to setup XUSB ports: -517
[    1.105515] usbcore: registered new interface driver r8152
[    1.105561] usbcore: registered new interface driver asix
[    1.105617] usbcore: registered new interface driver ax88179_178a
[    1.105658] usbcore: registered new interface driver cdc_ether
[    1.105697] usbcore: registered new interface driver net1080
[    1.105739] usbcore: registered new interface driver cdc_subset
[    1.105774] usbcore: registered new interface driver zaurus
[    1.105835] usbcore: registered new interface driver cdc_ncm
[    1.109429] usbcore: registered new interface driver uas
[    1.109487] usbcore: registered new interface driver usb-storage
[    1.109589] usbcore: registered new interface driver usbserial
[    1.113713] usbcore: registered new interface driver xpad
[    1.314180] usbcore: registered new interface driver usbhid
[    1.314182] usbhid: USB HID core driver
[    1.318353] usbcore: registered new interface driver snd-usb-audio
[    1.399204] vdd-usb-vbus-en: 5000 mV 
[    1.399544] vdd-usb-vbus-en: supplied by vdd-5v0-sys
[    1.402966] tegra-xusb-padctl 7009f000.xusb_padctl: TEGRA_FUSE_SKU_CALIB_0 = 0x8207c10
[    1.402970] tegra-xusb-padctl 7009f000.xusb_padctl: TEGRA_FUSE_USB_CALIB_EXT_0 = 0x4
[    1.403652] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-usb2.0, lane = usb2-0, function = xusb
[    1.403716] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-usb2.1, lane = usb2-1, function = xusb
[    1.403775] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-usb2.2, lane = usb2-2, function = xusb
[    1.403884] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.3, lane = pcie-0, function = pcie-x1
[    1.403940] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.4, lane = pcie-1, function = pcie-x4
[    1.403996] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.5, lane = pcie-2, function = pcie-x4
[    1.404050] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.6, lane = pcie-3, function = pcie-x4
[    1.404104] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.7, lane = pcie-4, function = pcie-x4
[    1.404159] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.8, lane = pcie-5, function = xusb
[    1.404211] tegra-xusb-padctl 7009f000.xusb_padctl: dev = phy-pcie.9, lane = pcie-6, function = xusb
[    1.407532] tegra-xusb 70090000.xusb: USB2 port 0 has OTG_CAP
[    1.408214] tegra-xusb-padctl 7009f000.xusb_padctl: enabled OTG on UTMI pad 0
[    1.409266] tegra-xusb 70090000.xusb: extcon 0: ffffffc0786bd800 id
[    1.412850] tegra-xusb 70090000.xusb: Firmware timestamp: 2020-07-31 09:33:12 UTC, Version: 50.26 release
[    1.412875] tegra-xusb 70090000.xusb: xHCI Host Controller
[    1.412888] tegra-xusb 70090000.xusb: new USB bus registered, assigned bus number 1
[    1.413616] tegra-xusb 70090000.xusb: hcc params 0x0184f525 hci version 0x100 quirks 0x00050010
[    1.413640] tegra-xusb 70090000.xusb: irq 61, io mem 0x70090000
[    1.413941] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.413945] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.413949] usb usb1: Product: xHCI Host Controller
[    1.413952] usb usb1: Manufacturer: Linux 4.9.253-tegra xhci-hcd
[    1.413955] usb usb1: SerialNumber: 70090000.xusb
[    1.414919] tegra-xusb 70090000.xusb: xHCI Host Controller
[    1.414926] tegra-xusb 70090000.xusb: new USB bus registered, assigned bus number 2
[    1.414991] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.415067] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    1.415071] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.415074] usb usb2: Product: xHCI Host Controller
[    1.415078] usb usb2: Manufacturer: Linux 4.9.253-tegra xhci-hcd
[    1.415081] usb usb2: SerialNumber: 70090000.xusb
[    1.415871] tegra-xusb 70090000.xusb: Upgrade port 0 to USB3.0
[    1.415876] tegra-xusb 70090000.xusb: Upgrade port 1 to USB3.0
[    1.518705] tegra-xusb-padctl 7009f000.xusb_padctl: power on UTMI pads 1
[    1.518855] tegra-xusb-padctl 7009f000.xusb_padctl: power on UTMI pads 2
[    1.518971] usb usb2: usb_suspend_both: status 0
[    1.742571] usb 1-2: new high-speed USB device number 2 using tegra-xusb
[    1.764686] usb 1-2: New USB device found, idVendor=174c, idProduct=235c
[    1.764692] usb 1-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[    1.764695] usb 1-2: Product: Ugreen Storage Device
[    1.764698] usb 1-2: Manufacturer: Ugreen
[    1.764702] usb 1-2: SerialNumber: 20D11E80FE04
[    1.886580] usb 1-3: new high-speed USB device number 3 using tegra-xusb
[    1.907346] usb 1-3: New USB device found, idVendor=1a40, idProduct=0801
[    1.907350] usb 1-3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    1.907354] usb 1-3: Product: USB 2.0 Hub
[    2.030646] tegra-xusb-padctl 7009f000.xusb_padctl: power down UTMI pad 2
[    2.050619] usb 1-3: usb_suspend_both: status 0
[    4.043432] usb0: HOST MAC 1e:1b:6f:00:c8:86
[    4.043461] usb0: MAC 1e:1b:6f:00:c8:87
[    4.070955] l4tbr0: port 2(usb0) entered blocking state
[    4.070960] l4tbr0: port 2(usb0) entered disabled state
[    4.071236] device usb0 entered promiscuous mode
[    4.075954] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[   31.858746] vdd-usb-vbus: disabling
[   31.858750] vdd-usb-vbus2: disabling
[   31.858834] vdd-usb-hub-en: disabling
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/5p, 480M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 480M
    |__ Port 3: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M

What is the “lsusb -t” when using the device through a USB3 HUB where the HUB itself shows as USB3? Is that HUB externally powered?

Most of the time when there is such an issue I think it is one of signal quality. Sometimes it is an issue of not being able to deliver enough power in USB3 causing it to revert back to USB2, but I doubt this latter is related (still worth knowing if the HUB provides external power).

If it is an issue of signal quality, and if the HUB works in USB3 mode, but the drive does not, then perhaps a different cable would work (there isn’t a lot you can do other than that). On the other hand, if the drive enumerates as USB3 on a Linux host PC, then perhaps we could compare the verbose “sudo lsusb -vvv -d ....:....” between the two platforms and see something. The “....:....” is just the device ID seen in a non-tree “lsusb”. According to your dmesg log it is probably an ID of “174c:235c”, so this is verbose output with a log file being created:
sudo lsusb -vvv -d 174c:235c 2>&1 | tee log_lsusb.txt

Thanks for this hint. It led me to check all cases with all cables on all computers I own. As a result, none of them
was connecting to none of the cases in superspeed, independent from the cables (several USB-C/USB-C and USB-C/USB-A).

As a consequence I sent back the UGREEN and called support of Icy Box (they will check the cases, this will be interesting, as they said they are astonished it doesn’t work).

And I bought myself a Samsung T7 500GB which now works pretty well and gains 280MB/s read rate, as opposed
to the 38MB/s of the USB3-inUSB2-mode cases or the 83MB/s of the SD Card!

BR, Carsten.