DVDs not mounting in Ubuntu 20.04 - works fine in Windows

I have an Hitachi LG-WH16NS6 SATA DVD and Bluray drive mounted in an OWC Mercury Pro external USB 3 caddy.

When I connect the device to my machine and try to insert a DVD under Ubuntu (20.04 LTS), the disc spins and the drive tries to read it but the disc is never mounted.

Eventually, the drive spins down. If I try to shut down or restart the computer after this, the shutdown process hangs and I have to do a hard reset.

If I start the computer and boot to Ubuntu with a disc in the drive, for some reason the partitions efi and boot are present in the file browser (which they are not normally). The disc still doesn't mount.

Paradoxically, I can read and mount Bluray discs with the drive in Ubuntu without an issue. Also, my machine is a Windows/Ubuntu dual-boot setup and the drive will mount and read DVDs and all other discs in Windows 10 without any issues. All the discs that don't mount under Ubuntu mount and read without issue under Windows, so I don't think that I have a bad drive or bad media. I have tried connecting to a different USB port and I have tried a different USB cable, all without success.

I have installed the udftools, libdvdcss, libdvdread4 and libdvdnav4 packages under Ubuntu but this has made no difference to the behaviour of the drive under Linux.

How should I go about debugging and fixing this issue?

UPDATE

Here is the dmesg output when I connect the drive without a disc in it:

[  314.839390] usb 2-6: new SuperSpeed Gen 1 USB device number 3 using xhci_hcd
[  314.860059] usb 2-6: New USB device found, idVendor=1e91, idProduct=de2c, bcdDevice= 1.00
[  314.860064] usb 2-6: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[  314.860068] usb 2-6: Product: Mercury Pro Optical
[  314.860071] usb 2-6: Manufacturer: Other World Computing
[  314.860073] usb 2-6: SerialNumber: 002933006777
[  314.862325] usb-storage 2-6:1.0: USB Mass Storage device detected
[  314.863118] scsi host6: usb-storage 2-6:1.0
[  315.877560] scsi 6:0:0:0: CD-ROM            HL-DT-ST BD-RE  WH16NS60  1.00 PQ: 0 ANSI: 0
[  315.885579] sr 6:0:0:0: [sr0] scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
[  315.899982] sr 6:0:0:0: Attached scsi CD-ROM sr0
[  315.900172] sr 6:0:0:0: Attached scsi generic sg0 type 5
[  315.976530] pktcdvd: pktcdvd0: writer mapped to sr0

Here is the syslog output when I connect the drive without a disk in it:

Apr  2 12:10:58 evan-System-Product-Name kernel: [  314.860059] usb 2-6: New USB device found, idVendor=1e91, idProduct=de2c, bcdDevice= 1.00
Apr  2 12:10:58 evan-System-Product-Name kernel: [  314.860064] usb 2-6: New USB device strings: Mfr=2, Product=3, SerialNumber=1
Apr  2 12:10:58 evan-System-Product-Name kernel: [  314.860068] usb 2-6: Product: Mercury Pro Optical
Apr  2 12:10:58 evan-System-Product-Name kernel: [  314.860071] usb 2-6: Manufacturer: Other World Computing
Apr  2 12:10:58 evan-System-Product-Name kernel: [  314.860073] usb 2-6: SerialNumber: 002933006777
Apr  2 12:10:58 evan-System-Product-Name kernel: [  314.862325] usb-storage 2-6:1.0: USB Mass Storage device detected
Apr  2 12:10:58 evan-System-Product-Name kernel: [  314.863118] scsi host6: usb-storage 2-6:1.0
Apr  2 12:10:58 evan-System-Product-Name mtp-probe: checking bus 2, device 3: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-6"
Apr  2 12:10:58 evan-System-Product-Name mtp-probe: bus: 2, device: 3 was not an MTP device
Apr  2 12:10:58 evan-System-Product-Name mtp-probe: checking bus 2, device 3: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-6"
Apr  2 12:10:58 evan-System-Product-Name mtp-probe: bus: 2, device: 3 was not an MTP device
Apr  2 12:10:59 evan-System-Product-Name kernel: [  315.877560] scsi 6:0:0:0: CD-ROM            HL-DT-ST BD-RE  WH16NS60  1.00 PQ: 0 ANSI: 0
Apr  2 12:10:59 evan-System-Product-Name kernel: [  315.885579] sr 6:0:0:0: [sr0] scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
Apr  2 12:10:59 evan-System-Product-Name kernel: [  315.899982] sr 6:0:0:0: Attached scsi CD-ROM sr0
Apr  2 12:10:59 evan-System-Product-Name kernel: [  315.900172] sr 6:0:0:0: Attached scsi generic sg0 type 5
Apr  2 12:10:59 evan-System-Product-Name kernel: [  315.976530] pktcdvd: pktcdvd0: writer mapped to sr0

Here is the dmesg output when I insert a disc into the drive:

[  499.517922] sr0: detected capacity change from 1073741312 to 7584526336
[  531.487920] usb 2-6: reset SuperSpeed Gen 1 USB device number 3 using xhci_hcd
[  531.508719] sr 6:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=31s
[  531.508721] sr 6:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 00 02 00 00 00 02 00
[  531.508722] blk_update_request: I/O error, dev sr0, sector 2048 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[  562.209122] usb 2-6: reset SuperSpeed Gen 1 USB device number 3 using xhci_hcd

Here is the syslog output when I insert a disc into the drive:

