Unable to mount sub connected DVD drive on Jetson TX2

Running L4T 28.2.1

I followed the ideas covered in https://devtalk.nvidia.com/default/topic/1027852/jetson-tx2/can-not-mount-usb-mass-storage-device-on-tx2/post/5228609/, https://devtalk.nvidia.com/default/topic/1025191/jetson-tx2/error-unknown-systemfile-type-iso9660-/ and
https://devtalk.nvidia.com/default/topic/1032706/jetson-tx2/how-to-add-a-usb-cdrom-to-tx2-platform-/post/5254263/

Using zcat /proc/config.gz to check configuration:

  • CONFIG_UDF_FS=m
  • CONFIG_ISO9660_FS=m
  • CONFIG_USB_MASS_STORAGE=y
  • CONFIG_USB_STORAGE=m
  • CONFIG_USB_F_MASS_STORAGE=y
  • CONFIG_BLK_DEV_SD=y

lsmod
Module Size Used by
usb_storage 63852 0
udf 83678 0
crc_itu_t 2023 1 udf
isofs 34873 0
fuse 89008 2
bcmdhd 7624795 0
pci_tegra 74691 0
bluedroid_pm 13436 0

dmesg
[ 118.951971] usbcore: registered new interface driver usb-storage
[ 158.053806] usb 1-2.4: new high-speed USB device number 6 using xhci-tegra
[ 158.168065] usb 1-2.4: New USB device found, idVendor=0e8d, idProduct=1887
[ 158.175305] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 158.183120] usb 1-2.4: Product: Portable Super Multi Drive
[ 158.188785] usb 1-2.4: Manufacturer: Hitachi-LG Data Storage Inc
[ 158.195074] usb 1-2.4: SerialNumber: M09ICEH1122
[ 158.202713] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6
[ 158.213589] usb-storage 1-2.4:1.0: USB Mass Storage device detected
[ 158.222086] scsi host2: usb-storage 1-2.4:1.0
[ 159.235460] scsi 2:0:0:0: CD-ROM HL-DT-ST DVDRAM GP60NS50 PE00 PQ: 0 ANSI: 0

The expected device nodes are not present

A DVD drive typically gets named “/dev/sr0”, or some other number (depending on what is connected, it could for example be “/dev/sr1”). Often a symbolic link is added, “/dev/cdrom”, which points to the sr0 node. If you monitor “dmesg --follow” as you insert a DVD, does anything show up? What is visible from “ls /dev/sr*”?

dmesg is provided above.

Disconnect+connect results in:
[ 6307.222082] usb 1-2.4: USB disconnect, device number 7
[ 6307.229979] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6
[ 6309.995727] usb 1-2.4: new high-speed USB device number 10 using xhci-tegra
[ 6310.111594] usb 1-2.4: New USB device found, idVendor=0e8d, idProduct=1887
[ 6310.118739] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6310.126573] usb 1-2.4: Product: Portable Super Multi Drive
[ 6310.132743] usb 1-2.4: Manufacturer: Hitachi-LG Data Storage Inc
[ 6310.139270] usb 1-2.4: SerialNumber: M09ICEH1122
[ 6310.148284] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6
[ 6310.163435] usb-storage 1-2.4:1.0: USB Mass Storage device detected
[ 6310.170539] scsi host6: usb-storage 1-2.4:1.0
[ 6311.184618] scsi 6:0:0:0: CD-ROM HL-DT-ST DVDRAM GP60NS50 PE00 PQ: 0 ANSI: 0

/dev does not have:

  • sr*
  • cd*

Unfortunately I don’t have a way to actually test this. Once the DVD is present with anything mountable (it could be a game DVD or Linux install DVD), what do you see from (I’m not sure, but you may need to “sudo apt-get install lshw”):

lsblk -f
lshw

