According to the dmesg log the software recognized the device and also must have otherwise succeeded since it saw all partitions. Once it reaches that point it is a matter of seeing if (A) power is an issue, and power changes with usage, or (B) if access to data is available; if access to data is available, then it is a matter of finding out if the filesystem type is supported.
I see this which says the device is there but running at USB2 speeds:
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Does this command work?
sudo gdisk -l /dev/sda
If this works, then post the result. Also, what is the result of:
lsblk -f /dev/sda
Assuming that works, then the next step is finding out why it reverted to USB2. The possibilities are usually either power delivery being limited, or signal quality. In your previous post with the verbose lsusb (with the -vvv argument), was this from another computer, or was this from the Jetson? If not from the Jetson, then try again from the Jetson and we’ll examine the part which looks at USB3.
Yes this is my USB drive’s content, I flashed it with a Nano Devkit SD card image.
sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 61440000 sectors, 29.3 GiB
Model: ProductCode
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 5C316B25-72E3-49E0-8E3D-AA589D426C84
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 61439966
Partitions will be aligned on 2048-sector boundaries
Total free space is 9661 sectors (4.7 MiB)
Number Start (sector) End (sector) Size Code Name
1 3057664 61437951 27.8 GiB 8300 APP
2 2048 264191 128.0 MiB 8300 A_kernel
3 264192 265727 768.0 KiB 8300 A_kernel-dtb
4 266240 331007 31.6 MiB 8300 A_reserved_on_user
5 331776 593919 128.0 MiB 8300 B_kernel
6 593920 595455 768.0 KiB 8300 B_kernel-dtb
7 595968 660735 31.6 MiB 8300 B_reserved_on_user
8 661504 825343 80.0 MiB 8300 recovery
9 825344 826367 512.0 KiB 8300 recovery-dtb
10 827392 958463 64.0 MiB EF00 esp
11 958464 1122303 80.0 MiB 8300 recovery_alt
12 1122304 1123327 512.0 KiB 8300 recovery-dtb_alt
13 1124352 1255423 64.0 MiB 8300 esp_alt
14 1255424 2074623 400.0 MiB 8300 UDA
15 2074624 3056639 479.5 MiB 8300 reserved
$ lsblk -f /dev/sda
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1
│ ext4 1.0 752d27c0-5370-43a2-9666-6f6c7e937dce
├─sda2
│
├─sda3
│
├─sda4
│
├─sda5
│
├─sda6
│
├─sda7
│
├─sda8
│
├─sda9
│
├─sda10
│ vfat FAT32 4EA2-9257
├─sda11
│
├─sda12
│
├─sda13
│
├─sda14
│
└─sda15
From Jetson:
$ sudo lsusb -d 346d:5678 -vvv 2>&1 | tee log-verbose.txt
can't get debug descriptor: Resource temporarily unavailable
Bus 001 Device 003: ID 346d:5678 USB Disk 20
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x346d
idProduct 0x5678
bcdDevice 3.20
iManufacturer 1 USB
iProduct 2 Disk 20
iSerial 3 FC047651175E4
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x0016
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000006
BESL Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 3
Lowest fully-functional device speed is SuperSpeed (5Gbps)
bU1DevExitLat 0 micro seconds
bU2DevExitLat 0 micro seconds
Device Status: 0x0000
(Bus Powered)
The o/s can definitely see and use this device. It also says the device is USB3 (5000M) capable. In theory there is a possibility of this device working.
Is there any way you can try this device over a powered USB3 HUB? If the HUB itself supports USB3, and if the power is provided by the HUB to the device instead of the device drawing power from the Jetson, then any failure to operate at USB3 speed would not be from power requirements. Also, what is the power source of the Jetson? Is it powered with USB? Or is it powered via barrel connector? This makes an enormous difference in what the Jetson’s USB can deliver in terms of power for external USB devices.
Is it possible to check any other USB3 device? Or several? If just one of them works with a speed of at least 5000M (shown in “lsusb -t” or “lsusb -tv”), then you know the device tree is also correct. If the device tree is also correct, and if power is not an issue, then the issue is almost certainly one of signal quality. We know the device itself works due to other computers using it with USB3, but what we don’t know is if power delivery is the issue, and if not power delivery, then we are down to signal quality being the issue.
Is it possible to check any other USB3 device? Or several?
I have tried several other USB3 devices on the type-c port. I haven’t got one to be detected by the Orin Nano Devkit (0005) as the USB 3 device. The firmware and the OS is flashed using the Nvidia SDK manager on an Ubuntu host machine, it’s quite unlikely to be a device tree issue.
Also, what is the power source of the Jetson? Is it powered with USB? Or is it powered via barrel connector?
It is powered via a barrel connector. A 19V 4.74A AC/DC Adaptor is used.
Is there any way you can try this device over a powered USB3 HUB?
I haven’t got a self-powered USB3 Hub by my hand. It takes some time to buy one.
Thanks for your help @linuxdev, I will reply when I got a self-powered USB3 Hub to test.
Sounds good. Aside from testing a powered HUB I don’t know of a lot of guaranteed inexpensive tests to see what is going on. The next step would be to watch what goes on with a hardware USB3 debugger (and we’re talking several thousand dollars for that). I suppose there might be some method of enabling a more verbose log of USB plugin via the NVIDIA driver, but I don’t know what that would be. @WayneWWW do you know of a way to increase the logging verbosity of the moment the controller makes the choice whether to route to USB3 versus legacy controllers?