Re: pb carte scsi en isa (suite) et modules.conf

トップ ページ

このメッセージに返信
著者: Olivier_Allard-Jacquin
日付:  
To: guilde
題目: Re: pb carte scsi en isa (suite) et modules.conf


> Je n'ai pas de /etc/modules......
> je suis sur une base de redhat.....
> Si quelqu'un peut me dire où sur une redhat.....


      Je n'ai pas trouvé d'infos à ce sujet. Sauf
avis contraire des experts RedHat, ca doit être dans
ce fichier.


      Fais un


      grep "/etc/modules" /etc/init.d/*


afin de regarder si dans un des scripts de démarrage
ce chemin existe. Si c'est le cas, crée tout simplement
ce fichier, et rajoute "aha152x" au fichier.



> Je n'ai pas de /etc/modules......
>
> Tu me dis plus bas que
> - Si il est necessaire d'utiliser des options
> particulières pour configurer ce module (irq, adresse,
> dma, etc ...), le kernel cherchera dans /etc/modules
> une ligne du type:
> "options aha152x io=0x140 ..."
>
> explique moi mieux! y suis perdue..........


      La doc dont le lien est ci-dessous l'expliquera mieux que
moi .. ;=)


Bon, je vais quand même tenter d'être plus clair:
- la commande de base qui permet de charger un module est "insmod".
Le problème, c'est qu'elle ne sait pas gérer les DEPENDANCES
DES MODULES. C.a.d. que si pour charger un module "B", il faut avant
tout charger le module "A", "insmod" ne saura pas le faire. Dans ce
cas la, c'est à l'utilisateur de charger "à la main" le modules
"A" ("insmod A"), puis après seulement le module "B" ("insmod B").
C'est pénible quoi ...

- la commande "modprobe" permet justement de combler cette lacune.
Elle s'utilise comme "insmod". Par exemple "modprobe aha152x" permet
de charger le module de ta carte SCSI "aha152x". Mais à la différence
de "insmod", elle utilise un fichier de configuration pour savoir
quoi faire (pre ou post chargement de modules, options pour ceux-ci,
etc ...). C'est le rôle de /etc/modules.conf.

- en ce qui conscerne les options que tu dois passer au module pour
le configurer (irq, adresse, etc ...), tu as 2 methodes:
- passer les options en paramètre de la commande "modprobe". C'est
ce que tu fais avec ta commande "modprobe aha152x aha152x=0x140,9,7,1".
Bon, ca marche, il n'y a pas de problème. Mais c'est très pénible à
taper, non ? Surtout qu'il faut toujours se souvenir des options à
passer au module. Bref, ce n'est pas pratique.
- la seconde methode est plus simple. Il suffit de rajouter une
ligne d'options pour ce module dans le /etc/modules.conf (exemple:
option aha152x ....." . Ainsi, lorsque tu taperas "modprobe aha152x",
la commande "modprobe" ira chercher dans /etc/modules.conf les
options à passer au modules.

C'est plus pratique à utiliser, mais la syntaxe du passage d'options
est un peu différente entre les 2 methodes. Avec la première methode,
on passe toutes les options en les séparant avec des virgules. Avec
la seconde methode, on "nomme" chaque paramètre, ce qui facilite la
lecture du fichier de configuration

Exemple pour ta carte SCSI (avec les options "0x140,9,7,1"):
Adresse: 0x140 => option du module: "ioport=0x140"
Interruption: 9 => option du module: "irq=9"
Id de la carte scsi: 7 => option du module: ???=7
Reconnection: 1 => option du module: ???=1

Comme tu le vois, je ne connais pas la syntaxe des 2 dernières
options. A toi de la chercher dans la doc du kernel associé à ce
module (je ne l'ai pas sous la main ...), dans le répertoire
"/usr/src/linux/Documentation". Le nom du fichier de doc devrait
être "aha152x".
D'apès une discussion trouvé sur le net
(http://reflect.cat.org.au/lists/catgeek/msg03036.html), il
y a aussi des infos dans le fichier source du module
("aha152x.c"), et notamment l'explication de la ligne de
paramètres à passer à "modprobe":

> SYMBOLS FOR MODULE CONFIGURATION:
>
> aha152x=IOPORT,IRQ,SCSI_ID,RECONNECT,PARITY,SYNCHRONOUS,DELAY,EXT_TRANS


Pour être honnête, cette recherche d'information est la partie
la plus pénible de la configuration des modules, mais ce n'est pas
impossible à faire ...



Bref, tu dois rajouter à ton /etc/modules.conf une ligne
commencant par:

option aha152x ioport=0x140 irq=9




> je mets :
> dans /etc/modules.conf :
> alias scsi-hostadapter aha152x
>
> mon souci c'est après, dans quel fichier mettre le modprobe..........?


      Comme il a été dit dans les précédents mails, tu N'as PAS
besoin de mettre de ligne "modprobe..........". Une fois
que ton /etc/module.conf sera configuré avec sa ligne
"option aha152x ioport=0x140 irq=9 .....", il te suffit
de rajouter "aha152x" au fichier /etc/modules, et ce module
sera automatiquement chargé au démarrage.




> > http://casteyde.christian.free.fr/system/linux/guide/index.html
>
> je ne trouve pas le chap6.11?!


      Effectivement, le numéro de chapitre que je t'ai donné
était valable pour la version 2.0.0 de cette doc. Dans la
dernière version, c'est le chapitre "9.1.2" ("9.1.2. Modules du noyau")


Je te recommande de télécharger cette doc (via le lien précédent), où
sinon tu peux consulter en ligne le chapitre en question:

http://casteyde.christian.free.fr/system/linux/guide/online/c6449.html#MODULESSECT


                                    Olivier