Skip to main content

Linux Loadable Kernel Module How-To - 15.3. SCSI-drivere

How to build a Linux loadable kernel module that Rickrolls people (Juni 2026)

How to build a Linux loadable kernel module that Rickrolls people (Juni 2026)

:

Anonim

15.3. SCSI-drivere

Detaljert informasjon om SCSI-drivere er i SCSI-2.4-HOWTO.

Linuxs SCSI-funksjon er implementert i tre lag, og det finnes LKMs for alle dem.

I midten er mid-level driver eller SCSI kjernen. Dette består av scsi_mod LKM. Det gjør alle de tingene som er vanlige blant SCSI-enheter, uansett hvilken SCSI-adapter du bruker og hvilken klasse av enhet (disk, skanner, CD-ROM-stasjon, etc.).

Det finnes en lavnivå driver for hver type SCSI-adapter - vanligvis en annen driver for hvert merke. For eksempel er lavnivådriveren for Advansys-adaptere (laget av firmaet som nå er Connect.com) navngitt Advansys . (Hvis du sammenligner ATA (aka IDE) og SCSI-diskenheter, er dette en stor forskjell - ATA er enkel og standard nok til at en driver fungerer sammen med alle adaptere fra alle selskaper. SCSI er mindre standard og som et resultat bør du ha mindre tillit til en bestemt adapter er perfekt kompatibel med systemet ditt).

Krav på høyt nivå til resten av kjernen er et grensesnitt som passer til en bestemt klasse enheter. SCSI høynivå driver for tape enheter, st , for eksempel, har ioctl å spole tilbake. SCSI-driveren på høyt nivå for CD-ROM-stasjoner, sr , gjør ikke.

Legg merke til at du sjelden trenger et høynivå driver som er spesifikt for et bestemt merke av en enhet. På dette nivået er det lite rom for ett merke å skille fra en annen.

En SCSI høynivå driver som fortjener spesiell omtale er sg . Denne driveren, kalt "SCSI generisk" driveren, er et ganske tynt lag som presenterer en ganske rå representasjon av SCSI mid-level driver til resten av kjernen. Brukerplassprogrammer som opererer via den generiske SCSI-driveren (fordi de får tilgang til enhetsspesifikke filer hvis hovednummer er registrert av sg (tilsvarer 21)) har en detaljert forståelse av SCSI-protokoller, mens brukerplassprogrammer som opererer gjennom andre SCSI-drivere på høyt nivå, vanligvis ikke engang vet hva SCSI er. SCSI-Programming-HOWTO har fullstendig dokumentasjon av den SCSI generiske driveren.

Lagringsordren til SCSI-modulene viser hvordan LKMs er avhengige av hverandre og rekkefølgen der de må lastes. Du laster alltid mid-level driveren først og laster den sist. Lavt nivå og høyt nivå drivere kan lastes og lastes i hvilken som helst rekkefølge etter det, og de knytter seg til og etablerer avhengighet av mid-level driveren i begge ender. Hvis du ikke har et komplett sett, vil du få en feil på enheten som ikke er funnet når du prøver å få tilgang til en enhet.

De fleste SCSI-lavnivå (adapter) drivere har ikke LKM-parametere; de gjør vanligvis autoprobe for kortinnstillinger. Hvis kortet ditt reagerer på noen ukonvensjonelle portadresser, må du binde driveren til basekjernen og bruke kjernen "kommandolinje" -alternativene. Se BootPrompt-HOWTO. Eller du kan twiddle The Source og kompilere.

Mange SCSI-lavnivådrivere har dokumentasjon i drivere / scsi katalog i Linux kildetreet, i filer kalt README. *.

15.3.1. scsi_mod: SCSI mid-level driver

Eksempel:

modprobe scsi_mod

Det er ingen modulparametere.

15.3.2. sd_mod: SCSI høynivå driver for diskenheter

Eksempel:

modprobe sd_mod

Det er ingen modulparametere.

15.3.3. St: SCSI høynivå driver for tape enheter

