Linux可加载内核模块的方法

15.3。 SCSI驱动程序

有关SCSI驱动程序的详细信息在SCSI-2.4-HOWTO中。

Linux的SCSI功能分为三层,并且都有LKM。

中间是中级驱动程序或SCSI内核。 这包含scsi_mod LKM。 它可以完成SCSI设备中常见的所有事情,而不管您使用的是哪种SCSI适配器以及它是什么类型的设备(磁盘,扫描仪,CD-ROM驱动器等)。

每种SCSI适配器都有一个低级驱动程序 - 通常,每个品牌都有不同的驱动程序。 例如,Advansys适配器的低级驱动程序(由现在是Connect.com的公司制作)被命名为advansys 。 (如果您正在比较ATA(也称为IDE)和SCSI磁盘设备,这是一个主要区别 - ATA非常简单和标准,以至于一个驱动程序可以与所有公司的所有适配器一起工作。SCSI不太标准,因此您应该拥有对任何特定适配器与您的系统完美兼容的可信度降低)。

高级驱动程序向内核的其余部分呈现适合于某类设备的接口。 例如,用于磁带设备的SCSI高级驱动程序具有ioctls倒带功能。 CD-ROM驱动器的高级SCSI驱动程序sr不。

请注意,您很少需要特定品牌设备的高级驱动程序。 在这个层面上,一个品牌与另一个品牌的区别不大。

一个值得特别提及的SCSI高级驱动程序是sg 。 这个名为“SCSI generic”驱动程序的驱动程序是一个相当薄的层,它将SCSI中级驱动程序的一个相当原始的表示形式呈现给内核的其余部分。 通过SCSI通用驱动程序操作的用户空间程序(因为它们访问主要编号为sg (to wit,21)注册的设备专用文件)对SCSI协议有详细的了解,而用户空间程序通过其他SCSI高级驱动程序通常甚至不知道SCSI是什么。 SCSI-Programming-HOWTO具有SCSI通用驱动程序的完整文档。

SCSI模块的分层顺序掩盖了LKM相互依赖的方式以及它们必须加载的顺序。 您总是首先加载中级驱动程序并最后卸载它。 之后,低级和高级驱动程序可以以任何顺序加载和卸载,并且他们自己依赖于两端的中级驱动程序并依赖它们。 如果您没有完整的设置,当您尝试访问设备时,会出现“设备未找到”错误。

大多数SCSI低级(适配器)驱动程序不具有LKM参数; 他们通常会自动进行卡片设置。 如果你的卡片响应了一些非常规的端口地址,你必须将驱动程序绑定到基本内核并使用内核“命令行”选项。 请参阅BootPrompt-HOWTO。 或者你可以旋转源并重新编译。

许多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索引

参数。

15.3.6。 wd7000:用于7000FASST的SCSI低级驱动程序

例:


modprobe wd7000

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

该驱动程序可以使用该卡并需要安装BIOS。

15.3.7。 aha152x:用于Adaptec AHA152X / 2825的SCSI低级驱动程序

例:


modprobe aha152x

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

该驱动程序可以使用该卡并需要安装BIOS。

15.3.8。 aha1542:用于Adaptec AHA1542的SCSI低级驱动程序

例:


modprobe aha1542

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

该驱动程序仅在0x330和0x334自动检查卡。

15.3.9。 aha1740:用于Adaptec AHA1740 EISA的SCSI低级驱动程序

例:


modprobe aha1740

没有模块参数。

该驱动程序自动检查该卡。

15.3.10。 aic7xxx:用于Adaptec AHA274X / 284X / 294X的SCSI低级驱动程序

例:


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:Always IN2000的SCSI低级驱动程序

例:


modprobe in2000

没有模块参数。

该驱动程序自动检查该卡。 不需要BIOS。

15.3.13。 BusLogic:BusLogic的SCSI低级驱动程序

该驱动程序可以驱动的BusLogic卡列表很长。 阅读Linux源代码树中的文件驱动程序/ scsi / README.BusLogic以获取全部图片。

例:


modprobe BusLogic

没有模块参数。

如果将此驱动程序绑定到基本内核中,则可以通过内核引导参数将参数传递给它。 请参阅BootPrompt-HOWTO。

15.3.14。 dtc:DTC3180 / 3280的SCSI低级驱动程序

例:


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

没有模块参数。

Autoprobe适用于所有配置。

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:NCR5380 / 53c400的SCSI低级驱动程序

例:


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:NCR53c406a的SCSI低级驱动程序

例:


modprobe NCR53c406a

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

15.3.21。 53c7,8xx.o:适用于NCR53c7,8xx的SCSI低级驱动程序

例:


modprobe 53c7,8xx

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

该驱动程序自动检查该卡,并要求安装BIOS。

15.3.22。 ncr53c8xx:用于PCI-SCS NCR538xx系列的SCSI低级驱动程序

例:


modprobe ncr53c8xx

没有模块参数。

23年3月15日。 ppa:用于IOMEGA并行端口ZIP驱动器的低级SCSI驱动程序

有关详细信息,请参阅Linux源代码树中的文件drivers / scsi / README.ppa

例:


modprobe ppa ppa_base = 0x378 ppa_nybble = 1

参数:

15.3.24。 pas16:用于PAS16的SCSI低级驱动程序

例:


modprobe pas16

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

该驱动程序自动检查该卡。 不需要BIOS。

25年3月15日。 qlogicfas:用于Qlogic FAS的SCSI低级驱动程序

例:


modprobe qlogicfas

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

15.3.26。 qlogicisp:用于Qlogic ISP的SCSI低级驱动程序

例:


modprobe qlogicisp

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

需要固件。

15.3.27。 希捷:希捷未来领域的SCSI低级驱动程序

该驱动程序适用于希捷ST-02和未来域TMC-8xx。

例:


modprobe希捷

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

该驱动程序仅用于地址自动检查。 IRQ固定为5.该驱动程序需要安装BIOS。

28年3月15日。 t128:用于Trantor T128 / T128F / T228的SCSI低级驱动程序

例:


modprobe t128

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

该驱动程序自动检查该卡。 该驱动程序需要安装BIOS。

29年3月15日。 u14-34f:用于UltraStor 14F / 34F的SCSI低级驱动程序

例:


modprobe u14-34f

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。

该驱动程序自动检查卡,但不是 0x310端口。 不需要BIOS。

30年3月15日。 ultrastor:用于UltraStor的低级SCSI驱动程序

例:


modprobe ultrastor

LKM没有模块参数,但是如果将此模块绑定到基本内核中,则可以通过Linux引导参数传递一些参数。 请参阅BootPrompt-HOWTO。