FreeBSD QandA 1951

FreeBSD QandA

Q. ATA66 に繋いだ DVD の転送速度が遅く
   > acd0:READ_BIG - ABORTED COMMAND asc=48 ascq=00 error=00
   という、メッセージが表示されます。

A. まず、IDE ケーブルが ATA66 対応のケーブルか確認してください。
   対応していないケーブルでは、不具合があるとの報告があります。

   BX440 + ATA66(Promise) の場合では、ATA66 のチップと DVD との相性も
   あるようです。

   技術的には /sys/dev/ata/ata-all.c の atapi_interrupt 関数内で、
   このメッセージが出ています。
   ATAPI コマンドの 28h READ(10) パケットが失敗しているようです。
   (FreeBSD では READ_BIG と名前を付けているようです。)
   何をするのかというと ATAPI デバイスから
   LBA アドレッシングモードでデータを読み込みます。
   で、デバイスからか ATA66 チップからかエラーが帰ってくるので
   リトライを繰り返すなどで速度低下が起きたのだと思います。

   また、 /usr/src/sys/dev/ata/ata-dma.c に
   /* the Promise can only do DMA on ATA disks not on ATAPI devices */
   (Promise では DMA が行えるのは ATA ディスクのみで ATAPI デバイスでは
   DMA を行なえません。)というコメントが記されています。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。