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 .
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
 It came from an old Debian computer.