外壳中的外部 DVD 驱动器不能播放 DVD 电影,但可以使用“数据 DVD”

外壳中的外部 DVD 驱动器不能播放 DVD 电影,但可以使用“数据 DVD”

更新:有问题的硬件已被另一个 SATA(DVD 驱动器)转 USB 适配器取代。我相信 VANTEC 硬件最终并不完全兼容。

我正在尝试让外部 USB DVD 播放器在 Linux(Ubuntu 和 Debian)上运行。硬件是 VANTEC NST-536S3-BK DVD 外壳:带有我知道可以在 Debian 上运行的蓝光/DVD 驱动器 [1]。
这个故事中有两台计算机:

  • Debian 测试/buster 桌面和
  • 带有 libreELEC 的 Raspberry Pi。 (第三台计算机是 iMac。)

当我将此外部 DVD 盒 + 驱动器插入两台计算机并插入数据 CD/DVD 时,硬件工作正常:我可以安装驱动器并正常使用它。
问题是当我放入 DVD 电影时,外部 DVD 盒不起作用。这种行为是硬件似乎停滞了很长一段时间,最终我不得不通过关闭设备来终止它。

为了进行比较,我也恰巧借用了一台LG GP50NB40便携式DVD光驱进行测试。在这种情况下,硬件在两台计算机上都工作正常,并且可以播放 DVD。

为了排除故障,我尝试将外部 DVD 盒插入 2011 年 iMac。它加载数据 DVD并演奏电影 DVD 没有问题。
因此我得出结论,DVD 驱动器/硬件可能不是问题所在。至少这不是简单的硬件故障。

因此,我的 DVD 盒由于某种原因无法播放 DVD 电影。我唯一的线索是 Debian 测试桌面的内核输出,我已将其复制到此处和上帕斯特宾

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

更新:回答一些问题-

  • 我尝试过的光盘是商业购买的光盘,可以在其他 DVD 驱动器中使用。我不怀疑它们是问题的根源。
  • 我确信机箱内的蓝光/DVD/CD 驱动器正在工作。它的旧“家”是一台台式计算机,通过 SATA 连接直接连接到主板。在此位置,它可以毫无问题地处理 DVD 光盘:数据和电影。

太棒了;我的外部 USB DVD 外壳可以加载数据 DVD,但无法在运行 libreELEC 的 R Pi 上播放电影 DVD。故障排除要点

[1] 它来自一台旧的 Debian 计算机。

相关内容