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 2025)

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

Indholdsfortegnelse:

Anonim

15.3. SCSI-drivere

Detaljeret information om SCSI-drivere findes i SCSI-2.4-HOWTO.

Linux SCSI-funktion er implementeret i tre lag, og der er LKM'er for dem alle.

I midten er mid-level driveren eller SCSI kernen. Dette består af scsi_mod LKM. Det gør alle de ting, der er almindelige blandt SCSI-enheder, uanset hvilken SCSI-adapter du bruger, og hvilken klasse enhed (disk, scanner, cd-rom-drev osv.) Er det.

Der er en lavniveau driver til hver type SCSI adapter - typisk en anden driver til hvert mærke. For eksempel er lavniveau driveren til Advansys-adaptere (fremstillet af firmaet, der nu er Connect.com) navngivet Advansys . (Hvis du sammenligner ATA (aka IDE) og SCSI-diskenheder, er dette en stor forskel - ATA er enkel og standard nok til, at en driver fungerer sammen med alle adaptere fra alle virksomheder. SCSI er mindre standard, og du bør derfor have mindre tillid til en bestemt adapter er perfekt kompatibel med dit system).

Højniveau-drivere præsenterer resten af ​​kernen en grænseflade, der passer til en bestemt klasse enheder. SCSI højniveau driver til tape enheder, st , for eksempel har ioctls at spole tilbage. SCSI-driveren på højt niveau til cd-rom-drev, sr , gør ikke.

Bemærk, at du sjældent har brug for et højniveau driver specifikt til et bestemt mærke af enheden. På dette niveau er der ikke plads til, at et mærke kan skelnes fra en anden.

En SCSI højt niveau driver, der fortjener særlig omtale er sg . Denne driver, kaldet "SCSI generisk" driveren, er et ret tyndt lag, der frembyder en ret rå repræsentation af SCSI mid-level driveren til resten af ​​kernen. Brugerrumsprogrammer, der opererer via den SCSI-generiske driver (fordi de har adgang til specielle specialfiler, hvis hovednummer er registreret af sg (til 21)) har en detaljeret forståelse for SCSI-protokoller, mens brugerrumsprogrammer, der opererer via andre SCSI-højniveau-drivere, typisk ved ikke engang, hvad SCSI er. SCSI-Programmering-HOWTO har komplet dokumentation for den SCSI generiske driver.

Lægningsordren i SCSI-modulerne belyser den måde, hvorpå LKM'erne er afhængige af hinanden og den rækkefølge, hvori de skal indlæses. Du læser altid mid-level driveren først og aflaster den sidst. Køretøjer på lavt niveau og på højt niveau kan indlæses og losses i en hvilken som helst rækkefølge efter det, og de knytter sig til og etablerer afhængighed af mid-level-driveren i begge ender. Hvis du ikke har et komplet sæt, får du en fejlmeddelelse om "enhed ikke fundet", når du forsøger at få adgang til en enhed.

De fleste SCSI-lavniveau (adapter) drivere har ikke LKM parametre; de gør generelt autoprobe til kortindstillinger. Hvis dit kort svarer til nogle ukonventionelle portadresser, skal du binde driveren til basekernen og bruge kernel "command line" indstillinger. Se BootPrompt-HOWTO. Eller du kan twiddle The Source og genkompilere.

Mange SCSI-lavniveau-drivere har dokumentation i drivere / scsi bibliotek i Linux kildetræet, i filer kaldet README. *.

15.3.1. scsi_mod: SCSI mid-level driver

Eksempel:

modprobe scsi_mod

Der er ingen modulparametre.

15.3.2. sd_mod: SCSI højniveau driver til diskenheder

Eksempel:

modprobe sd_mod

Der er ingen modulparametre.

15.3.3. St: SCSI højniveau driver til tape enheder

Eksempel:

modprobe st

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

15.3.4. sr_mod: SCSI højniveau driver til cd-rom-drev

Eksempel:

modprobe sr_mod

Der er ingen modulparametre.

15.3.5. sg: SCSI højniveau driver til generiske SCSI enheder

Se forklaringen af ​​denne specielle højtydende driver ovenfor.

Eksempel:

modprobe sg

Der er ingen modulparametre.

* Licens

* Loadable Kernel Module How-To Index

parametre.

15.3.6. wd7000: SCSI lavniveau driver til 7000FASST

Eksempel:

modprobe wd7000

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver optager kortet og kræver installeret BIOS.

15.3.7. aha152x: SCSI lavniveau driver til Adaptec AHA152X / 2825

Eksempel:

modprobe aha152x

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver optager kortet og kræver installeret BIOS.

15.3.8. aha1542: SCSI lavniveau driver til Adaptec AHA1542

Eksempel:

modprobe aha1542

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver autoprobes kortet kun ved 0x330 og 0x334.

15.3.9. aha1740: SCSI lavniveau driver til Adaptec AHA1740 EISA

Eksempel:

modprobe aha1740

Der er ingen modulparametre.

Denne driver autoprobes kortet.

15.3.10. aic7xxx: SCSI lavniveau driver til Adaptec AHA274X / 284X / 294X

Eksempel:

modprobe aic7xxx

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver autoprobes kortet og BIOS skal være aktiveret.

15.3.11. Advansys: SCSI lavniveau driver til AdvanSys / Connect.com

Eksempel:

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

Modulparametre:

  • asc_iopflag
    • 1
    • aktiver portscanning
    • 0
    • deaktiver portscanning
  • asc_ioport
  • I / O-porten adresserer for at scanne efter Advansys SCSI-adaptere
  • asc_dbglvl
  • debugging niveau:
      • 0
    • Kun fejl
    • 1
    • Sporing på højt niveau
    • 2-N
    • Verbose sporing

