我有一个日立 LG-WH16NS6 SATA DVD 和蓝光驱动器,安装在 OWC Mercury Pro 外置 USB 3 托架上。
当我将设备连接到我的机器并尝试在 Ubuntu(20.04 LTS)下插入 DVD 时,光盘旋转并且驱动器尝试读取它,但光盘从未安装。
最终,驱动器停止旋转。如果我在这之后尝试关闭或重新启动计算机,则关机过程会挂起,我必须进行硬重置。
如果我启动计算机并使用驱动器中的光盘引导至 Ubuntu,由于某种原因,分区efi
和boot
出现在文件浏览器中(通常不会出现)。光盘仍然无法安装。
矛盾的是,我可以在 Ubuntu 中使用该驱动器读取和安装蓝光光盘,没有任何问题。此外,我的机器是 Windows/Ubuntu 双启动设置,驱动器将在 Windows 10 中安装和读取 DVD 和所有其他光盘,没有任何问题。所有在 Ubuntu 下无法安装的光盘在 Windows 下都可以安装和读取,因此我认为我的驱动器或介质没有问题。我尝试过连接到不同的 USB 端口,也尝试过不同的 USB 电缆,但都没有成功。
我已经在 Ubuntu 下安装了udftools
、libdvdcss
和包libdvdread4
,libdvdnav4
但这对 Linux 下驱动器的行为没有影响。
我应该如何调试和修复此问题?
更新
这是dmesg
我连接没有光盘的驱动器时的输出:
[ 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
这是syslog
我连接没有磁盘的驱动器时的输出:
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
这是dmesg
我将光盘插入驱动器时的输出:
[ 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
这是syslog
我将光盘插入驱动器时的输出:
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
Disks
当光盘插入驱动器时,应用程序不会启动。当驱动器已连接且为空时,我得到以下显示:
答案1
尝试这个:
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
并在 中添加以下几行/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"
看起来像这样:
# 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"
(这些IMPORT...
语句被注释掉并被替换GOTO...
)
重新启动,然后再次尝试您的 DVD 电影媒体 - 现在应该可以正常工作了。
参考:
我遇到了与楼主描述的完全相同的问题,但使用的是不同的 SATA 转 USB 外壳(Vantec NST-536S3-BK NexStar DX)和不同的蓝光驱动器(LG WH16NS40)。经过大量挖掘,我遇到了此错误报告在 Fedora 系统上,它提到了类似的问题更多的硬件不同。它们唯一的共同点是使用 SATA 转 USB3 外置机箱中的蓝光驱动器。
该错误报告表明,他们的问题在于blkid
将光学介质插入驱动器时的行为不佳。像他一样,我能够验证驱动器在 Win10 系统上运行良好,但在多台 Ubuntu 20.04 机器上,DVD 电影介质会导致驱动器挂起一段时间,并且操作系统永远不会识别该介质。
不幸的是,由于时间太长,这两个错误报告最终都被关闭了,因为未解决。我很想把这个问题提交给 util-linux 软件包维护者和内核维护者,看看真正的解决方案应该在哪里真的得以实施。