Cette section contient une description des paramètres de démarrage qui sont utilisés pour passer des informations concernant les adaptateurs hôtes et les périphériques SCSI.
Notations utilisées dans cette section :
iobase
-- Le premier port d'Entrée/Sortie que le serveur SCSI occupe.
Ceux-ci sont donnés en notation hexadécimale, et sont généralement
situés dans la fourchette 0x200
à 0x3ff
.
irq
-- L'interruption matérielle pour laquelle la carte a été
configurée. Les valeurs autorisées dépendront de la carte en question,
mais seront généralement 5, 7, 9, 10, 11, 12, et 15. Les autres valeurs
étant généralement utilisées pour les périphériques courants comme les
disques durs IDE, les lecteurs de disquettes, les ports série, etc.
scsi-id
-- L'identifiant que la carte-serveur utilise pour
s'identifier elle-même sur le bus SCSI. Un certain nombre de cartes
serveur vous permettront de modifier cette valeur, alors que d'autres
ont cette valeur stockée de façon définitive sur la carte. La valeur
par défaut la plus courante est sept, mais les cartes Seagate et
Future Domain TMC-950 par exemple utilisent la valeur six.
parity
-- Détermine si la carte serveur SCSI doit demander aux périphériques
connectés de fournir une valeur de parité avec tous les échanges
d'information. La valeur 1 indique que la détection de parité est activée,
et la valeur 0 désactive le contrôle de parité. Encore une fois, toutes
les cartes ne supportent pas la sélection du contrôle de parité par
les paramètres de démarrage.
Chaque périphérique SCSI peut avoir un nombre de `sous-périphériques' qui le composent. L'exemple le plus courant est représenté par les nouveaux CD-ROM SCSI qui utilisent plus d'un disque à la fois grâce à un chargeur de CD. Chaque CD est adressable comme un `Logical Unit Number' (LUN = Numéro d'Unité Logique) de ce périphérique multiple. Mais la plupart des périphériques comme les disques durs, les lecteurs de bande et autres, sont des périphériques simples et on leur attribue le LUN zéro.
Le problème survient avec les périphériques à un seul LUN qui ont un mauvais microprogramme. Certains périphériques SCSI mal conçus (anciens et malheureurement nouveaux aussi) ne supportent pas d'être testés pour des LUN différents de zéro. Ils répondent en se bloquant, et peuvent aussi verrouiller tout le bus SCSI en même temps.
Les nouveaux noyaux ont une option de configuration qui vous permet d'indiquer le nombre maximum de LUN à tester. Par défaut, ils ne testent que le LUN zéro, pour éviter le problème décrit ci-dessus.
Pour spécifier le nombre de LUN à tester au moment du démarrage, il suffit d'entrer le paramètre de démarrage `max_scsi_luns=n', où n est un nombre compris entre un et huit. Pour éviter les problèmes décrits précédemment, on peut utiliser n=1 pour éviter de perturber les périphériques défectueux.
Certaines configurations de démarrage pour les lecteurs de bande SCSI peuvent être obtenues en utilisant ce qui suit :
st=buf_size[,write_threshold[,max_bufs]]
Les deux premiers nombres sont donnés en kilo-octets.
La valeur par défaut du buf_size
est 32 ko, et la taille maximum
qui peut être donnée est la valeur ridicule de 16384 ko.
La zone write_threshold
est la valeur à laquelle le tampon est
envoyé vers la bande, avec une valeur par défaut de 30ko.
Le nombre maximum de tampons varie en fonction du nombre de lecteurs
détectés, et a une valeur par défaut égale à deux. Voici un exemple
d'utilisation :
st=32,30,2
Des indications plus précises peuvent être trouvées dans le fichier
README.st
qui est dans le répertoire scsi
de l'arborescence
des sources du noyau.
Les valeurs aha font référence à des cartes et les valeurs aic font référence aux puces SCSI actuelles de ce type de cartes, y compris la Soundblaster-16 SCSI.
Le code de test de ces serveurs SCSI recherche s'il existe un BIOS installé, et s'il n'est pas présent, le test ne trouvera pas votre carte. Vous aurez alors à utiliser le paramètre de démarrage avec la syntaxe suivante :
aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]]
Notez que si le pilote a été compilé avec l'option de recherche d'erreur activée, une sixième valeur peut être spécifiée pour fixer le niveau de recherche d'erreur.
Tous les paramètres sont décrits au début de cette section, et la
valeur reconnect
permet au périphérique de se déconnecter/reconnecter
si une valeur différente de zéro est utilisée.
Voici un exemple d'utilisation :
aha152x=0x340,11,7,1
Notez que les paramètres doivent être donnés dans l'ordre, ce qui signifie que si vous désirez spécifier une configuration de parité, vous devrez alors indiquer les valeurs de iobase, irq, scsi-id et reconnect aussi.
Ce sont les gammes de cartes aha154x. Les différentes cartes aha1542 ont un contrôleur de disquette i82077 en interne, tandis que les cartes de la série aha1540 n'en ont pas. Ce sont des cartes à "busmastering", (contrôle de bus) et elles ont des paramètres qui permettent d'indiquer le niveau ``d'équité'' qui est utilisé pour partager le bus avec les autres périphériques. Le paramètre de démarrage ressemble à ce qui suit.
aha1542=iobase[,buson,busoff[,dmaspeed]]
Les valeurs couramment utilisées pour iobase
sont les suivantes :
0x130, 0x134, 0x230, 0x234, 0x330, 0x334
.
Des clones de cartes autorisent d'autres valeurs.
Les valeurs buson, busoff
indiquent le nombre de microsecondes
pendant lesquelles la carte est prioritaire sur le bus ISA. Les valeurs
par défaut sont 11 μs prioritaire, et 4 μs non prioritaire, de façon
que d'autres cartes (comme une carte Ethernet ISA LANCE) aient
une chance d'avoir accès au bus ISA.
La valeur dmaspeed
fait référence à la vitesse (en Mo/s) à
laquelle s'effectue le transfert DMA (Direct Memory Access, Mémoire à
Accès Direct). La valeur par défaut est 5 Mo/s. Les nouvelles versions
de ces cartes vous permettent de sélectionner cette valeur de façon
logicielle alors que les anciennes cartes utilisait des cavaliers.
Vous pouvez utiliser des valeurs allant jusqu'à 10 Mo/s en supposant
que votre carte mère soit capable de les supporter. Expérimentez
prudemment si vous utilisez des valeurs supérieures à 5 Mo/s.
Ces cartes peuvent recevoir un paramètre selon la syntaxe suivante :
aic7xxx=extended,no_reset
La valeur de extended
, si elle est différente de zéro, indique
que la traduction étendue pour les disques de grande capacité est activée.
La valeur no_reset
, si elle est différente de zéro, indique au pilote
de ne pas réinitialiser le bus SCSI lorsqu'il configure la carte-serveur
au démarrage.
Pour l'instant, les pilotes buslogic n'acceptent qu'un seul paramètre,
qui est l'adresse d'entrée/sortie. Elle doit être l'une des valeurs
suivantes :
0x130, 0x134, 0x230, 0x234, 0x330, 0x334
.
Le code de test pour ces hôtes SCSI recherche un BIOS installé, et s'il n'en détecte aucun, le test ne trouvera pas votre carte. Ou si la signature de votre BIOS n'est pas reconnue, elle ne sera pas trouvée non plus. Dans ce cas, vous aurez à utiliser un paramètre de démarrage de la forme :
tmc8xx=mem_base,irq
La valeur mem_base
est l'adresse dans le plan mémoire de la région
d'entrée/sortie utilisée par la carte. C'est généralement une des valeurs
suivantes :
0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000
.
La PAS16 utilise une puce NC5380 SCSI, et les nouveaux modèles peuvent être configurés de façon logicielle. La syntaxe du paramètre est la suivante :
pas16=iobase,irq
La seule différence est que vous pouvez spécifier une valeur d'IRQ égale
à 255, qui indique au pilote de travailler sans utiliser les interruptions,
malheureusement au détriment des performances. La valeur de iobase
est généralement 0x388
.
Le code du programme de test de cet hôte SCSI recherche un BIOS installé, et s'il n'y en a aucun de présent, le test ne trouvera pas votre carte. Ou si la signature de votre BIOS n'est pas reconnue elle ne sera pas trouvée non plus. Dans ce cas, vous aurez à utiliser le paramètre suivant :
st0x=mem_base,irq
La valeur de mem_base
est l'adresse dans le plan mémoire de la région
d'entrée/sortie utilisée par la carte. En général, il s'agit d'une des
valeurs suivantes :
0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000
.
Cette carte est aussi conçue autour de la puce NCR5380, et accepte les options suivantes :
t128=mem_base,irq
Les valeurs autorisées pour mem_base
sont les suivantes :
0xcc000, 0xc8000, 0xdc000, 0xd8000
.
Pour l'instant, les cartes SCSI suivantes n'utilisent aucun des paramètres de démarrage. Dans certains cas, vous pouvez "bricoler" les valeurs en éditant directement le pilote lui-même, si cela est nécessaire bien sûr.
Always IN2000, Adaptec aha1740, EATA-DMA, EATA-PIO, Future Domain 16xx, NCR5380 (generic), NCR53c7xx à NCR53c8xx, Qlogic, Ultrastor (incl. u?4f), Western Digital wd7000,
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre