Linuxのロード可能なカーネルモジュールの使い方

15.3。 SCSIドライバ

SCSIドライバに関する詳細は、「SCSI-2.4-HOWTO」を参照してください。

LinuxのSCSI機能は3つのレイヤーで実装されており、すべてのLKMがあります。

中央には、中間レベルのドライバまたはSCSIコアがあります。 これはscsi_mod LKMで構成されています。 使用するSCSIアダプタやデバイスの種類(ディスク、スキャナ、CD-ROMドライブなど)に関係なく、SCSIデバイス間で共通するすべてのことを行います。

各種類のSCSIアダプタ用の低レベルのドライバがあります。通常、各ブランドのドライバは異なります。 たとえば、Advansysアダプタ用の低レベルのドライバ(Connect.comの会社が作成)は、 advansysという名前です 。 (ATA(別名IDE)とSCSIディスクデバイスを比較する場合、これは大きな違いです) - ATAはシンプルで標準的なので、すべての会社のすべてのアダプタで動作します。あなたのシステムと完全に互換性のある特定のアダプターの信頼性が低い)。

高レベルのドライバは、カーネルの残りの部分に、特定のクラスのデバイスに適したインタフェースを提示します。 たとえば、テープデバイス用のSCSIハイレベルドライバstは 、巻き戻すioctlを持っています。 CD-ROMドライブ用のハイレベルSCSIドライバsrは動作しません。

特定のブランドのデバイスに固有のハイレベルなドライバはめったに必要ありません。 このレベルでは、1つのブランドが別のブランドと区別できる余地はほとんどありません。

特別な言及が必要なSCSI高水準ドライバの1つはsgです。 "SCSI汎用"ドライバと呼ばれるこのドライバは、かなり薄い層であり、残りのカーネルにはSCSIミッドレベルドライバの生の表現を表示します。 SCSI汎用ドライバを介して動作するユーザスペースプログラムは( sg (wit、21)で登録されているメジャー番号のデバイス特殊ファイルにアクセスするため)、SCSIプロトコルの詳細な理解を持っていますが、他のSCSI高レベルのドライバは、通常、SCSIが何であるか知りません。 SCSI-Programming-HOWTOにはSCSI汎用ドライバの完全なドキュメントがあります。

SCSIモジュールのレイヤー順序は、LKMが相互に依存する方法と、それらをロードする順序に依存します。 常に中間レベルのドライバをロードし、最後にアンロードします。 その後、低レベルと高レベルのドライバは、その順番どおりにロード/アンロードされ、両端の中間レベルドライバに依存して依存関係を確立します。 完全なセットがない場合は、デバイスにアクセスしようとすると「デバイスが見つかりません」というエラーが表示されます。

ほとんどのSCSI低レベル(アダプタ)ドライバにはLKMパラメータはありません。 彼らは一般的にカードの設定のためにオートスキャンを行います。 あなたのカードがいくつかの非典型的なポートアドレスに応答する場合は、ドライバを基本カーネルにバインドし、カーネルの "コマンドライン"オプションを使用する必要があります。 BootPrompt-HOWTOを参照してください。 あるいは、The Sourceをひっくり返して再コンパイルすることもできます。

多くのSCSI低レベルドライバには、Linuxソースツリーのdrivers / scsiディレクトリにあるREADMEファイルがあります *。

15.3.1。 scsi_mod:SCSIミッドレベルドライバ

例:

modprobe scsi_mod

モジュールのパラメータはありません。

15.3.2。 sd_mod:ディスクデバイスのSCSIハイレベルドライバ

例:

modprobe sd_mod

モジュールのパラメータはありません。

15.3.3。 st:テープデバイス用SCSIハイレベルドライバ

例:

modprobe st

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

15.3.4。 sr_mod:CD-ROMドライブ用SCSIハイレベルドライバ

例:

modprobe sr_mod

モジュールのパラメータはありません。

15.3.5。 sg:汎用SCSIデバイスのSCSIハイレベルドライバ

上のこの特別なハイレベルドライバの説明を参照してください。

例:

modprobe sg

モジュールのパラメータはありません。

* ライセンス

* ロード可能なカーネルモジュールのHow-To Index

パラメーター。

15.3.6。 wd7000:SCSI低レベルドライバ(7000FASST用)

例:


modprobe wd7000

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバはカードをスキャンし、インストールされたBIOSを必要とします。

15.3.7。 aha152x:SCSI低レベルドライバ(Adaptec AHA152X / 2825用)

例:


modprobe aha152x

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバはカードをスキャンし、インストールされたBIOSを必要とします。

15.3.8。 aha1542:SCSI低レベルドライバ(Adaptec AHA1542用)

例:


modprobe aha1542

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバは、カードを0x330と0x334でのみ自動検出します。

15.3.9。 aha1740:SCSI低レベルドライバ(Adaptec AHA1740 EISA用)

例:


modprobe aha1740

モジュールのパラメータはありません。

このドライバはカードをオートプローブします。

15.3.10。 aic7xxx:SCSI低レベルドライバ(Adaptec AHA274X / 284X / 294X用)

例:


modprobe aic7xxx

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバはカードを自動探査し、BIOSを有効にする必要があります。

15.3.11。 advansys:AdvanSys / Connect.comのSCSI低レベルドライバ

例:


