Skip to main content

Das Linux-ladbare Kernel-Modul - 15.3. SCSI-Treiber

OpenATV Herunterladbare Plugins werden nicht mehr angezeigt, ich sage euch Warum!? (Kann 2025)

OpenATV Herunterladbare Plugins werden nicht mehr angezeigt, ich sage euch Warum!? (Kann 2025)

Inhaltsverzeichnis:

Anonim

15.3. SCSI-Treiber

Detaillierte Informationen zu SCSI-Treibern finden Sie in SCSI-2.4-HOWTO.

Die SCSI-Funktion von Linux ist in drei Schichten implementiert, und für alle gibt es LKMs.

In der Mitte befindet sich der mittlere Treiber oder SCSI-Kern. Dies besteht aus der scsi_mod LKM. Es erledigt alle Dinge, die unter SCSI-Geräten üblich sind, unabhängig davon, welchen SCSI-Adapter Sie verwenden und welche Geräteklasse (Datenträger, Scanner, CD-ROM-Laufwerk usw.) es ist.

Für jede Art von SCSI-Adapter gibt es einen Low-Level-Treiber - normalerweise einen anderen Treiber für jede Marke. Zum Beispiel wird der Low-Level-Treiber für Advansys-Adapter (von der Firma Connect.com) benannt Advansys . (Wenn Sie ATA- (aka IDE-) und SCSI-Festplattengeräte vergleichen, ist dies ein wesentlicher Unterschied - ATA ist so einfach und standardmässig, dass ein Treiber mit allen Adaptern aller Unternehmen zusammenarbeitet weniger Vertrauen in einen bestimmten Adapter, der perfekt mit Ihrem System kompatibel ist.

Treiber der höheren Ebene bieten dem Rest des Kernels eine Schnittstelle, die für eine bestimmte Klasse von Geräten geeignet ist. Der SCSI-High-Level-Treiber für Bandgeräte, st hat zum Beispiel Ioctls zum Zurückspulen. Der High-Level-SCSI-Treiber für CD-ROM-Laufwerke sr , nicht.

Beachten Sie, dass Sie selten einen High-Level-Treiber benötigen, der für eine bestimmte Gerätemarke spezifisch ist. Auf dieser Ebene gibt es wenig Raum für eine Marke, um sich von einer anderen unterscheiden zu können.

Ein SCSI-High-Level-Treiber, der besonders erwähnt werden muss, ist sg . Dieser Treiber, der als "generischer SCSI-Treiber" bezeichnet wird, ist eine ziemlich dünne Schicht, die dem Rest des Kernels eine ziemlich rohe Darstellung des mittleren SCSI-Treibers darstellt. Benutzerraumprogramme, die über den generischen SCSI-Treiber ausgeführt werden (weil sie auf spezielle Gerätedateien zugreifen, deren Hauptnummer diejenige ist, die von registriert wird) sg (zu 21) verfügen über ein detailliertes Verständnis der SCSI-Protokolle, wohingegen Benutzerraumprogramme, die über andere SCSI-High-Level-Treiber laufen, normalerweise nicht einmal wissen, was SCSI ist. SCSI-Programming-HOWTO enthält eine vollständige Dokumentation des generischen SCSI-Treibers.

Die Reihenfolge der Schichten der SCSI-Module hängt davon ab, wie die LKMs voneinander abhängig sind und in welcher Reihenfolge sie geladen werden müssen. Sie laden immer den Mid-Level-Treiber zuerst und entladen ihn zuletzt. Die Low-Level- und High-Level-Treiber können danach in beliebiger Reihenfolge geladen und entladen werden. Sie haken sich an beiden Enden des Mid-Level-Treibers ein und stellen eine Abhängigkeit davon her. Wenn Sie nicht über ein vollständiges Set verfügen, wird beim Versuch, auf ein Gerät zuzugreifen, die Fehlermeldung "Gerät nicht gefunden" angezeigt.

Die meisten SCSI-Low-Level-Treiber (Adapter) verfügen nicht über LKM-Parameter. Sie führen im Allgemeinen eine automatische Probeaufnahme für Karteneinstellungen durch. Wenn Ihre Karte auf eine unkonventionelle Portadresse reagiert, müssen Sie den Treiber an den Basiskernel binden und die "Befehlszeilenoptionen" des Kernels verwenden. Siehe BootPrompt-HOWTO. Oder Sie können The Source drehen und neu kompilieren.

Viele SCSI-Low-Level-Treiber verfügen über eine Dokumentation im Treiber / Scsi Verzeichnis in der Linux-Quellstruktur, in Dateien namens README. *.

15.3.1. scsi_mod: SCSI-Treiber auf mittlerer Ebene

Beispiel:

modprobe scsi_mod

Es gibt keine Modulparameter.

15.3.2. sd_mod: SCSI-High-Level-Treiber für Plattengeräte

Beispiel:

modprobe sd_mod

Es gibt keine Modulparameter.

15.3.3. st: SCSI-High-Level-Treiber für Bandgeräte

Beispiel:

modprobe st

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Boot-Parameter übergeben. Siehe BootPrompt-HOWTO.

15.3.4. sr_mod: SCSI-High-Level-Treiber für CD-ROM-Laufwerke

Beispiel:

modprobe sr_mod

Es gibt keine Modulparameter.

15.3.5. sg: SCSI-High-Level-Treiber für generische SCSI-Geräte

Siehe die Erklärung zu diesem speziellen High-Level-Treiber weiter oben.

Beispiel:

modprobe sg

Es gibt keine Modulparameter.

* Lizenz

* Loadable Kernel Module How-To-Index

Parameter.

15.3.6. wd7000: SCSI-Low-Level-Treiber für 7000FASST

Beispiel:

modprobe wd7000

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Boot-Parameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber prüft die Karte und erfordert ein installiertes BIOS.

15.3.7. aha152x: SCSI-Low-Level-Treiber für Adaptec AHA152X / 2825

Beispiel:

modprobe aha152x

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber prüft die Karte und erfordert ein installiertes BIOS.

15.3.8. aha1542: SCSI-Low-Level-Treiber für Adaptec AHA1542

Beispiel:

modprobe aha1542

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber prüft die Karte nur bei 0x330 und 0x334.

15.3.9. aha1740: SCSI-Low-Level-Treiber für Adaptec AHA1740 EISA

Beispiel:

modprobe aha1740

Es gibt keine Modulparameter.

Dieser Treiber prüft die Karte automatisch.

15.3.10. aic7xxx: SCSI-Low-Level-Treiber für Adaptec AHA274X / 284X / 294X

Beispiel:

modprobe aic7xxx

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber zeigt automatisch die Karte und das BIOS an.

15.3.11. advansys: Low-Level-SCSI-Treiber für AdvanSys / Connect.com

Beispiel:

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

Modulparameter:

  • asc_iopflag
    • 1
    • Port-Scanning aktivieren
    • 0
    • Port-Scan deaktivieren
  • asc_ioport
  • E / A-Portadressen zum Scannen nach Advansys SCSI-Adaptern
  • asc_dbglvl
  • Debugging-Ebene:
      • 0
    • Nur Fehler
    • 1
    • Rückverfolgung auf hohem Niveau
    • 2-N
    • Ausführliche Nachverfolgung

Wenn Sie diesen Treiber in den Basiskernel einbinden, können Sie ihm über die Kernel-Boot-Parameter Parameter übergeben. Siehe BootPrompt-HOWTO.

15.3.12. in2000: SCSI-Low-Level-Treiber für Always IN2000

Beispiel:

modprobe in2000

Es gibt keine Modulparameter.

Dieser Treiber prüft die Karte automatisch. Es ist kein BIOS erforderlich.

15.3.13. BusLogic: Low-Level-SCSI-Treiber für BusLogic

Die Liste der BusLogic-Karten, die dieser Treiber fahren kann, ist lang. Datei lesen Treiber / scsi / README.BusLogic im Linux-Quellbaum, um das Gesamtbild zu erhalten.

Beispiel:

modprobe BusLogic

Es gibt keine Modulparameter.

Wenn Sie diesen Treiber in den Basiskernel einbinden, können Sie ihm über die Kernel-Boot-Parameter Parameter übergeben. Siehe BootPrompt-HOWTO.

15.3.14. dtc: SCSI-Low-Level-Treiber für DTC3180 / 3280

Beispiel:

modprobe dtc

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber prüft die Karte automatisch.

15.3.15. eata: SCSI-Low-Level-Treiber für EATA ISA / EISA

Dieser Treiber ist für DPT PM2011 / 021/012/022/122/322 zuständig.

Beispiel:

modprobe eata

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

15.3.16. eata_dma: SCSI-Low-Level-Treiber für EATA-DMA

Dieser Treiber unterstützt DPT, NEC, AT & T, SNI, AST, Olivetti und Alphatronix.

Dieser Treiber unterstützt DPT Smartcache, Smartcache III und SmartRAID.

Beispiel:

modprobe eata_dma

Es gibt keine Modulparameter.

Autoprobe funktioniert in allen Konfigurationen.

15.3.17. eata_pio: SCSI-Low-Level-Treiber für EATA-PIO

Dieser Treiber behandelt alte DPT PM2001, PM2012A.

Beispiel:

modprobe eata_pio

Es gibt keine Modulparameter.

15.3.18. fdomain: SCSI-Low-Level-Treiber für Future Domain 16xx

Beispiel:

modprobe fdomain

Es gibt keine Modulparameter.

Dieser Treiber testet die Karte automatisch und erfordert ein installiertes BIOS.

15.3.19. NCR5380: SCSI-Low-Level-Treiber für NCR5380 / 53c400

Beispiel:

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

für eine NCR5380-Karte mit Portzuordnung:

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

für eine speicherzugeordnete NCR53C400-Karte mit deaktivierten Interrupts:

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

Parameter:

  • ncr_irq
  • der irq der Fahrer ist zu warten. 255 bedeutet kein oder DMA-Interrupt. 254 für die automatische Erkennung einer IRQ-Zeile, wenn in der Befehlszeile überschrieben.
  • ncr_addr
  • die E / A-Anschlussadresse oder die durch den Speicher zugeordnete E / A-Adresse, je nachdem, was für den Treiber geeignet ist
  • ncr_dma
  • den DMA-Kanal, den der Treiber verwenden soll
  • ncr_5380
  • 1 = für eine NCR5380-Karte eingerichtet
  • ncr_53c400
  • 1 = für eine NCR53C400-Karte eingerichtet

Wenn Sie diesen Treiber in den Basiskernel einbinden, können Sie ihm über die Kernel-Bootparameter Parameter übergeben. Siehe BootPrompt-HOWTO.

15.3.20. NCR53c406a: SCSI-Low-Level-Treiber für NCR53c406a

Beispiel:

modprobe NCR53c406a

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

15.3.21. 53c7,8xx.o: SCSI-Low-Level-Treiber für NCR53c7,8xx

Beispiel:

modprobe 53c7,8xx

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber testet die Karte automatisch und erfordert ein installiertes BIOS.

15.3.22. ncr53c8xx: SCSI-Low-Level-Treiber für die PCI-SCS NCR538xx-Familie

Beispiel:

modprobe ncr53c8xx

Es gibt keine Modulparameter.

15.3.23. ppa: Low-Level-SCSI-Treiber für ein ZIP-Laufwerk mit IOMEGA-Parallelanschluss

Siehe die Datei Treiber / scsi / README.ppa Weitere Informationen finden Sie im Linux-Quellbaum.

Beispiel:

modprobe ppa ppa_base = 0x378 ppa_nybble = 1

Parameter:

  • ppa_base
  • Basisadresse des E / A-Ports des PPA. Standardeinstellung 0x378.
  • ppa_speed_high
  • Verzögerung bei der Datenübertragung in Mikrosekunden. Standardeinstellung ist 1.
  • ppa_speed_low
  • Verzögerung verwendet in anderen
  • Operationen in Mikrosekunden. Standardeinstellung ist 6.
  • ppa_nybble
  • 1 = 4-Bit-Modus verwenden. 0 = nicht. Der Standardwert ist 0.

15.3.24. pas16: SCSI-Low-Level-Treiber für PAS16

Beispiel:

modprobe pas16

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber prüft die Karte automatisch. Es ist kein BIOS erforderlich.

15.3.25. qlogicfas: SCSI-Low-Level-Treiber für Qlogic FAS

Beispiel:

modprobe qlogicfas

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

15.3.26. qlogicisp: SCSI-Treiber auf niedriger Ebene für Qlogic ISP

Beispiel:

modprobe qlogicisp

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Benötigt Firmware.

15.3.27. seagate: SCSI-Low-Level-Treiber für Seagate, Future Domain

Dieser Treiber ist für Seagate ST-02 und Future Domain TMC-8xx bestimmt.

Beispiel:

modprobe seagate

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber zeigt automatisch nur Adressen an. Der IRQ ist auf 5 festgelegt. Der Treiber erfordert ein installiertes BIOS.

15.3.28. t128: SCSI-Low-Level-Treiber für Trantor T128 / T128F / T228

Beispiel:

modprobe t128

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber prüft die Karte automatisch. Der Treiber erfordert ein installiertes BIOS.

15.3.29. u14-34f: Low-Level-SCSI-Treiber für UltraStor 14F / 34F

Beispiel:

modprobe u14-34f

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.

Dieser Treiber prüft die Karte jedoch automatisch nicht der 0x310-Port. Es ist kein BIOS erforderlich.

15.3.30. Ultrastor: Low-Level-SCSI-Treiber für UltraStor

Beispiel:

Modprobe Ultrastor

Es gibt keine Modulparameter für das LKM. Wenn Sie dieses Modul jedoch in den Basiskern binden, können Sie einige Parameter über die Linux-Bootparameter übergeben. Siehe BootPrompt-HOWTO.