Eksempel:

modprobe st

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

15.3.4. sr_mod: SCSI høynivå driver for CD-ROM-stasjoner

Eksempel:

modprobe sr_mod

Det er ingen modulparametere.

15.3.5. sg: SCSI høynivå driver for generiske SCSI enheter

Se forklaringen til denne spesielle høysjåføren ovenfor.

Eksempel:

modprobe sg

Det er ingen modulparametere.

* Tillatelse

* Loadable Kernel Module How-To Index

parametre.

15.3.6. wd7000: SCSI lavnivå driver for 7000FASST

Eksempel:

modprobe wd7000

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne driveren oppfordrer kortet og krever installert BIOS.

15.3.7. aha152x: SCSI lavnivå driver for Adaptec AHA152X / 2825

Eksempel:

modprobe aha152x

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne driveren oppfordrer kortet og krever installert BIOS.

15.3.8. aha1542: SCSI lavnivå driver for Adaptec AHA1542

Eksempel:

modprobe aha1542

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne sjåføren autoprobes kortet kun på 0x330 og 0x334.

15.3.9. aha1740: SCSI lavnivå driver for Adaptec AHA1740 EISA

Eksempel:

modprobe aha1740

Det er ingen modulparametere.

Denne sjåføren autoprobes kortet.

15.3.10. aic7xxx: SCSI lavnivå driver for Adaptec AHA274X / 284X / 294X

Eksempel:

modprobe aic7xxx

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne sjåføren autoprobes kortet og BIOS må være aktivert.

15.3.11. Advansys: SCSI lavnivå driver for AdvanSys / Connect.com

Eksempel:

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

Modul Parametre:

  • asc_iopflag
    • 1
    • aktiver portscanning
    • 0
    • deaktiver portscanning
  • asc_ioport
  • I / O-port adresserer for å søke etter Advansys SCSI-adaptere
  • asc_dbglvl
  • feilsøkingsnivå:
      • 0
    • Kun feil
    • 1
    • Sporing på høyt nivå
    • 2-N-
    • Verbose sporing

Hvis du binder denne driveren til basekjernen, kan du sende parametere til den via kjernestartsparametrene. Se BootPrompt-HOWTO.

15.3.12. in2000: SCSI lavnivå driver for alltid IN2000

Eksempel:

modprobe in2000

Det er ingen modulparametere.

Denne sjåføren autoprobes kortet. Ingen BIOS er nødvendig.

15.3.13. BusLogic: SCSI lavnivå driver for BusLogic

Listen over BusLogic-kortene som denne sjåføren kan kjøre, er lang. Les fil drivere / scsi / README.BusLogic i Linux kilde treet for å få det totale bildet.

Eksempel:

modprobe BusLogic

Det er ingen modulparametere.

Hvis du binder denne driveren til basekjernen, kan du sende parametere til den via kjernestartsparametrene. Se BootPrompt-HOWTO.

15.3.14. dtc: SCSI lavnivå driver for DTC3180 / 3280

Eksempel:

modprobe dtc

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne sjåføren autoprobes kortet.

15.3.15. eata: SCSI lavnivå driver for EATA ISA / EISA

Denne sjåføren håndterer DPT PM2011 / 021/012/022/122/322.

Eksempel:

modprobe eata

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

15.3.16. eata_dma: SCSI lavnivå driver for EATA-DMA

Denne driveren håndterer DPT, NEC, AT & T, SNI, AST, Olivetti og Alphatronix.

Denne driveren håndterer DPT Smartcache, Smartcache III og SmartRAID.

Eksempel:

modprobe eata_dma

Det er ingen modulparametere.

Autoprobe fungerer i alle konfigurasjoner.

15.3.17. eata_pio: SCSI lavnivå driver for EATA-PIO

Denne driveren håndterer gammel DPT PM2001, PM2012A.

Eksempel:

modprobe eata_pio

Det er ingen modulparametere.

15.3.18. fdomain: SCSI lavnivå driver for Future Domain 16xx

Eksempel:

modprobe fdomain

Det er ingen modulparametere.

Denne driveren autoprobes kortet og krever installert BIOS.

15.3.19. NCR5380: SCSI lavnivå driver for NCR5380 / 53c400

Eksempel:

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

for en port kartlagt NCR5380 bord:

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

for et minnekortet NCR53C400 bord med avbrudd deaktivert:

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

parametere:

  • ncr_irq
  • den driveren som skal betjenes. 255 betyr nei eller DMA-avbrudd. 254 til autoprobe for en IRQ linje hvis overstyrt på kommandolinjen.
  • ncr_addr
  • I / O-portadressen eller minnekortet I / O-adresse, alt etter hva som passer, at føreren skal kjøre
  • ncr_dma
  • DMA-kanalen føreren skal bruke
  • ncr_5380
  • 1 = satt opp for et NCR5380 bord
  • ncr_53c400
  • 1 = satt opp for et NCR53C400 bord

Hvis du binder denne driveren til basekjernen, kan du sende parametere til den via kjernestartsparametrene. Se BootPrompt-HOWTO.

15.3.20. NCR53c406a: SCSI lavnivå driver for NCR53c406a

Eksempel:

modprobe NCR53c406a

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

15.3.21. 53c7,8xx.o: SCSI lavnivå driver for NCR53c7,8xx

Eksempel:

modprobe 53c7,8xx

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne driveren autoprobes kortet og krever installert BIOS.

15.3.22. ncr53c8xx: SCSI lavnivå driver for PCI-SCS NCR538xx familie

Eksempel:

modprobe ncr53c8xx

Det er ingen modulparametere.

15.3.23. ppa: SCSI-driver med lavt nivå for IOMEGA parallell port ZIP-stasjon

Se filen drivere / scsi / README.ppa i Linux kilde treet for detaljer.

Eksempel:

modprobe ppa ppa_base = 0x378 ppa_nybble = 1

parametere:

  • ppa_base
  • Basisadresse til PPAs I / O-port. Standard 0x378.
  • ppa_speed_high
  • Forsinkelse brukt i dataoverføringer, i mikrosekunder. Standard er 1.
  • ppa_speed_low
  • Forsinkelse brukt i andre
  • operasjoner, i mikrosekunder. Standard er 6.
  • ppa_nybble
  • 1 = Bruk 4-bit modus. 0 = ikke. Standard er 0.

15.3.24. pas16: SCSI lavnivå driver for PAS16

Eksempel:

modprobe pas16

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne sjåføren autoprobes kortet. Ingen BIOS er nødvendig.

15.3.25. qlogicfas: SCSI lavnivå driver for Qlogic FAS

Eksempel:

modprobe qlogicfas

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

15.3.26. qlogicisp: SCSI lavnivå driver for Qlogic ISP

Eksempel:

modprobe qlogicisp

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Krever fastvare.

15.3.27. seagate: SCSI lavnivå driver for Seagate, Future Domain

Denne driveren er for Seagate ST-02 og Future Domain TMC-8xx.

Eksempel:

modprobe seagate

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne sjåføren autoprobes kun for adressen. IRQ er fast til 5. Driveren krever installert BIOS.

15.3.28. t128: SCSI lavnivå driver for Trantor T128 / T128F / T228

Eksempel:

modprobe t128

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne sjåføren autoprobes kortet. Driveren krever installert BIOS.

15.3.29. u14-34f: SCSI lavnivå driver for UltraStor 14F / 34F

Eksempel:

modprobe u14-34f

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.

Denne sjåføren autoprobes kortet, men ikke 0x310 porten. Ingen BIOS er nødvendig.

15.3.30. Ultrastor: SCSI-driver med lavt nivå for UltraStor

Eksempel:

modprobe ultrastor

Det finnes ingen modulparametere for LKM, men hvis du binder denne modulen til basekjernen, kan du passere noen parametre via Linux-oppstartsparametrene. Se BootPrompt-HOWTO.