nvidia@tegra-ubuntu:~$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
mmcblk0rpmb
mmcblk0boot0
mmcblk0boot1
mmcblk0
├─mmcblk0p1 ext4 67fc200f-3886-481d-9948-c863792e4143 /
├─mmcblk0p2
├─mmcblk0p3
├─mmcblk0p4
├─mmcblk0p5
├─mmcblk0p6
├─mmcblk0p7
├─mmcblk0p8
├─mmcblk0p9
├─mmcblk0p10
├─mmcblk0p11
├─mmcblk0p12
├─mmcblk0p13
├─mmcblk0p14
├─mmcblk0p15
├─mmcblk0p16
├─mmcblk0p17
├─mmcblk0p18
├─mmcblk0p19
├─mmcblk0p20
├─mmcblk0p21
├─mmcblk0p22
├─mmcblk0p23
├─mmcblk0p24
├─mmcblk0p25
├─mmcblk0p26
├─mmcblk0p27
├─mmcblk0p28
└─mmcblk0p29

nvidia@tegra-ubuntu:~$ sudo lshw
tegra-ubuntu
description: Computer
product: quill
serial: 0422918066713
width: 64 bits
capabilities: cp15_barrier setend swp
*-core
description: Motherboard
physical id: 0
capabilities: nvidia_quill nvidia_tegra186
*-cpu:0
description: CPU
product: a57_cluster_power_states
physical id: 0
bus info: cpu@0
size: 345MHz
capacity: 2035MHz
capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpufreq
*-cpu:1
description: CPU
product: a57_core_power_states
physical id: 1
bus info: cpu@1
size: 2035MHz
capacity: 2035MHz
capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpufreq
*-cpu:2
description: CPU
product: a57_crossover_thresholds
physical id: 2
bus info: cpu@2
size: 2035MHz
capacity: 2035MHz
capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpufreq
*-cpu:3
description: CPU
product: cpu
physical id: 3
bus info: cpu@3
size: 345MHz
capacity: 2035MHz
capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpufreq
*-cpu:4
description: CPU
product: cpu
physical id: 4
bus info: cpu@4
size: 345MHz
capacity: 2035MHz
capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpufreq
*-cpu:5
description: CPU
product: cpu
physical id: 5
bus info: cpu@5
size: 345MHz
capacity: 2035MHz
capabilities: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpufreq
*-cpu:6 DISABLED
description: CPU
product: cpu
physical id: 6
bus info: cpu@6
*-cpu:7 DISABLED
description: CPU
product: cpu
physical id: 7
bus info: cpu@7
*-cpu:8 DISABLED
description: CPU
product: cpu
physical id: 8
bus info: cpu@8
*-cpu:9 DISABLED
description: CPU
product: denver_cluster_power_states
physical id: 9
bus info: cpu@9
*-cpu:10 DISABLED
description: CPU
product: denver_core_power_states
physical id: a
bus info: cpu@10
*-cpu:11 DISABLED
description: CPU
product: denver_crossover_thresholds
physical id: b
bus info: cpu@11
*-cpu:12 DISABLED
description: CPU
product: l2-cache0
physical id: c
bus info: cpu@12
*-cpu:13 DISABLED
description: CPU
product: l2-cache1
physical id: d
bus info: cpu@13
*-memory
description: System memory
physical id: e
size: 7847MiB
*-usbhost:0
product: xHCI Host Controller
vendor: Linux 4.4.38+ xhci-hcd
physical id: 1
bus info: usb@2
logical name: usb2
version: 4.04
capabilities: usb-3.00
configuration: driver=hub slots=3 speed=5000Mbit/s
*-usb
description: USB hub
product: USB3.0 Hub
vendor: VIA Labs, Inc.
physical id: 1
bus info: usb@2:1
version: 90.74
capabilities: usb-3.00
configuration: driver=hub slots=4 speed=5000Mbit/s
*-usbhost:1
product: xHCI Host Controller
vendor: Linux 4.4.38+ xhci-hcd
physical id: 2
bus info: usb@1
logical name: usb1
version: 4.04
capabilities: usb-2.00
configuration: driver=hub slots=4 speed=480Mbit/s
*-usb
description: USB hub
product: USB2.0 Hub
vendor: VIA Labs, Inc.
physical id: 2
bus info: usb@1:2
version: 90.70
capabilities: usb-2.10
configuration: driver=hub slots=4 speed=480Mbit/s
*-usb:0
description: USB hub
product: Dell USB Keyboard Hub
vendor: NMB
physical id: 1
bus info: usb@1:2.1
version: 0.01
capabilities: usb-1.10
configuration: driver=hub maxpower=50mA slots=3 speed=12Mbit/s
*-usb
description: Keyboard
product: Dell USB 7HK Keyboard
vendor: NMB
physical id: 1
bus info: usb@1:2.1.1
version: 0.01
capabilities: usb-1.10
configuration: driver=usbhid maxpower=50mA speed=12Mbit/s
*-usb:1
description: Mouse
product: DELL Laser Mouse
vendor: Primax Electronics, Ltd
physical id: 2
bus info: usb@1:2.2
version: 7.17
capabilities: usb-2.00
configuration: driver=usbhid maxpower=100mA speed=2Mbit/s
*-usb:2
description: Mass storage device
product: Portable Super Multi Drive
vendor: Hitachi-LG Data Storage Inc
physical id: 4
bus info: usb@1:2.4
version: 0.00
serial: M09ICEH1122
capabilities: usb-2.00 atapi
configuration: driver=usb-storage maxpower=500mA speed=480Mbit/s
*-network:0 DISABLED
description: Ethernet interface
physical id: 3
logical name: dummy0
serial: c6:28:fd:07:fe:9e
capabilities: ethernet physical
configuration: broadcast=yes driver=dummy driverversion=1.0
*-network:1 DISABLED
description: Ethernet interface
physical id: 4
logical name: wlan0
serial: 00:04:4b:c5:6c:24
capabilities: ethernet physical
configuration: broadcast=yes driver=wl driverversion=0 multicast=yes
*-network:2
description: Ethernet interface
physical id: 5
logical name: eth0
serial: 00:04:4b:c5:6c:26
size: 1Gbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=eqos duplex=full ip=10.10.20.12 link=yes multicast=yes port=MII speed=1Gbit/s