modprobe advansys asc_iopflag = 1 asc_ioport = 0x110,0x330 asc_dbglvl = 1

モジュールのパラメータ:

このドライバを基本カーネルにバインドする場合は、カーネルブートパラメータを使ってパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

15.3.12。 in2000:SCSI low-levelドライバ(常にIN2000用)

例:


modprobe in2000

モジュールのパラメータはありません。

このドライバはカードをオートプローブします。 BIOSは必要ありません。

15.3.13。 BusLogic:BusLogicのSCSI低レベルドライバ

このドライバが駆動できるBusLogicカードのリストは長いです。 Linuxソースツリーのファイルドライバ/ scsi / README.BusLogicを読んで、全体の画像を取得してください。

例:


modprobe BusLogic

モジュールのパラメータはありません。

このドライバを基本カーネルにバインドする場合は、カーネルブートパラメータを使ってパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

15.3.14。 dtc:SCSI低レベルドライバ(DTC3180 / 3280用)

例:


modprobe dtc

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバはカードをオートプローブします。

15.3.15。 eata:EATA ISA / EISA用SCSI低レベルドライバ

このドライバは、DPT PM2011 / 021/012/022/122/322を処理します。

例:


modprobe eata

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

15.3.16。 eata_dma:EATA-DMA用SCSI低レベルドライバ

このドライバは、DPT、NEC、AT&T、SNI、AST、Olivetti、Alphatronixを処理します。

このドライバは、DPT Smartcache、Smartcache IIIおよびSmartRAIDを処理します。

例:


modprobe eata_dma

モジュールのパラメータはありません。

オートプローブはすべての構成で動作します。

15.3.17。 eata_pio:EATA-PIO用のSCSI低レベルドライバ

このドライバは古いDPT PM2001、PM2012Aを処理します。

例:


modprobe eata_pio

モジュールのパラメータはありません。

15.3.18。 fdomain:Future Domain 16xx用SCSI低レベルドライバ

例:


modprobe fdomain

モジュールのパラメータはありません。

このドライバはカードをオートプローブし、インストールされたBIOSを必要とします。

15.3.19。 NCR5380:SCSI低レベルドライバ(NCR5380 / 53c400用)

例:


modprobe NCR5380 ncr_irq = xx ncr_addr = xx ncr_dma = xx ncr_5380 = 1 \ ncr_53c400 = 1

ポートマッピングされたNCR5380ボードの場合:


modprobe g_NCR5380 ncr_irq = 5 ncr_addr = 0x350 ncr_5380 = 1

割り込みが無効なメモリマップされたNCR53C400ボードの場合:


modprobe g_NCR5380 ncr_irq = 255 ncr_addr = 0xc8000 ncr_53c400 = 1

パラメーター:

このドライバを基本カーネルにバインドする場合は、カーネルブートパラメータを使ってパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

15.3.20。 NCR53c406a:SCSI低レベルドライバ(NCR53c406a用)

例:


modprobe NCR53c406a

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

15.3.21。 53c7,8xx.o:SCSIローレベルドライバ(NCR53c7,8xx用)

例:


modprobe 53c7,8xx

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバはカードをオートプローブし、インストールされたBIOSを必要とします。

15.3.22。 ncr53c8xx:PCI-SCS NCR538xxファミリ用SCSI低レベルドライバ

例:


modprobe ncr53c8xx

モジュールのパラメータはありません。

15.3.23。 ppa:IOMEGAパラレルポートZIPドライブ用の低レベルSCSIドライバ

詳細については、Linuxソースツリーのdrivers / scsi / README.ppaファイルを参照してください。

例:


modprobe ppa ppa_base = 0x378 ppa_nybble = 1

パラメーター:

15.3.24。 pas16:SCSI低レベルドライバ(PAS16用)

例:


modprobe pas16

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバはカードをオートプローブします。 BIOSは必要ありません。

15.3.25。 qlogicfas:SCSI低レベルドライバ(Qlogic FAS用)

例:


modprobe qlogicfas

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

15.3.26。 qlogicisp:Qlogic ISPのSCSI低レベルドライバ

例:


modprobe qlogicisp

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

ファームウェアが必要です。

15.3.27。 seagate:Seagate、Future DomainのSCSI低レベルドライバ

このドライバは、Seagate ST-02およびFuture Domain TMC-8xx用です。

例:


modprobeシーゲイト

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバはアドレスのみのためにオートクローズします。 IRQは5に固定されています。ドライバにはインストール済みのBIOSが必要です。

15.3.28。 t128:Trantor T128 / T128F / T228のSCSI低レベルドライバ

例:


modprobe t128

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバはカードをオートプローブします。 ドライバにはインストール済みのBIOSが必要です。

15.3.29。 u14-34f:SCSI低レベルドライバ(UltraStor 14F / 34F用)

例:


modprobe u14-34f

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。

このドライバーはカードを自動キャプチャーしますが、0x310ポートは自動キャプチャーしません 。 BIOSは必要ありません。

15.3.30。 ultrastor:UltraStor用の低レベルSCSIドライバ

例:


modprobe ultrastor

LKMのモジュールパラメータはありませんが、このモジュールをベースカーネルにバインドする場合は、Linuxブートパラメータでいくつかのパラメータを渡すことができます。 BootPrompt-HOWTOを参照してください。