Dieser Abschnitt enthält eine Beschreibung der Bootparameter, die zur Weitergabe von Informationen über die installierten SCSI-Host-Adapter und SCSI-Geräte verwendet werden.
MIDLEVEL-Treiber sind zuständig für Dinge wie Disketten, CD-ROMs und Tapes ohne dabei in Host-Adapter-Bezeichnungen zu geraten.
Jedes SCSI-Gerät kann eine Reihe von `Sub-Geräten' enthalten. Das beste Beispiel ist eines der neuen SCSI CD-ROMs, das gleichzeitig mehr als eine CD bedienen kann. Jede CD wird als `Logical Unit Number' (LUN) dieses bestimmten Gerätes angesprochen. Die meisten Geräte jedoch, wie z.B. Festplatten, Bandlaufwerke u.ä. bestehen nur aus einer Geräteeinheit und erhalten LUN Null.
Das Problem ergibt sich bei Geräten mit einer einzigen LUN mit schlechter Firmware. Einige schlecht entwickelte SCSI-Geräte (alte und unglücklicherweise auch neue) können nicht mit der Überprüfung für LUNs ungleich Null umgehen. Sie antworten, indem sie sich und möglicherweise mit sich den gesamten SCSI-Bus sperren.
Neuere Kernel verfügen über eine Konfigurations-Option, die es ermöglicht, die maximale Anzahl von geprüften LUNs festzulegen. Standardmäßig untersucht man nur LUN Null, um das oben erwähnte Problem zu vermeiden.
Zur Bestimmung der Anzahl von geprüften LUNs beim Booten gibt
man `max_scsi_luns=n
' als Bootparameter ein, wobei n eine Zahl
zwischen 1 und 8 ist. Um oben genannte Probleme zu vermeiden,
würde man n=1 verwenden, um solche defekten Geräte
nicht zu verwirren.
Ein Teil der Boot- Konfiguration des SCSI-Tape-Treibers kann mit folgendem Kommando erfolgen:
st=buf_size[,write_threshold[,max_bufs]]
Die ersten zwei Zahlen werden in kB-Einheiten angegeben. Die
Standard- buf_size
ist 32 kB und die maximal zu bestimmende
Größe sind lächerliche 16384 kB. write_threshold
ist der Wert bei dem der Puffer an das Tape weitergegeben
wird. Standardwert hierbei sind 30 kB. Die maximale Anzahl
von Puffern ändert sich je nach der Zahl der erkannten
Laufwerke. Standardwert ist 2. Hier eine Beispielverwendung:
st=32,30,2
Umfassende Details findet man in der Datei README.st
im
Verzeichnis scsi
des Kernel-Quell-Baums.
Allgemeine Anmerkungen zu diesem Abschnitt:
iobase
Der erste I/O Port, der vom SCSI-Host besetzt wird.
Diese werden in der Hexadezimalschreibweise angegeben und liegen
für gewöhnlich zwischen 0x200
und 0x3ff
.
irq
Der Hardware-Interrupt, den die Karte per Konfiguration verwendet. Die gültigen Werte sind abhängig von der fraglichen Karte. Normalerweise gelten die Werte 5, 7, 9, 10, 11, 12 und 15. Die anderen Werte werden normalerweise für übliche Peripheriegeräte wie IDE- Festplatten, Disketten, serielle Anschlüsse etc. verwendet.
dma
Der von der Karte verwendete DMA (Direct Memory Access)- Kanal. Dies gilt typischerweise nur für Bus-Kontroller-Karten. PCI und VLB Karten benötigen keinen ISA-DMA-Kanal.
scsi-id
Die ID, die der Host-Adapter verwendet, um sich auf dem SCSI-Bus zu identifizieren. Nur einige Host-Adapter erlauben die Änderung dieses Werts, da die meisten ihn ständig intern bestimmen lassen. Normal ist der Standardwert 7. Die Seagate und Future Domain TMC-950-Boards jedoch verwenden 6.
parity
Ob der SCSI Host-Adapter von den angeschlossenen Geräten erwartet, daß sie einen Paritätswert mit dem gesamten Informationsaustausch zur Verfügung stellen. Der Wert 1 aktiviert den Paritäts-Check und Null schaltet ihn ab. Auch hier gilt, daß nicht alle Adapter die Auswahl eines Paritätsverhaltens als Bootparameter unterstützen.
Die aha-Zahlen beziehen sich auf Karten und die aic-Zahlen beziehen sich auf den tatsächlichen SCSI-Chip auf diesem Kartentyp, Soundblaster-16 SCSI eingeschlossen.
Der Prüf-Code für diese SCSI Hosts schaut nach einem installierten BIOS. Falls keines vorhanden ist, dann wird die Karte nicht gefunden. Für diesen Fall wird man einen Bootparameter folgender Form verwenden müssen:
aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]]
Beachte: Wurde der Treiber bei aktiviertem Debugging kompiliert, dann kann ein sechster Wert zur Bestimmung des Debug-Levels bestimmt werden.
Alle Parameter verhalten sich wie eingangs dieses
Abschnitts beschrieben und der reconnect
Wert erlaubt
die Abstöpselung oder ein erneutes Anschließen des
Geräts, falls ein Wert ungleich Null benutzt wird.
Hier eine Beispielverwendung:
aha152x=0x340,11,7,1
Man beachte, daß die Angabe der Parameter einer bestimmten Reihenfolge folgen muß, d.h. wenn man eine Paritätseinstellung angeben will, dann muß man auch einen iobase-, einen irq-, einen scsi-id- und einen Umklemmwert angeben.
Dies sind die Karten aus der aha154x-Serie. Die Karten aus der aha1542-Serie verfügen über einen i82077 Floppy-Kontroller, die aha1540 Serienkarten hingegen nicht. Diese sind Busmaster-Karten und haben Parameter zur Festlegung der ``Fairness'', die dazu verwendet wird, den Bus mit anderen Geräten zu teilen. Der Bootparameter sieht folgendermaßen aus:
aha1542=iobase[,buson,busoff[,dmaspeed]]
Gewöhnlich ist einer der folgenden iobase
Werte
gültig: 0x130, 0x134, 0x230, 0x234, 0x330, 0x334
.
Clone-Karten lassen möglicherweise andere Werte zu.
Die buson, busoff
Werte beziehen sich auf die
Anzahl von Mikrosekunden in denen die Karte den ISA Bus
beherrscht. Standardmäßig gilt: 11 us an und
4 us aus,
so daß andere Karten (wie z.B. eine ISA LANCE Ethernetkarte)
eine Chance haben, auf den ISA-Bus zuzugreifen.
Der Wert dmaspeed
bezieht sich auf die Geschwindigkeitsrate
(in MB/s) in der der DMA (Direct Memory Access)-Transfer
erfolgt. Defaultwert ist 5 MB/s. Karten einer neueren Revision
ermöglichen die Auswahl dieses Werts als Teil der
Soft-Konfiguration, ältere Karten verwenden Jumper. Man
kann Werte bis 10 MB/s benutzen, vorausgesetzt das Motherboard
kann damit umgehen. Bei der Verwendung von Werten über
5 MB/s sollte man vorsichtig vorgehen.
Diese Boards können einen Parameter folgender Form annehmen:
aic7xxx=extended,no_reset
Der Wert extended
, falls ungleich Null, besagt, daß die
erweiterte Übersetzung für große Platten eingeschaltet
ist. Der Wert no_reset
, falls ungleich Null, teilt dem
Treiber mit, den SCSI-Bus nicht zurückzuschalten, wenn der
Host-Adapter beim Booten bestimmt wird.
Der AdvanSys-Treiber akzeptiert bis zu 4 I/O Adressen,
die für eine AdvanSys SCSI-Karte überprüft
werden. Man beachte, daß diese Werte (falls verwendet)
überhaupt keinen Einfluß auf die EISA- oder PCI-
Überprüfung haben. Sie werden nur für die
Überprüfung von ISA- und VLB-Karten eingesetzt. Wurde
der Treiber bei eingeschalteter Fehlererkennung kompiliert, kann
zusätzlich der Level der Fehlermeldung durch Hinzufügen
des Parameters 0xdeb[0-f]
bestimmt werden. 0-f
ermöglicht die Festlegung des Levels der Fehlermeldungen
auf jeden der 16 Wort-Level.
Im Gegensatz zu anderen SCSI Host-Bootparametern verwendet der IN2000-Treiber für die meisten seiner Ganzzahlen-Parameter ASCII-String-Vorsilben. Hier eine Liste von unterstützten Parametern:
Wobei addr
die IO-Adresse einer (gewöhnlich
ROM-losen) Karte ist.
Keine optionalen Parameter. Verhindert die Zurückschaltung des SCSI-Bus beim Booten.
x
ist eine Bitmaske, wobei die ersten 7 Bit mit den 7
möglichen SCSI-Geräten übereinstimmen
(Bit 0 für Gerät #0, etc).
Um sync-Übertragung auf diesem Gerät zu
VERHINDERN, bestimmt man ein Bit. Treiber-Standard ist
sync auf allen Geräten DEAKTIVIERT.
ns
ist die minimale # von Nanosekunden für
einen SCSI- Datentransfer. Standard ist 500; erlaubte
Werte sind 250 bis 1000.
x = 0
verhindert das Abschalten,
2 erlaubt das Abschalten.
x = 1
führt 'adaptive' Unterbrechungen
durch. Dies
ist Standard, und wohl allgemein die beste Wahl.
Ist `DEBUGGING_ON' angegeben, dann ist x
eine Bitmaske,
durch die verschiedene Debug-Ausgaben gedruckt werden -
see the DB_xxx defines in in2000.h
.
Ist `PROC_INTERFACE' angegeben, dann ist x
eine Bitmaske,
die festlegt, wie die /proc Schnittstelle funktioniert
und was sie macht - see the PR_xxx defines in
in2000.h
.
Hier einige Anwendungs-Beispiele :
in2000=ioport:0x220,noreset
in2000=period:250,disconnect:2,nosync:0x03
in2000=debug:0x1e
in2000=proc:3
Im Gegensatz zu anderen Treibern verwendet dieser keine Bootparameter, um I/O-, IRQ- or DMA-Kanäle mitzuteilen. (Da AM53C974 ein PCI-Gerät ist, sollte dafür auch kein Grund bestehen.) Stattdessen teilen die Parameter für gewöhnlich die Transfermodi und Transferraten mit, die zwischen dem Host- und dem Zielgerät verwendet werden sollen. Dies läßt sich am besten anhand eines Beispiels beschreiben:
AM53C974=7,2,8,15
Dies würde folgendermaßen interpretiert werden: `Für
die Kommunikation zwischen dem Kontroller mit SCSI-ID 7 und
dem Gerät mit SCSI-ID 2 sollte man eine Transferrate
von 8 MHz im Synchronmodus mit max. 15 Bytes Abweichung in
Betracht ziehen.' Weitere Informationen findet man in der Datei
linux/drivers/scsi/README.AM53C974
In älteren Kerneln akzeptiert der buslogic-Treiber nur
einen Parameter, und zwar die I/O base. Sie erwartet, einer
der folgenden Werte zu sein: 0x130, 0x134, 0x230, 0x234,
0x330, 0x334
.
Bei v2.x Kerneln akzeptiert der BusLogic-Treiber viele Parameter. (Man beachte obige Schreibweise; Groß B und L!!!). Die folgende detaillierte Beschreibung ist direkt Leonard N. Zubkoffs Treiber des v2.0 Kernels entnommen.
Beim BusLogic-Treiber umfaßt der Kernel-Kommandozeilen-Eintrag den Treiber-Identifier "BusLogic=" , optional gefolgt von einer durch Komma getrennten Ganzzahlenfolge und darauf optional gefolgt von einer durch Komma getrennten Stringfolge. Jeder Kommandozeilen- Eintrag gilt für einen BusLogic Host-Adapter. Bei Systemen, die mehrere BusLogic Host-Adapter enthalten, können mehrere Kommandozeilen-Einträge verwendet werden.
Die erste angegebene Ganzzahl ist die I/O Addresse, auf der sich der Host-Adapter befindet. Fehlt diese Angabe wird der Standardwert 0 benutzt. Das bedeutet, dieser Eintrag gilt für den ersten BusLogic-Host-Adapter, der während der Standard- Überprüfungs-Sequenz gefunden wurde. Wurden irgendwelche I/O Adressen-Parameter auf der Kommandozeile angegeben, dann wird die Standard-Überprüfungs-Sequenz ausgelassen.
Die zweite angegebene Ganzzahl ist die Tagged Queue Depth, die für Zielgeräte, die Tagged Queuing unterstützen, zu verwenden ist. Die Queue Depth ist die Anzahl von SCSI-Kommandos, die gleichzeitig als auszuführend angegeben werden dürfen. Fehlt eine Angabe wird standardmäßig 0 verwendet, d.h. es wird ein automatisch bestimmter Wert verwendet, basierend auf der maximalen Queue Depth des Host-Adapters und der Anzahl, dem Typ, der Geschwindigkeit und den Fähigkeiten der erkannten Zielgeräte. Bei Host-Adaptern, die ISA Bounce Buffers benötigen, wird die Tagged Queue Depth automatisch auf BusLogic_TaggedQueueDepth_BB gesetzt, um ausschweifende Vor-Zuordnung von DMA Bounce Buffer-Speicher zu vermeiden. Zielgeräte, die Tagged Queuing nicht unterstützen verwenden eine Queue Depth von BusLogic_UntaggedQueueDepth.
Die dritte angegebene Ganzzahl ist die Bus Settle Time in Sekunden. Dies gibt die Zeit an, die man zwischen einem Host Adapter Hard Reset, der einen SCSI Bus Reset einleitet, und der Eingabe von SCSI-Kommandos wartet. Fehlt eine Angabe, dann wird standardmäßig 0 verwendet, d.h. es wird der Wert von BusLogic_DefaultBusSettleTime verwendet.
Die vierte angegebene Ganzzahl sind die Local Options. Fehlt die Angabe, dann wird standardmäßig 0 verwendet. Man beachte, daß Local Options nur für einen bestimmten Host-Adapter gelten.
Die fünfte angegebene Ganzzahl sind die Global Options. Fehlt die Angabe wird standardmäßig 0 verwendet. Man beachte, daß Global Options auf alle Host Adapter angewendet wird.
Die String-Optionen dienen der Kontrolle über Tagged Queuing, Error Recovery (Fehlerkorrektur) und Host-Adapter-Überprüfung.
Die Tagged Queuing-Bestimmung beginnt mit "TQ:
" und erlaubt
die ausdrückliche Festlegung, ob Tagged Queuing auf
Zielgeräten, die dies unterstützen, erlaubt ist.
Folgende Optionen zur Bestimmung stehen zur Verfügung:
Ob Tagged Queuing erlaubt ist, hängt von der Firmware- Version des BusLogic Host-Adapters ab und davon, ob es der Tagged Queue Depth-Wert erlaubt, mehrere Kommandos in die Warteschlange zu stellen.
Tagged Queuing wird für alle Zielgeräte auf diesem Host-Adapter aktiviert, wobei jegliche Beschränkungen übergangen werden, die ansonsten, basierend auf der Host Adapter Firmware-Version, auferlegt werden würden.
Tagged Queuing wird für alle Zielgeräte auf diesem Host-Adapter deaktiviert.
Tagged Queuing wird für jedes einzelne Zielgerät kontrolliert. <Per-Target-Spec> ist eine Sequenz aus "Y", "N", und "X" Zeichen. "Y" aktiviert Tagged Queuing, "N" deaktiviert Tagged Queuing und "X" akzeptiert den Standardwert, basierend auf der Firmware-Version. Das erste Zeichen bezieht sich auf Zielgerät 0, das zweite auf Zielgerät 1 usw.; falls die Sequenz aus "Y", "N" und "X" Zeichen nicht alle Zielgeräte abdeckt, werden nicht spezifizierte Zeichen als "X" angenommen.
Man beachte, daß das ausdrückliche Verlangen nach Tagged Queuing zu Problemen führen kann; diese Möglichkeit dient primär dazu, das Deaktivieren von Tagged Queuing auf Zielgeräten zu ermöglichen, die es nicht korrekt durchführen.
Die Error Recovery Strategy-Spezifikation beginnt mit "ER:
" Sie
ermöglicht, ausdrücklich festzulegen, daß die Error
Recovery- Aktion ausgeführt wird, wenn das ResetCommand
aufgerufen wird - aufgrund eines Versagens des SCSI-Kommandos,
erfolgreich abzulaufen. Folgende Optionen zur Bestimmung stehen
zur Verfügung:
Ausgehend von der Empfehlung des SCSI-Subsystems wird Error Recovery zwischen einem Hard Reset und den Bus Device Reset-Optionen wählen.
Error Recovery wird einen Host Adapter Hard Reset einleiten, was zusätzlich einen SCSI Bus Reset verursacht.
Error Recovery wird eine Bus Device Reset-Mitteilung zu dem jeweiligen Zielgerät schicken, das den Fehler verursacht hat. Wird noch einmal Error Recovery für dieses Zielgerät eingeleitet, und hat kein SCSI-Kommando an dieses Zielgerät erfolgreich ausgeführt, seit die Bus Device Reset-Nachricht geschickt wurde, dann wird ein Hard Reset nötig sein.
Error Recovery wird unterdrückt. Diese Option sollte nur dann gewählt werden, wenn ein SCSI Bus-Reset oder Bus Device-Reset das Zielgerät veranlaßt, komplett und unwiderruflich zu versagen.
Error Recovery wird für jedes einzelne Zielgerät kontrolliert. <Per-Target-Spec> ist eine Sequenz aus "D", "H", "B" und "N" Zeichen. Mit "D" wird Default gewählt, "H" steht für Hard Reset, "B" für Bus Device-Reset und mit "N" wird None gewählt. Das erste Zeichen bezieht sich auf Zielgerät 0, das zweite auf Zielgerät 1 usw. werden mit "D", "H", "B" und "N" nicht alle möglichen Zielgeräte abgedeckt, dann werden undefinierte Zeichen als "D" angenommen.
Die Host-Adapter-Überprüfungs-Spezifikation umfaßt folgende Zeichenketten:
Es soll keine Überprüfung stattfinden; somit werden keine BusLogic-Host-Adapter erkannt.
Die Standard ISA I/O Adresssen werden nicht untersucht; somit werden nur PCI-Host-Adapter erkannt.
PCI-Host-Adapter werden in der vom PCI BIOS bereitgestellten Reihenfolge aufgezählt, wobei die Einstellungen der Option AutoSCSI "Use Bus And Device # For PCI Scanning Seq." ignoriert werden.
Seit den späten Kernelversionen v2.0 akzeptieren die EATA-Treiber die Überprüfung eines Bootparameters, der die i/o base(s) bestimmt. Dies sieht folgendermaßen aus:
eata=iobase1[,iobase2][,iobase3]...[,iobaseN]
Der Treiber überprüft die Adressen in der Reihenfolge, in der sie aufgelistet sind.
Der Überprüfungscode für diese SCSI-Hosts schaut nach einem installierten BIOS; falls keines vorhanden ist, wird die Karte nicht gefunden werden. Oder, wenn die Signature-String des BIOS nicht erkannt wurde, dann wird die Karte auch nicht gefunden. In jedem der beiden Fälle wird man dann einen Bootparameter folgender Form verwenden:
tmc8xx=mem_base,irq
Der Wert mem_base
ist der Wert des speicherkonformen
I/O-Bereichs, den die Karte verwendet. Dieser ist für
gewöhnlich einer der folgenden Werte: 0xc8000, 0xca000,
0xcc000, 0xce000, 0xdc000, 0xde000
.
Der Treiber erkennt diese Karten entsprechend einer
Liste von bekannten BIOS ROM-Signatures. Eine komplette
Liste bekannter BIOS-Ausgaben erhält man in der Datei
linux/drivers/scsi/fdomain.c
. Diese wird mit einer
Fülle von Informationen eingeleitet. Ist das Bios dem
Treiber nicht bekannt, dann kann man dies folgendermaßen
überbrücken:
fdomain=iobase,irq[,scsi_id]
Dies ist ein Treiber für den IOMEGA Parallel Port SCSI Adapter, welcher in den IOMEGA ZIP-Laufwerken enthalten ist. Es könnte auch mit dem original IOMEGA PPA3-Gerät funktionieren. Der Bootparameter für diesen Treiber sieht folgendermaßen aus:
ppa=iobase,speed_high,speed_low,nybble
Alle außer iobase sind optional festgelegte Werte. Will man einen
der unverbindlichen Parameter verändern, dann sollte man
einen Blick auf die Datei linux/drivers/scsi/README.ppa
werfen. Dort findet man genaue Informationen darüber,
was von diesen Parametern kontrolliert wird.
Je nach Board kann der 5380 entweder I/O- oder speicherkonform
sein. (Eine Adresse unter 0x400 ist für gewöhnlich
I/O-konform. PCI- und EISA-Hardware verwenden jedoch i/o-Adressen
über 0x3ff.) In jedem Fall gibt man die Adresse,
den IRQ-Wert und den DMA-Channel-Wert an. Hier ein Beispiel
einer I/O-konformen Karte: ncr5380=0x350,5,3
. Verwendet
die Karte keine Interrupts, dann können mit einem
IRQ-Wert von 255 (0xff
) Interrupts deaktiviert
werden. Ein IRQ-Wert von 254 bedeutet automatische
Hardwareerkennung. Weitere Informationen findet man in der
Datei linux/drivers/scsi/README.g_NCR5380
Die generische 53c400-Unterstützung erfolgt mit demselben Treiber wie für die oben erwähnte generische 5380-Unterstützung. Der Bootparameter ist identisch zum obig genannten, mit der Ausnahme, daß vom 53c400 kein DMA-Channel verwendet wird.
Dieser Treiber verwendet einen Bootparameter folgender Form:
ncr53c406a=PORTBASE,IRQ,FASTPIO
wobei die IRQ- und FASTPIO-Parameter optional sind. Ein Interrupt-
Wert von Null schaltet die Verwendung von Interrupts aus.
Der Wert 1 für den FASTPIO-Parameter aktiviert die Verwendung
von insl
und outsl
-Anweisungen, statt den aus einem
einzigen Byte bestehenden inb
und outb
-Anweisungen. Der
Treiber kann eine Option für die Kompilierungszeit nehmen.
PAS16 verwendet einen NCR5380 SCSI-Chip und neuere Modelle unterstützen die Konfiguration ohne Jumper. Der Bootparameter sieht folgendermaßen aus:
pas16=iobase,irq
Der einzige Unterschied besteht darin, daß man einen IRQ-Wert
von 255 verwenden kann, welcher dem Treiber mitteilt ohne
Interrupts, jedoch mit einem Leistungsverlust, zu funktionieren.
Die iobase
ist gewöhnlich 0x388
.
Der Code zur Überprüfung für diese SCSI-Hosts sucht nach einem installierten BIOS. Ist keines vorhanden, wird die Karte nicht gefunden. Oder, wenn die Signature-Zeichenkette des BIOS nicht erkannt wird, dann wird sie auch nicht gefunden. In jedem Fall wird man einen Bootparameter folgender Form verwenden:
st0x=mem_base,irq
Der Wert mem_base
ist der Wert der speicherkonformen
I/O-Region, den die Karte verwendet. Dieser wird für
gewöhnlich einer der folgenden Werte sein: 0xc8000,
0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000
.
Diese Karten basieren ebenfalls auf dem NCR5380-Chip und verstehen folgende Optionen:
t128=mem_base,irq
Gültige Werte für mem_base
sind:
0xcc000, 0xc8000, 0xdc000, 0xd8000
.
Man beachte, daß es anscheinend zwei unabhängige Treiber
für diese Karte gibt, nämlich CONFIG_SCSI_U14_34F
der u14-34f.c
benutzt, und CONFIG_SCSI_ULTRASTOR
, der ultrastor.c
verwendet. u14-34f ist derjenige, der
(seit den späten Kernelversionen v2.0) einen Bootparameter
folgender Form akzeptiert:
u14-34f=iobase1[,iobase2][,iobase3]...[,iobaseN]
Der Treiber überprüft die Adressen in der Reihenfolge, wie sie aufgelistet sind.
Der Treiber-Check für wd7000 sucht nach einer bekannten BIOS ROM- Zeichenkette und kennt einige Standard-Konfigurations-Einstellungen. Werden die korrekten Werte für die eigene Karte nicht geliefert oder hat man eine nicht erkannte BIOS-Version, dann kann man einen Bootparameter folgender Form verwenden:
wd7000=irq,dma,iobase
Zur Zeit verwenden folgende SCSI-Karten keine Bootparameter. In einigen Fällen kann man Werte hartkodieren, indem man, falls nötig, den Treiber selbst editiert.
Adaptec aha1740 (EISA-Überprüfung), NCR53c7xx,8xx (PCI, beide Treiber) Qlogic Fast (0x230, 0x330) Qligic ISP (PCI)