ubuntu at u-aizu

DVDドライブにまつわるトラブル

Ubuntu 8.04や8.10、中には9.04などのリリースでも、DVDドライブに関連して、以下のような問題が起きることがあることが確認されている。

  • DVD±RWへの書き込みが原因不明で失敗する。
  • DVDの読み込みができない。DVDディスクのマウントはできていて、デスクトップにアイコンが現れていても、正常にディスクから読み込めない。
  • ドライブの清掃などを行っても症状が改善しない。
  • まれに読み込めるときがあるなど、症状が必ずしも一定ではない。
  • DVDディスクをISOファイルに直してしてマウントすると、読み込みは正常に行える。
  • USB接続のDVDドライブなどを利用すると正常に読み書きが行える。つまり、内蔵のSATA接続のDVDドライブだとうまくいかない。
  • Windowsなど、別のOSでは問題なく利用できる。
  • 利用しているコンピュータは、AMD製のCPUを搭載しているか、VIAのチップセットを使っている。

このようなトラブルが発生した場合、ログファイルを確認してみる。ログファイルは/var/log/messagesである。このファイルに、以下のような行があった場合には、このトラブルの可能性が高い。

Jun 16 20:27:16 <コンピュータ名> kernel: [62767.178851] end_request: I/O error, dev sr0, sector 45904

以下は、この問題が発生した際のログ(/var/log/messages)である。1行目では強制的にディスクのマウントを試みているが、5〜6行目では読み取りができないために一旦待ち状態に入り、さらにSATAの速度を下げて読み取りをしようと試みているが、最終的には失敗してしまう。

Jun 17 17:37:53 spirits kernel: [ 1705.024273] UDF-fs: Partition marked readonly ; forcing readonly mount Jun 17 17:37:53 spirits kernel: [ 1705.052214] UDF-fs INFO UDF 0.9.8.1 (2004/29/ 09) Mounting volume 'PCBE_53310', timestamp 2009/04/13 12:41 (121c) Jun 17 17:38:17 spirits kernel: [ 1723.589345] cdb a4 00 00 00 00 00 00 00 00 10 c1 00 00 00 00 00 Jun 17 17:38:17 spirits kernel: [ 1723.589346] res 40/00:02:00:0c:00/00 :00:00:00:00/a0 Emask 0x4 (timeout) Jun 17 17:38:18 spirits kernel: [ 1723.803249] ata1: soft resetting link Jun 17 17:38:23 spirits kernel: [ 1727.400009] ata1: port is slow to respond, pl ease be patient (Status 0xf8) Jun 17 17:38:28 spirits kernel: [ 1731.269685] ata1: hard resetting link Jun 17 17:38:28 spirits kernel: [ 1731.654005] ata1: SATA link up 1.5 Gbps (SSta tus 113 SControl 310) Jun 17 17:38:28 spirits kernel: [ 1731.912704] ata1.00: configured for UDMA/66 Jun 17 17:38:28 spirits kernel: [ 1731.912724] ata1: EH complete Jun 17 17:38:28 spirits kernel: [ 1731.914444] sr0: disc change detected. Jun 17 17:38:28 spirits kernel: [ 1731.922459] VFS: busy inodes on changed media.

この問題は、Linuxのカーネルの問題である。
Linuxカーネルが、VIAのチップセットを正しく扱えないために、この問題が発生する。
以下の措置を施すと、とりあえずDVDドライブとして扱うことは可能となる。但し、以下の措置を行うと、読み込みスピードが遅くなるため、DVDの再生が非常に遅くなるなど、使いにくい状態になる。

(1) /etc/modprobe.d/optionsというファイルに以下の1行を加える。

options libata dma=1
(2) 以下のコマンドで、initrd (起動時に読み込まれるファイル)を再作成する。
sudo cp /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`.bak sudo mkinitramfs -o /boot/initrd.img-`uname -r`

根本的な解決策としては、Ubuntuのバージョンをアップグレードすることになると思われる。

(追伸)以下のコマンドでも問題が解決する可能性がある。なお、以下の例では、DVDドライブのデバイスファイル名が/dev/sr0であるとしている。

hal-disable-polling --device /dev/sr0


■参考URL


トップへ戻る