1.5. SCSI の設定

汎用 SCSI カーネルドライバをコンパイルする前に、sg.h ファイルの SCSI_BIG_BUF の値として、少なくとも1スキャンライン分に含まれるデータよりも充分大きい値 (これはスキャナの最大解像度に依存します)をセットすることを推奨します。 私のカーネルソースは、これを 32768 にセットしていますがこれで OK のようです。 小さい値では、スキャナが非常に小さなかたまりでそのデータを送信しなければなら ないので、スキャンがかなり遅くなります。 sg.h ファイルは、古いカーネルの場合はたぶん /usr/src/linux/drivers/scsi にあ り、新しいバージョン (1.3.98 以上)のカーネルなら /usr/src/linux/include/scsi にあるでしょう。 /usr/include/scsi から、カーネルソースのディレクトリに 相当するリンクが存在しなければなりません。

ホストアダプタ用のローレベルの SCSI カーネルドライバと、汎用 SCSIドライバを モジュールとしてコンパイルするのは良い考えだと思います。 そうすれば古いカーネルをお使いの場合、ブートする前にスキャナの電源を ON して おかなくてもよいからです。(私はこれをよく忘れます...) ドライバモジュールを(ロードされていたなら)アンロードし、スキャナの電源を ON してから、ドライバモジュールをロードする必要があります。 そうでなければ、スキャナの電源を ON してから、リブートする必要があります。 新しいカーネルは、/proc/scsi/scsi の設定によって SCSI デバイスの動的な追加 と取り外しの別の方法をサポートし、且つデバイスマッピングの変更も可能である ことに注意して下さい。詳しくは、カーネルソースのドキュメント、SCSI-HOWTO, SCSI-Programming-HOWTO を参照して下さい。

Thomas Kuerten <kuerten@informatik.tu-muenchen.de> は、 Adaptec AHA-2940 カードにスキャナが接続されている場合、(ブート時に Alt-A を押して表示されるメニューで)スキャナの SCSI ID用に最大転送速度は 5 MB/s で、同期ネゴシエーションはディスエーブルにセットしなければならない と指摘しています。 おそらく、他のアダプタでもこのような設定が(出来るなら)必要でしょう。