Quick Summary on Using USB external disk for Jetson Nano

I’ve been seeing a lot kernel error message when my USB external disk is under load. I googled for those messages and found that the issue is caused by “uas” driver and solution is forcing the disk to use “usb_storage” driver.

tegra-xusb 70090000.xusb: ERROR Transfer event for disabled endpoint or incorrect stream ring
tegra-xusb 70090000.xusb: @00000000ffebc7d0 ffdc8000 00000000 04000060 04088000
sd 0:0:0:0: [sda] tag#10 uas_eh_abort_handler 0 uas-tag 4 inflight: CMD OUT
sd 0:0:0:0: [sda] tag#10 CDB: opcode=0x2a 2a 00 6c 86 41 28 00 00 70 00
sd 0:0:0:0: [sda] tag#9 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD OUT
sd 0:0:0:0: [sda] tag#9 CDB: opcode=0x2a 2a 00 6c 86 40 a8 00 00 08 00
sd 0:0:0:0: [sda] tag#8 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD OUT
sd 0:0:0:0: [sda] tag#8 CDB: opcode=0x2a 2a 00 6c 86 40 28 00 00 10 00
sd 0:0:0:0: [sda] tag#7 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD OUT
sd 0:0:0:0: [sda] tag#7 CDB: opcode=0x2a 2a 00 40 46 41 28 00 00 c0 00
scsi host0: uas_eh_bus_reset_handler start
usb 2–1.2: reset SuperSpeed USB device number 3 using tegra-xusb
scsi host0: uas_eh_bus_reset_handler success
sd 0:0:0:0: [sda] tag#3 uas_eh_abort_handler 0 uas-tag 4 inflight: CMD OUT
sd 0:0:0:0: [sda] tag#3 CDB: opcode=0x2a 2a 00 40 46 41 28 00 00 c0 00
sd 0:0:0:0: [sda] tag#2 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD OUT
sd 0:0:0:0: [sda] tag#2 CDB: opcode=0x2a 2a 00 6c 86 40 28 00 00 10 00
sd 0:0:0:0: [sda] tag#1 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD OUT
sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x2a 2a 00 6c 86 40 a8 00 00 08 00
sd 0:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD OUT
sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x2a 2a 00 6c 86 41 28 00 00 70 00
scsi host0: uas_eh_bus_reset_handler start
usb 2–1.2: reset SuperSpeed USB device number 3 using tegra-xusb
scsi host0: uas_eh_bus_reset_handler success

Connect your USB external disk with Type A SuperSpeed/SuperSpeed+ Cable (Look for SS/SS+ logo on the connector)

  1. Check vendorId & productId of your external disk (mine is 152d:0562") with “lsusb”.
  2. Add kernel parameter “usb_storage.quirks=0x152d:0x0562:u” in /boot/extlinux/extlinux.conf
  3. After reboot, check dmesg and /sys/module/usb_storage/parameters/quirks to confirm the setting is effective
  4. “lsusb -t” should also indicate “Driver=usb-storage”
    /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store