So it appears USB is operating as it should:

*-usb:2
description: Mass storage device
product: Portable Super Multi Drive
vendor: Hitachi-LG Data Storage Inc
physical id: 4
bus info: usb@1:2.4
version: 0.00
serial: M09ICEH1122
capabilities: usb-2.00 atapi
configuration: driver=usb-storage maxpower=500mA speed=480Mbit/s

(I’m assuming the Hitachi-LG is the DVD drive)

I do not have a means to test, so all I can do is suggest tests to narrow things down.

However, “lsblk -f” does not show the actual file system. Just to verify, do you have a USB thumb drive? If you insert a USB thumb drive, does anything show up from that specific thumb drive via “lsblk -f”? USB is working. A USB thumb drive could verify working USB mass storage.

If a thumb drive is validated (demonstrating USB mass storage) in addition to knowing USB sees the DVD, then all that is left will be kernel features specific to the DVD and the file system of the DVD. Note that “lsblk -f” will show a file system even if there is no driver for that particular file system type (for example, if there is no VFAT driver, then “lsblk -f” will still show VFAT). If not even a file system shows up, then having the correct driver for the file system type (e.g., even if ISO9660 is present), then the DVD will never show up. I am betting this will validate both USB and USB mass storage and leave only features specific to an external DVD as missing.

Does anyone here have an external USB DVD drive who can verify what kernel features were necessary to get it to work, and if it shows up as “/dev/sr0”?

Correct: Hitachi-LG is the DVD

Inserted USB thumb drive, with expected result
lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
└─sda1 vfat Lexar 23F6-9A23

