1

UPDATE: The hardware in question was replaced by another SATA (DVD-driove) to USB adapter. I believe the VANTEC hardware in the end wasn't fully compatible.

I am trying to get an external USB DVD player working on linux (Ubuntu and Debian). The hardware is a VANTEC NST-536S3-BK DVD enclosure: with a Blu-Ray/DVD drive that I know works on Debian [1].
There are two computers in this story:

  • a Debian testing/buster desktop and
  • a Raspberry Pi with libreELEC. (A third computer is an iMac.)

When I plug in this external DVD enclosure + drive to both computers, and insert a data CD/DVD, the hardware works: I cam mount the drive and use it normally.
The problem is when I put in a DVD movie, the external DVD enclosure does not work. The behavior is the hardware seems to stall for a long time, and eventually I have to kill it by powering off the device.

For comparison, I also happen to borrow a LG GP50NB40 portable DVD drive for testing. In this case, the hardware works on both computers without any problems, and can play DVDs.

To troubleshoot things, I tried plugging in the external DVD enclosure into a 2011 iMac. It loads data DVDs and plays Movie DVDs without a problem.
Thus I conclude that the DVD drive/hardware is probably not the problem. At least it's not a simple hardware fault.

Thus I am left with a DVD enclosure that doesn't play DVD movies for some reason. The only clue I have is the kernel output of the Debian testing desktop which I have copied here and on pastebin.

INFO: task scsi_eh_8:3561 blocked for more than 120 seconds.
      Tainted: P           O     4.16.0-1-amd64 #1 Debian 4.16.5-1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
scsi_eh_8       D    0  3561      2 0x80000000
Call Trace:
 ? __schedule+0x291/0x870
 ? __switch_to_asm+0x40/0x70
 schedule+0x28/0x80
 schedule_preempt_disabled+0xa/0x10
 __mutex_lock.isra.1+0x1a0/0x4e0
 ? __switch_to_asm+0x34/0x70
 ? __switch_to_asm+0x34/0x70
 ? __switch_to_asm+0x40/0x70
 ? scsi_try_target_reset+0x90/0x90 [scsi_mod]
 ? scsi_eh_get_sense+0x240/0x240 [scsi_mod]
 ? device_reset+0x1d/0x50 [usb_storage]
 device_reset+0x1d/0x50 [usb_storage]
 scsi_eh_ready_devs+0x356/0xe20 [scsi_mod]
 ? __pm_runtime_resume+0x54/0x70
 ? scsi_try_target_reset+0x90/0x90 [scsi_mod]
 ? scsi_eh_get_sense+0x240/0x240 [scsi_mod]
 scsi_error_handler+0x4c8/0x5b0 [scsi_mod]
 ? scsi_eh_get_sense+0x240/0x240 [scsi_mod]
 kthread+0x113/0x130
 ? kthread_create_worker_on_cpu+0x70/0x70
 ? SyS_exit_group+0x10/0x10
 ret_from_fork+0x22/0x40
INFO: task usb-storage:3563 blocked for more than 120 seconds.
      Tainted: P           O     4.16.0-1-amd64 #1 Debian 4.16.5-1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
usb-storage     D    0  3563      2 0x80000000
Call Trace:
 ? __schedule+0x291/0x870
 schedule+0x28/0x80
 schedule_timeout+0x1ee/0x380
 ? usb_hcd_submit_urb+0xbd/0xb00 [usbcore]
 wait_for_completion+0x12c/0x190
 ? wake_up_q+0x70/0x70
 usb_sg_wait+0x11e/0x170 [usbcore]
 usb_stor_bulk_transfer_sglist.part.1+0x64/0xb0 [usb_storage]
 usb_stor_bulk_srb+0x49/0x80 [usb_storage]
 usb_stor_Bulk_transport+0x163/0x3d0 [usb_storage]
 ? usb_stor_disconnect+0xc0/0xc0 [usb_storage]
 ? usb_stor_disconnect+0xc0/0xc0 [usb_storage]
 usb_stor_invoke_transport+0x3d/0x4f0 [usb_storage]
 ? usb_stor_disconnect+0xc0/0xc0 [usb_storage]
 ? wait_for_completion_interruptible+0x176/0x1e0
 ? wake_up_q+0x70/0x70
 usb_stor_control_thread+0x1ba/0x280 [usb_storage]
 kthread+0x113/0x130
 ? kthread_create_worker_on_cpu+0x70/0x70
 ret_from_fork+0x22/0x40