Apr  2 12:14:02 evan-System-Product-Name kernel: [  499.517922] sr0: detected capacity change from 1073741312 to 7584526336
Apr  2 12:14:34 evan-System-Product-Name kernel: [  531.487920] usb 2-6: reset SuperSpeed Gen 1 USB device number 3 using xhci_hcd
Apr  2 12:14:34 evan-System-Product-Name kernel: [  531.508719] sr 6:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=31s
Apr  2 12:14:34 evan-System-Product-Name kernel: [  531.508721] sr 6:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 00 02 00 00 00 02 00
Apr  2 12:14:34 evan-System-Product-Name kernel: [  531.508722] blk_update_request: I/O error, dev sr0, sector 2048 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
Apr  2 12:15:01 evan-System-Product-Name CRON[5043]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Apr  2 12:15:03 evan-System-Product-Name systemd-udevd[358]: sr0: Worker [5033] processing SEQNUM=4430 is taking a long time
Apr  2 12:15:05 evan-System-Product-Name kernel: [  562.209122] usb 2-6: reset SuperSpeed Gen 1 USB device number 3 using xhci_hcd
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920324] INFO: task scsi_eh_6:4849 blocked for more than 120 seconds.
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920332]       Not tainted 5.8.0-48-generic #54~20.04.1-Ubuntu
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920335] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920338] scsi_eh_6       D    0  4849      2 0x00004000
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920344] Call Trace:
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920358]  __schedule+0x394/0xa60
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920365]  schedule+0x55/0xc0
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920371]  schedule_preempt_disabled+0xe/0x10
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920377]  __mutex_lock.isra.0+0x17d/0x4e0
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920384]  ? newidle_balance+0x1d4/0x3c0
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920391]  __mutex_lock_slowpath+0x13/0x20
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920396]  mutex_lock+0x32/0x40
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920406]  device_reset+0x22/0x50 [usb_storage]
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920413]  scsi_eh_ready_devs+0x580/0xa40
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920419]  ? __pm_runtime_resume+0x60/0x80
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920425]  scsi_error_handler+0x446/0x520
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920430]  kthread+0x114/0x150
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920436]  ? scsi_eh_get_sense+0x210/0x210
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920438]  ? kthread_park+0x90/0x90
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920445]  ret_from_fork+0x22/0x30
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920451] INFO: task usb-storage:4851 blocked for more than 120 seconds.
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920455]       Not tainted 5.8.0-48-generic #54~20.04.1-Ubuntu
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920457] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920460] usb-storage     D    0  4851      2 0x00004000
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920464] Call Trace:
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920470]  __schedule+0x394/0xa60
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920476]  schedule+0x55/0xc0
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920479]  schedule_timeout+0x111/0x160
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920485]  ? usb_hcd_submit_urb+0xa5/0x2e0
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920491]  wait_for_completion+0x94/0x100
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920496]  usb_sg_wait+0xea/0x170
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920504]  usb_stor_bulk_transfer_sglist.part.0+0x6c/0xc0 [usb_storage]
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920511]  usb_stor_bulk_srb+0x4b/0x80 [usb_storage]
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920518]  usb_stor_Bulk_transport+0x171/0x410 [usb_storage]
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920527]  usb_stor_invoke_transport+0x3e/0x520 [usb_storage]
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920530]  ? schedule_timeout+0x111/0x160
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920536]  ? wait_for_completion_interruptible+0xc3/0x140
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920543]  usb_stor_transparent_scsi_command+0xe/0x10 [usb_storage]
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920551]  usb_stor_control_thread+0x195/0x290 [usb_storage]
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920555]  kthread+0x114/0x150
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920561]  ? storage_probe+0x2b0/0x2b0 [usb_storage]
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920564]  ? kthread_park+0x90/0x90
Apr  2 12:17:49 evan-System-Product-Name kernel: [  725.920569]  ret_from_fork+0x22/0x30

The Disks application will not start when a disc is inserted into the drive. When the drive is connected and empty, I get the following display:

enter image description here enter image description here


Solution 1:

Try this:

sudo cp /usr/lib/udev/rules.d/60-persistent-storage.rules /etc/udev/rules.d/60-persistent-storage.rules
sudo vim /etc/udev/rules.d/60-persistent-storage.rules

and make the following lines in /etc/udev/rules.d/60-persistent-storage.rules:

# probe filesystem metadata of optical drives which have a media inserted
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
  IMPORT{builtin}="blkid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}"
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
  IMPORT{builtin}="blkid --noraid"

look like this:

# probe filesystem metadata of optical drives which have a media inserted
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
  GOTO="persistent_storage_end"
##  IMPORT{builtin}="blkid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}"
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
  GOTO="persistent_storage_end"
##  IMPORT{builtin}="blkid --noraid"

(the IMPORT... statements are commented out and replaced with GOTO... replacements)

Reboot and then try your DVD Movie media again - it should work now.


Ref:

I was encountering the exact same problem as OP described, but with a different SATA to USB enclosure (Vantec NST-536S3-BK NexStar DX) and different BluRay drive (LG WH16NS40). After much digging, I ran across this bug report on a Fedora system, which mentions a similar issue on yet more dissimilar hardware. The one thing they had in common was the use of a BluRay drive in a SATA to USB3 external enclosure.

That bug report indicated that their problem was with poor behavior of blkid when optical media was inserted into the drive. Like him, I was able to validate that the drive functioned perfectly fine on a Win10 system, but on multiple Ubuntu 20.04 machines, DVD Movie media would cause the drive to hang for a period and the media would never be recognized by the OS.

Another bug report was referenced as source material where the work-around to this is referenced, here.

Unfortunately, both bug reports were ultimately closed as not-resolved due to them aging out. Would love to put this in front of one of the util-linux package maintainers and a kernel maintainer to see where the true fix for this should really be implemented.