Tout ce qui se rapporte à Ethernet et qui ne rentrait pas ailleurs se retrouve ici. Ce n'est peut-être pas significatif, ni intéressant pour tout le monde, mais de totue façon, c'est là.
Voici deux commandes génériques du noyau qui peuvent être passées au
noyau au moment du démarrage (ether
et reserve
). Vous
pouvez le faire avec LILO, loadlin, ou tout autre utilitaire de
démarrage qui accepte des arguments optionnels.
Par exemple, si la commande était `blabla' et qu'elle attende trois arguments (disons 123, 456 et 789), alors, avec LILO, vous pourriez taper au démarrage :
LILO: linux blabla=123,456,789
Pour plus d'informations, ainsi qu'une liste complète, sur les arguments de démarrage, veuillez consulter le
BootPrompt-HOWTO
ether
La commande ether=
est utilisée en conjonction avec le pilote
compilé dans le noyau. Le ether=
n'aura absolument aucun
effet sur un pilote modulaire. Sous sa forme la plus générique, elle
ressemble à quelque chose comme :
ether=IRQ,ADR_DE_BASE,PARAM_1,PARAM_2,NOM
Tous les arguments sont optionnels. Le premier argument non-numérique est considéré comme le NOM.
IRQ: Evident. Une valeur d'IRQ de `0' (habituellement la valeur par défaut) signifie affectation automatique de l'IRQ. C'est un accident de l'Histoire que le paramètre d'IRQ soit en premier plutôt que l'adresse de base -- cela sera corrigé lorsque quelque chose d'autre changera.
ADR_DE_BASE: Evident aussi. Une valeur de `0' (habituellement la valeur par défaut) signifie de tester une liste d'adresses spécifiques à ce type de carte pour essayer de détecter une carte Ethernet.
PARAM_1: Utilisé à l'origine comme une valeur qui passe outre l'adresse de départ de la zone mémoire pour une carte Ethernet à mémoire partagée, comme la WD80*3. Certains pilotes utilisent les quatre bits de poids faible de cette valeur pour fixer le niveau de message de débogage. 0 -- défaut, 1-7 -- niveaux 1 à 7 (7 étant le niveau le plus bavard), 8 -- niveau 0 (pas de messages). Le pilote LANCE utilise les quatre bits de poids faible de cette valeur pour sélectionner le canal DMA. Sinon il utilise l'affectation automatique du DMA.
PARAM_2: Le pilote 3c503 l'utilise pour choisir entre le transceiver interne et le transceiver externe. 0 -- défaut/interne, 1 -- AUI externe. Les cartes E21XX de Cabletron utilisent les quatre bits de poids faible de PARAM_2 pour choisir le support physique. Sinon il est détecté automatiquement.
NOM: Sélectionne le périphérique réseau auquel les valeurs se réfèrent. Le noyau standard utilise les noms `eth0', `eth1', `eth2' et `eth3' pour les cartes Ethernet attachées au bus, et `atp0' pour l'adaptateur `de poche' sur port parallèle. Le pilote ARCnet utilise le nom `arc0'. Le comportement par défaut est de tester une seule carte Ethernet pour `eth0'. Vous ne pouvez activer plusieurs cartes qu'en fixant de façon explicite leur adresse de base avec les paramètres de LILO. Le noyau 1.0 considérait les cartes Ethernet basées sur la puce LANCE comme un cas spécial. Les arguments de LILO étaient ignorés, et les cartes LANCE recevaient toujours des noms `eth<n>' en commençant à `eth0'. Les cartes supplémentaires, non-LANCE, devaient être affectées à `eth<n+1>', et le test habituel de `eth0' devait alors être désactivé avec quelque chose comme `ether=0,-1,eth0'. (Oui, c'est bogué.)
reserve
Cette autre commande LILO est utilisée exactement comme la commande
`ether=
' ci-dessus, c'est-à-dire que l'on ajoute son nom aux
options spécifiées dans lilo.conf
:
reserve=IO-base,extent{,IO-base,extent...}
Sur certaines machines, il peut être nécessaire d'empêcher les pilotes de périphérique de tester des périphériques (auto-détection) dans une zone spécifique. Cela peut être le cas à cause d'un matériel mal conçu qui fige le démarrage (comme certaines cartes Ethernet), qui est identifié par erreur, dont l'état a été changé par une procédure de détection précédente, ou plus encore d'un matériel que vous ne souhaitez pas voir initialisé par le noyau.
L'argument de démarrage reserve
répond à cette attente en
spécifiant une région de port d'E/S qui ne doit pas être testée. Cette
région est réservée dans la table d'enregistrement des ports du noyau
comme si un périphérique avait déjà été trouvé dans cette région. Notez
que ce mécanisme ne devrait pas être nécessaire sur toutes les
machines. C'est seulement lorsqu'il y a un problème ou un cas spécial
que son utilisation peut se révéler nécessaire.
Les ports d'E/S dans la zone spécifiée sont protégés contre les
procédures de détection de périphériques. Nous avons montré que cela est
nécessaire lorsqu'un pilote se bloque sur une carte NE2000, ou identifie
de façon erronée un autre périphérique comme étant le sien. Un pilote de
périphérique correct ne devrait pas tester une zone réservée, à moins
qu'un autre argument de démarrage ne spécifie explicitement qu'il doive
le faire sur cette zone. Cela implique que reserve
sera le plus
souvent utilisé avec un autre argument de démarrage. Donc si vous
spécifiez une zone de reserve
pour protéger un périphérique
donné, vous devez généralement spécifier explicitement une détection
pour ce périphérique. La plupart des pilotes ignorent la table
d'enregistrement des ports si on leur fournit une adresse explicite.
Par exemple, la ligne de démarrage
LILO: linux reserve=0x300,32 ether=0,0x300,eth0
oblige tous les périphériques à l'exception des pilotes Ethernet à ne
pas tester la plage 0x300-0x31f
.
Comme d'habitude avec les spécificateurs de démarrage, il existe une
limite de 11 paramètres, donc vous ne pouvez spécifier que 5 zones
réservées par mot-clé reserve
. Plusieurs spécificateurs
reserve
fonctionneront si vous avez une requête inhabituellement
compliquée.
La majorité des distributions disponibles ont des noyaux avec très peu
de pilotes intégrés. Les pilotes sont fournis comme modules chargeables
dynamiquement. Ces pilotes modulaires sont normalement chargés par
l'administrateur via la commande modprobe(8)
dans certains cas,
ils sont automatiquement chargés par le noyau via kerneld
(pour
les 2.0) ou kmod
(pour les 2.1) qui eux-mêmes font appel à
modprobe
.
Votre distribution offre peut être de jolis outils graphiques pour configurer les modules ethernet. Si possible, essayez de les utiliser avant tout. La description qui suit explique ce qui se cache derrière ces jolis petits programmes et ce que'ils changent.
Les informations qui déterminent quels modules doivent être utilisés et
les options qui leur sont associées sont en principe stockées dans le
fichier /etc/conf.modules
. Les deux options qui y ont le plus
d'interêt (pour les cartes ethernet) sont alias
et
options
. La commande modprobe
consulte ce fichier pour
obtenir des informations sur les modules.
Les modules utilisés sont normalement stockés dans un répertoire nommé
/lib/modules/`uname -r`/net
où la commande uname -r
retourne la version du noyau (ex : 2.0.34). Vous pouvez aller y faire un
tour pour savoir quels modules correspondent à votre carte.
La première chose à mettre dans votre /etc/conf.modules
est une
ligne indiquant à modprobe
où se trouve le pilote à utiliser avec
eth0
(et eth1
, ...), ceci grâce à un alias. Par exemple,
si vous avez une carte ISA SMC EtherEZ qui utilise le module
smc-ultra.o
, vous aurez besoin de créer un alias entre ce pilote
et eth0
en ajoutant cette ligne :
alias eth0 smc-ultra
Vous pourrez aussi avoir à ajouter une ligne d'options
indiquant
lesquelles doivent être utilisées avec tel module (ou alias de
module). Continuons l'exemple ci-dessus : avec la ligne alias
seule, le noyau vous préviendrait (cf. dmesg
) que l'autodétection
des cartes ISA n'est pas une bonne idée. Pour supprimer cet
avertissement, il suffirait d'ajouter une ligne donnant au module
l'adresse d'E/S de votre carte, dans ce cas, l'adresse hexadécimale
0x280
.
options smc-ultra io=0x280
La plupart des modules ISA acceptent des arguments comme io=0x340
et irq=12
sur la ligne de commande d'insmod
. Il est
REQUIS ou du moins FORTEMENT RECOMMANDÉ que vous
fournissiez ces paramètres pour éviter la détection automatique de la
carte. A la différence des périphériques PCI et EISA, il n'existe pas de
moyen vraiment sûr de réaliser une détection automatique de la majorité
des périphériques ISA, et cela doit donc être évité quand on utilise les
pilotes sous la forme de modules chargeables.
Une liste de toutes les options acceptées par chaque module se trouve dans le fichier :
/usr/src/linux/Documentation/networking/net-modules.txt
Vous avez intérêt à le lire pour trouver les options à utiliser pour votre carte. Notez que quelques modules permettent les listes d'options séparées par des virgules, ils sont capables de gérer plusieurs cartes depuis un seul module, par exemple les cartes à base de 8390, ainsi que le pilote PLIP.
option 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1
La commande ci-dessus permet à un seul et même module de contrôler quatre cartes 3c503, les cartes 2 et 4 utilisant le transceiver externe. Ne mettez pas d'espace autour des '=' ou des virgules.
Notez aussi que les modules utilisés
ne peuvent être supprimés de
la mémoire. Cela signifie que vous aurez à faire un ifconfig eth0
down
(arrêter la carte ethernet) avant de pouvoir les supprimer.
La commande lsmod
vous dira quels sont les modules qui sont
chargés, s'ils sont utilisés, et rmmod
les supprimera.
La plupart des informations que vous trouvez dans ce document
proviennent de messages sauvegardés des groupes de
comp.os.linux.*
, ce qui montre qu'il s'agit d'une vraie source
d'informations. D'autres renseignements très utiles proviennent de tout
un tas de petits fichiers de Donald lui-même.
Bien entendu, si vous configurez une carte Ethernet, vous voudrez configurer les logiciels que vous allez utiliser, et vous lirez pour cela le Howto NET-3. Ou encore, si vous vous sentez pousser des ailes de ``hacker'', vous pourrez toujours grapiller des informations supplémentaires directement dans les fichiers sources des pilotes. Ils comportent en général un paragraphe ou deux décrivant les points importants, avant que le code ne démarre...
Pour ceux d'entre vous qui recherchent des informations qui ne sont pas
spécifiques à Linux (comme : qu'est-ce que 10BaseT, qu'est-ce qu'AUI,
que fait un hub, etc.) je vous recommande fortement d'utiliser le groupe
de news comp.dcom.lans.ethernet
et/ou
comp.sys.ibm.pc.hardware.networking. Les archives de news tels
que deja.com
sont aussi une source intarissable de réponses. Vous
pouvez aussi récupérer les FAQ de ces groupes de news sur par exemple :
Les FAQ de Usenet
Vous pouvez aussi consulter la `Page d'accueil d'Ethernet' pour ainsi dire, qui se trouve à l'URL suivante :
La page d'accueil d'Ethernet
Ce document n'est pas la bible. Toutefois, il s'agit certainement de la source d'informations la plus à jour que vous pourrez trouver. Personne n'est responsable de ce qui arrive à votre matériel hormis vous-même. Si votre carte Ethernet ou tout autre partie matérielle de votre ordinateur part en fumée (...bien que ce soit pratiquement impossible !) nous n'en prenons aucune responsabilité. LES AUTEURS NE SONT RESPONSABLES D'AUCUN DOMMAGE ENCOURU CONSÉCUTIF A DES ACTIONS EFFECTUÉES EN SE BASANT SUR LES INFORMATIONS COMPRISES DANS CE DOCUMENT.
Ce document est Copyright (c) 1993-1997 by Paul Gortmaker. Il est permis de faire et de distribuer des copies complètes de ce manuel à condition que la notice de copyright et que cette notice de permission soient préservées dans toutes les copies.
Il est permis de copier et de distribuer des versions modifiées de ce document sous les mêmes conditions que la copie complète, à condition que cette notice de copyright soit incluse exactement telle qu'elle l'est dans l'original, et que le travail dérivé résultant, dans son intégralité, soit distribué sous les termes d'une notice de permission identique à celle-ci.
Il est permis de copier et de distribuer des traductions de ce document dans d'autres langues, sous les mêmes conditions que ci-dessus pour les versions modifiées.
Si vous avez l'intention d'intégrer ce document dans un travail destiné à la publication, contactez-moi (par courrier électronique) afin de pouvoir obtenir les informations les plus à jour possible. Par le passé, des versions dépassées de documents Linux HOWTO ont été publiées, causant aux développeurs le préjudice indû d'être empoisonnés par des questions dont les réponses figuraient déjà dans les versions à jour.
En accord avec cette notice, la version originale (en anglais) telle qu'elle apparaît dans l'Ethernet-HOWTO est fournie ici :
This document is not gospel. However, it is probably the most up to date info that you will be able to find. Nobody is responsible for what happens to your hardware but yourself. If your ethercard or any other hardware goes up in smoke (...nearly impossible!) we take no responsibility. ie. THE AUTHORS ARE NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE INFORMATION INCLUDED IN THIS DOCUMENT.
This document is Copyright (c) 1993-1997 by Paul Gortmaker. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that this copyright notice is included exactly as in the original, and that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions.
A hint to people considering doing a translation. First,
translate the SGML source (available via FTP from the HowTo
main site) so that you can then generate other output formats.
Be sure to keep a copy of the original English SGML source that
you translated from! When an updated HowTo is released,
get the new SGML source for that version, and then a simple
diff -u old.sgml new.sgml
will show you exactly what has
changed so that you can easily incorporate those changes into
your translated SMGL source without having to re-read or
re-translate everything.
If you are intending to incorporate this document into a published work, please make contact (via e-mail) so that you can be supplied with the most up to date information available. In the past, out of date versions of the Linux HowTo documents have been published, which caused the developers undue grief from being plagued with questions that were already answered in the up to date versions.
Ce document fait partie des HOWTO Linux traduits en français. Vous pouvez trouver une liste à jour de ces documents à l'adresse http://www.freenix.org/unix/linux/HOWTO/Liste-des-HOWTO.html
Les HOWTO Linux font partie du Linux Documentation Project
(LDP). Si vous souhaitez participer au LDP ou à sa traduction en
français, vous pouvez consulter
http://www.freenix.org/unix/linux/HOWTO/Liste-des-HOWTO.html
ou contacter Eric Dumas, dumas@linux.eu.org
.
Cette version française a été réalisée par Mathieu Arnold
<arn_mat@club-internet.fr>
, Stéphane Alnet
<alnet@u-picardie.fr>
était l'ancien traducteur. Elle est
Copyright (c) 1997-1998, Mathieu Arnold, selon les termes de la notice
ci-dessus.
Si vous constatez des erreurs dans la traduction en français, merci d'en informer le traducteur. Vos remarques seront prises en compte pour la prochaine version de la traduction.
Si vous avez trouvé une faute de frappe énaurme, ou des informations dépassées dans ce document, merci d'envoyer un courrier électronique. Il est énorme, et il est facile de rater certaines choses. Si vous avez envoyé un courrier à propos d'une modification, et qu'elle n'a pas été incluse dans la version suivante, n'hésitez pas à la ré-envoyer, car elle a pu se perdre dans le flot habituel de SPAM et de prospectus que je reçois.
Merci !
Paul Gortmaker, p_gortmaker@yahoo.com