INFO: task mount:4293 blocked for more than 120 seconds.
      Tainted: P           O     4.16.0-1-amd64 #1 Debian 4.16.5-1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
mount           D    0  4293   4292 0x00000000
Call Trace:
 ? __schedule+0x291/0x870
 schedule+0x28/0x80
 schedule_timeout+0x1ee/0x380
 wait_for_completion+0x12c/0x190
 ? wake_up_q+0x70/0x70
 ? get_work_pool+0x40/0x40
 flush_work+0x11e/0x1d0
 ? worker_attach_to_pool+0x90/0x90
 __cancel_work_timer+0x126/0x1b0
 ? exact_lock+0xd/0x20
 ? kobj_lookup+0x113/0x160
 disk_block_events+0x78/0x90
 __blkdev_get+0x70/0x510
 blkdev_get+0x12a/0x330
 ? bd_acquire+0xd0/0xd0
 do_dentry_open+0x1b3/0x2d0
 path_openat+0x661/0x1660
 ? filename_lookup+0xf2/0x190
 do_filp_open+0x9b/0x110
 ? __check_object_size+0xa7/0x1a0
 ? do_sys_open+0x1bd/0x250
 do_sys_open+0x1bd/0x250
 do_syscall_64+0x6c/0x130
 entry_SYSCALL_64_after_hwframe+0x3d/0xa2
RIP: 0033:0x7f6211edadde
RSP: 002b:00007fff54368010 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00007fff54368240 RCX: 00007f6211edadde
RDX: 0000000000080002 RSI: 00005572587c4c00 RDI: 00000000ffffff9c
RBP: 0000000000000002 R08: 000000000000fff0 R09: 00007fff54368140
R10: 0000000000000000 R11: 0000000000000246 R12: 00005572587b7c20
R13: 00007fff54368240 R14: 0000000000000000 R15: 0000000000000000
usb 5-4: USB disconnect, device number 3
sr 8:0:0:0: Device offlined - not ready after error recovery
sr 8:0:0:0: [sr2] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
sr 8:0:0:0: [sr2] tag#0 CDB: Read(10) 28 00 00 3c f8 80 00 00 3c 00
print_req_error: I/O error, dev sr2, sector 15983104
sr 8:0:0:0: [sr2] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
sr 8:0:0:0: [sr2] tag#0 CDB: Read(10) 28 00 00 3c f8 bc 00 00 04 00
print_req_error: I/O error, dev sr2, sector 15983344

Update: Answering some questions-

  • The optical discs I have tried are commercially purchased disks that work in other DVD drives. I do not suspect them as being the source of the problem.
  • I am sure that the Blue-Ray/DVD/CD drive inside the enclosure is working. Its old 'home' was a desktop computer where it was connected directly to the motherboard via a SATA connection. In this location it worked without problems with DVD disks: both data and movie.

tldr; My external USB DVD enclosure can load data DVDs but cannot play movie DVDs on a R Pi running libreELEC. Troubleshooting points

[1] It came from an old Debian computer.

  • If you try to dd the contents off of the video DVD, then play it from the image on your hard drive, does that work? If not, which step fails? Also, are these homemade DVDs or commercial (i.e., DRM'ed) ones? – Joseph Sible Sep 18 '18 at 3:18
  • 1
    I had a similar problem for CDROMs behind a cheap Chinese IDE-SATA bridge when inserting audio CDs - udev/udisks would issue commands to identify the disks, which wouldn't work as expected on audio CDs and crash the bridge, causing a reset. So, guess: Similar SCSI commands are issued when you put in a movie CD, the USB-SATA (or USB-IDE?) bridge in the enclosure crashes, causing timeout and the kernel dump. Test: Open enclosure, take out the DVD drive (which probably has a SATA connector), connect it up directly to SATA, see if the problem persists. – dirkt Sep 18 '18 at 5:56
  • For Joseph- The kernel seems to fails when I try to access anything. After I place in a DVD (movie) and try to mount. Or if on my desktop, KDE tries to auto-mount/auto-load the drive. That is when the kernel hangs and then spits out the message I pasted. For dirkt - It is possible that whatever SCSI commands a Linux kernel is sending to the DVD enclosure is different than OSX's kernel; and that is causes the bridge to 'crash' causing the timeout. – ender.qa Sep 18 '18 at 14:20
  • In the end I purchased a different SATA to USB adapter and it works without problems on my Linux systems. Thus it was something in the hardware that didn't work right with Linux but was okay with other OSes. – ender.qa Sep 19 '18 at 1:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.