Hvis du binder denne driver ind i basekernen, kan du overføre parametre til den via kernel boot parametrene. Se BootPrompt-HOWTO.

15.3.12. in2000: SCSI lavniveau driver til Always IN2000

Eksempel:

modprobe in2000

Der er ingen modulparametre.

Denne driver autoprobes kortet. Ingen BIOS er påkrævet.

15.3.13. BusLogic: SCSI lavniveau driver til BusLogic

Listen over BusLogic-kort, som denne driver kan køre, er lang. Læs fil chauffører / scsi / README.BusLogic i Linux kilde træet for at få det samlede billede.

Eksempel:

modprobe BusLogic

Der er ingen modulparametre.

Hvis du binder denne driver ind i basekernen, kan du overføre parametre til den via kernel boot parametrene. Se BootPrompt-HOWTO.

15.3.14. dtc: SCSI lavniveau driver til DTC3180 / 3280

Eksempel:

modprobe dtc

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver autoprobes kortet.

15.3.15. eata: SCSI lavniveau driver til EATA ISA / EISA

Denne chauffør håndterer DPT PM2011 / 021/012/022/122/322.

Eksempel:

modprobe eata

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

15.3.16. eata_dma: SCSI lavniveau driver til EATA-DMA

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

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

Eksempel:

modprobe eata_dma

Der er ingen modulparametre.

Autoprobe fungerer i alle konfigurationer.

15.3.17. eata_pio: SCSI lavniveau driver til EATA-PIO

Denne driver håndterer gamle DPT PM2001, PM2012A.

Eksempel:

modprobe eata_pio

Der er ingen modulparametre.

15.3.18. fdomain: SCSI lavniveau driver til Future Domain 16xx

Eksempel:

modprobe fdomain

Der er ingen modulparametre.

Denne driver autoprobes kortet og kræver installeret BIOS.

15.3.19. NCR5380: SCSI lavniveau driver til NCR5380 / 53c400

Eksempel:

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

til en port kortlagt NCR5380 bord:

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

til et hukommelseskortet NCR53C400 bord med afbrydelser deaktiveret:

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

Parametre:

  • ncr_irq
  • den driver, der skal betjenes. 255 betyder nej eller DMA afbrydelse. 254 til autoprobe for en IRQ linje hvis overskredet på kommandolinjen.
  • ncr_addr
  • I / O-portadressen eller den hukommelseskortede I / O-adresse, alt efter hvad der er relevant, at føreren skal køre
  • ncr_dma
  • DMA-kanalen, som føreren skal bruge
  • ncr_5380
  • 1 = indstillet til et NCR5380 bord
  • ncr_53c400
  • 1 = indstillet til et NCR53C400 bord

Hvis du binder denne driver ind i basekernen, kan du overføre parametre til den via kernel boot parametrene. Se BootPrompt-HOWTO.

15.3.20. NCR53c406a: SCSI lavniveau driver til NCR53c406a

Eksempel:

modprobe NCR53c406a

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

15.3.21. 53c7,8xx.o: SCSI lavniveau driver til NCR53c7,8xx

Eksempel:

modprobe 53c7,8xx

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver autoprobes kortet og kræver installeret BIOS.

15.3.22. ncr53c8xx: SCSI lavniveau driver til PCI-SCS NCR538xx familie

Eksempel:

modprobe ncr53c8xx

Der er ingen modulparametre.

15.3.23. ppa: SCSI-driver med lavt niveau til IOMEGA parallelport ZIP-drev

Se filen chauffører / scsi / README.ppa i Linux kilde træet for detaljer.

Eksempel:

modprobe ppa ppa_base = 0x378 ppa_nybble = 1

Parametre:

  • ppa_base
  • Basisadresse for PPA'ens I / O-port. Standard 0x378.
  • ppa_speed_high
  • Forsinkelse anvendt i dataoverførsler, i mikrosekunder. Standard er 1.
  • ppa_speed_low
  • Forsinkelse anvendt i andre
  • operationer, i mikrosekunder. Standard er 6.
  • ppa_nybble
  • 1 = Brug 4-bit mode. 0 = ikke. Standard er 0.

15.3.24. pas16: SCSI lavniveau driver til PAS16

Eksempel:

modprobe pas16

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver autoprobes kortet. Ingen BIOS er påkrævet.

15.3.25. qlogicfas: SCSI lavniveau driver til Qlogic FAS

Eksempel:

modprobe qlogicfas

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

15.3.26. qlogicisp: SCSI lavniveau driver til Qlogic ISP

Eksempel:

modprobe qlogicisp

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Kræver firmware.

15.3.27. seagate: SCSI lavniveau driver til Seagate, Future Domain

Denne driver er til Seagate ST-02 og Future Domain TMC-8xx.

Eksempel:

modprobe seagate

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver autoprobes kun til adresse. IRQ er fastsat til 5. Driveren kræver installeret BIOS.

15.3.28. t128: SCSI lavt niveau driver til Trantor T128 / T128F / T228

Eksempel:

modprobe t128

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver autoprobes kortet. Driveren kræver installeret BIOS.

15.3.29. u14-34f: SCSI lavniveau driver til UltraStor 14F / 34F

Eksempel:

modprobe u14-34f

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.

Denne driver autoprobes kortet, men ikke 0x310 porten. Ingen BIOS er påkrævet.

15.3.30. ultrastor: SCSI-driver med lavt niveau til UltraStor

Eksempel:

modprobe ultrastor

Der er ingen modulparametre for LKM, men hvis du binder dette modul til basekernen, kan du videresende nogle parametre via Linux-opstartsparametrene. Se BootPrompt-HOWTO.