dmesg
[ 1041.094833] usb 1-2.3: new high-speed USB device number 8 using xhci-tegra
[ 1041.205241] usb 1-2.3: New USB device found, idVendor=05dc, idProduct=a81d
[ 1041.212194] usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1041.219578] usb 1-2.3: Product: USB Flash Drive
[ 1041.224239] usb 1-2.3: Manufacturer: Lexar
[ 1041.228464] usb 1-2.3: SerialNumber: AAUA1T4T5CS6BAVR
[ 1041.234286] usb 1-2.3: ep 0x81 - rounding interval to 128 microframes, ep desc says 255 microframes
[ 1041.243493] usb 1-2.3: ep 0x2 - rounding interval to 128 microframes, ep desc says 255 microframes
[ 1041.253384] usb-storage 1-2.3:1.0: USB Mass Storage device detected
[ 1041.260108] scsi host4: usb-storage 1-2.3:1.0
[ 1041.290431] usbcore: registered new interface driver uas
[ 1042.819037] scsi 4:0:0:0: Direct-Access Lexar USB Flash Drive 1100 PQ: 0 ANSI: 4
[ 1042.835291] sd 4:0:0:0: [sda] 31258624 512-byte logical blocks: (16.0 GB/14.9 GiB)
[ 1042.844077] sd 4:0:0:0: [sda] Write Protect is off
[ 1042.850100] sd 4:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 1042.855933] sd 4:0:0:0: [sda] No Caching mode page found
[ 1042.861444] sd 4:0:0:0: [sda] Assuming drive cache: write through
[ 1042.874918] sda: sda1
[ 1042.879968] sd 4:0:0:0: [sda] Attached SCSI removable disk

I can mount sda1 and access the files on the USB thumb drive

HOWEVER
Note the additional line
[ 1041.290431] usbcore: registered new interface driver uas

I believe UAS is specifically for USB 3.
The port on the eval board and the USB hub are USB 3.
The thumb and DVD drives are not (based on the color coding of the connectors)

I tried connecting the DVD drive directly (w/o hub); with no change in behavior.

USB3 will revert to USB2 for compatibility. The fact that the thumb drive worked shows the only thing left will be kernel features specific to the external DVD. I am not entirely sure what is missing though, and I have nothing to test with.

Does anyone here have an external DVD drive who might be able to name what kernel feature had to be enabled for the DVD to be visible? He already has the file system types, but the device special file itself is not showing up.

I did confirm that Hitachi-LG works on x86_64 Ubuntu 16.04.
With dmesg being identical with the TX2 up to the point that sr device is created

[594654.391094] usb 3-1: new high-speed USB device number 3 using xhci_hcd
[594654.545490] usb 3-1: New USB device found, idVendor=0e8d, idProduct=1887
[594654.545493] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[594654.545496] usb 3-1: Product: Portable Super Multi Drive
[594654.545498] usb 3-1: Manufacturer: Hitachi-LG Data Storage Inc
[594654.545500] usb 3-1: SerialNumber: M09ICEH1122
[594654.548454] usb-storage 3-1:1.0: USB Mass Storage device detected
[594654.548822] scsi host6: usb-storage 3-1:1.0
[594655.577219] scsi 6:0:0:0: CD-ROM HL-DT-ST DVDRAM GP60NS50 PE00 PQ: 0 ANSI: 0
[594655.580736] sr 6:0:0:0: Power-on or device reset occurred
[594655.586410] sr 6:0:0:0: [sr1] scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
[594655.586636] sr 6:0:0:0: Attached scsi CD-ROM sr1
[594655.586746] sr 6:0:0:0: Attached scsi generic sg3 type 5

The problem has been resolved

Modify kernel configuration
CONFIG_BLK_DEV_SR=y

I also added the vendor flag, but that is probably not needed
CONFIG_BLK_DEV_SR_VENDOR=y

That makes sense…the optical media is essentially SCSI (which is what CONFIG_BLK_DEV_SR is for).