L'Ethernet-Howto indique quelles cartes vous devriez ou ne devriez pas acheter; comment les configurer, comment en utiliser plusieurs en même temps et d'autres problèmes et questions classiques. Il contient des informations détaillées sur le niveau actuel du support pour toutes les cartes Ethernet parmi les plus courantes disponibles.
Il ne couvre pas l'aspect logiciel des choses, tel qu'il
est décrit dans le NET-3-Howto. Notez aussi que les questions
générales sur Ethernet, non liées spécifiquement à Linux, ne sont pas
traitées dans ce document (ou du moins ne le devraient pas l'être).
Pour ce genre de questions, consultez l'excellent ensemble
d'informations de la FAQ du groupe comp.dcom.lans.ethernet
. Vous
pouvez l'obtenir par FTP depuis rtfm.mit.edu
de la même manière
que vous obtenez les FAQs des autres forums.
La présente version couvre les noyaux de distribution jusqu'à la version 2.2.7 incluse.
L'Ethernet-Howto est de :
Paul Gortmaker, p_gortmaker@yahoo.com
La principale source d'information pour la première version, en ASCII pur de l'Ethernet-Howto était :
Donald J. Becker, becker@cesdis.gsfc.nasa.gov
que nous devons aussi remercier pour l'écriture de la vaste majorité des
pilotes de cartes Ethernet qui sont aujourd'hui disponibles pour
Linux. Il est aussi l'auteur du serveur NFS originel. Merci Donald !Ce document est Copyright (c) 1993-1999 Paul Gortmaker, et 1998-1999 Mathieu Arnold pour la version française. Consultez le désistement de responsabilité (section Désistement de responsabilité et Copyright) et les informations sur la copie à la fin de ce document pour avoir plus d'informations sur la redistribution de ce document ainsi que tout le tremblement habituel sur 'nous ne sommes pas responsables de ce que vous pouvez réussir a casser...'.
La version française est de :
Mathieu Arnold, arn_mat@club-internet.fr
.
Les nouvelles versions de ce document peuvent être rapatriées depuis :
Sunsite HOWTO ArchiveCeci est l'emplacement officiel de ce document, il peut aussi être récupéré depuis divers sites miroirs WWW/FTP de Linux.
(NDT : En France, vous préférerez utiliser le site suivant pour le document originel :
ou, mieux, la version française :
Archive des HOWTO français sur LIP6
Archive des HOWTO français chez Freenix)
Des mises à jour seront réalisées au fur et à mesure de l'arrivée de nouvelles informations et/ou de nouveaux pilotes. Si la copie que vous êtes en train de lire date de plus de 6 mois, alors, vous devriez aller vérifier qu'une nouvelle version n'est pas disponible.
Ce document est consultable sous divers formats (postscript, dvi, ASCII, HTML...). Je recommanderai de consulter ce document sous sa forme HTML (à l'aide d'un navigateur WWW) ou sa forme Postscript/DVI. Ces deux formats contiennent des références croisées qui ne sont pas incluses dans le format texte ASCII.
Comme ce guide devient de plus en plus gros, vous n'avez certainement pas l'intention de passer la fin de votre après-midi à le lire en entier. Et la bonne nouvelle est que vous n'êtes pas obligé(e) de le lire du tout. Les versions HTML, postscript et dvi possèdent une table des matières qui vous permettra de trouver plus vite l'information que vous cherchez.
Il y a des chances pour que vous lisiez ce document parce que vous n'arrivez pas à faire marcher le tout, et que vous ne savez pas quoi faire ou quoi vérifier. La prochaine section ( Au secours - Ca ne marche pas~!) est destinée aux néophytes de Linux et vous indiquera la bonne direction.
Typiquement, les mêmes problèmes et les mêmes questions sont posés sans arrêt par des personnes différentes. Il y a des chances que votre problème ou votre question spécifique soit l'une de ces questions fréquemment posées, et qu'elle trouve sa réponse dans la partie FAQ (NDT : Foire Aux Questions) de ce document. (Voir La Foire Aux Questions). Tout le monde devrait y jeter un coup d'oeil avant d'envoyer un message demandant de l'aide.
Si vous n'avez pas encore de carte Ethernet, vous devriez commencer par en choisir une. (Voir Quelle carte dois-je acheter...)
Si vous avez déjà une carte Ethernet mais que vous n'êtes pas sûr(e) de pouvoir l'utiliser avec Linux, lisez donc la section qui contient les informations spécifiques à chaque constructeur, et à ses cartes. (Voir Informations Spécifiques...)
Si vous êtes intéressé(e) par l'un des aspects techniques des pilotes de périphériques de Linux, allez donc consulter la section Informations Techniques qui contient ces informations.
Bon, ne paniquez pas. Cette section va vous indiquer le chemin à suivre pour que les choses fonctionnent, même si vous n'avez pas de connaissances préalables sur Linux ou le matériel Ethernet.
La première chose à faire est de trouver quel est le modèle de votre carte, afin de pouvoir déterminer si Linux dispose d'un pilote pour cette carte-là. Des cartes différentes sont typiquement contrôlées de façon différente par l'ordinateur qui les accueille, et le pilote de périphérique de Linux (s'il en existe un) contient ces informations de contrôle qui permettent à Linux d'utiliser la carte.
Si vous n'avez pas de manuel ou de document de ce genre pour vous indiquer quel est le modèle de la carte, vous pouvez alors essayer la méthode décrite dans la section Identifier une carte inconnue, qui vous aidera sur les cartes mystérieuses.
Maintenant que vous savez quel type de carte vous avez, lisez les détails concernant celle-ci dans la section destinée aux cartes (section Informations Spécifiques...), qui liste par ordre alphabétique les constructeurs de carte, les numéros de chaque carte, et précise s'il existe un pilote pour Linux ou non. Si votre carte est indiquée comme `Non-supportée', vous pouvez pratiquement vous arrêter dès maintenant. Si vous ne pouvez pas trouver votre carte dans la liste, vérifiez alors si le manuel de celle-ci ne l'indique pas comme `compatible' avec un autre type de carte connu. Par exemple, il existe des centaines, si ce n'est des milliers de cartes différentes qui ont été conçues pour être compatible avec le modèle d'origine NE2000 de Novell.
Supposons que vous avez trouvé un pilote sous Linux pour votre carte, vous n'avez plus qu'à le récupérer et à l'utiliser. Ce n'est pas parce que Linux possède un pilote pour votre carte que celui-ci est pour autant installé dans tous les noyaux. (Le noyau est le coeur du système d'exploitation qui est chargé en premier au démarrage et qui contient entre autres choses, les drivers de divers périphériques). Selon la distribution de Linux que vous utilisez, il peut n'y avoir que très peu de noyaux tout prêts, et tout un tas de pilotes sous la forme de modules séparés, ou il peut y avoir tout un tas de noyaux, qui couvrent un grand nombre de combinaisons de pilotes précompilés.
La majorité des distributions actuelles de linux sont livrées avec beaucoup de petits modules qui sont les divers pilotes. Les modules requis sont généralements chargés lors du démarrage, ou à la demande pour pouvoir accéder à un péripherique particulier. Vous aurez besoin d'attacher ce module au noyau après qu'il ait démarré. Consultez les informations de votre distribution sur l'installation et l'utilisation des modules, ainsi que la section sur les modules du présent document (section Utilisation des pilotes Ethernet comme modules).
Si vous n'avez pas trouvé de noyau précompilé avec votre pilote, ni de pilote sous la forme d'un module, il y a des chances pour que vous ayez une carte particulièrement peu banale, et vous allez être obligé(e) de construire votre propre noyau en incluant ce pilote. Une fois que Linux est installé, construire un noyau personnalisé n'est pas difficile du tout. Vous répondez essentiellement oui ou non à ce que vous souhaitez que le noyau comprenne, et ensuite vous lui dites de le construire. Il existe un Kernel-HowTo qui vous aidera dans cette opération.
(NDT : et sa version française, accessible sur
Arrivé à ce point, vous devriez être parvenu d'une façon ou d'une autre à démarrer un noyau avec votre pilote intégré, ou à charger ce pilote comme un module. A peu près la moitié des problèmes que les gens rencontrent est liée au fait que le pilote n'a pas été chargé d'une manière ou de l'autre, donc vous devriez constater que tout fonctionne, maintenant.
Si cela ne fonctionne toujours pas, il vous faut alors vérifier si le
noyau a bel et bien détecté la carte. Pour ce faire, vous devez taper
dmesg | more
une fois loggé, après que le système a démarré et
que tous les modules ont été chargés. Cela vous permettra de consulter
les messages que le noyau a fait défiler sur l'écran durant le processus
de démarrage. Si la carte a été détectée, vous devriez voir quelque part
dans cette liste un message du pilote de votre carte commençant par
eth0
, et indiquant le nom du pilote et les paramètres matériels
(réglage d'interruption (IRQ), de ports d'entrée-sorties (E/S), etc.)
pour lesquels la carte est réglée. (Note : lors du boot, le noyau de
Linux donne la liste de toutes les cartes PCI, qu'il ait le pilote ou
non - ne le confondez pas avec la détection des pilotes qui intervient
après !)
Si vous ne voyez pas de message d'identification de ce type, alors le pilote n'a pas détecté votre carte, et c'est pour cela que cela ne fonctionne pas. Consultez la FAQ (section La Foire Aux Questions) pour savoir quoi faire si votre carte n'est pas détectée. Si vous avez une carte compatible NE2000, vous y trouverez aussi des astuces spécifiques pour faire détecter une NE2000.
Si la carte a été détectée, mais que le message de détection indique une quelconque erreur, telle qu'un conflit de ressources, alors le pilote ne s'est probablement pas correctement initialisé et la carte n'est toujours pas utilisable. La plupart des messages d'erreur de ce type sont eux aussi listés dans la FAQ, ainsi que leur solution.
Si le message de détection paraît correct, vérifiez de nouveau les ressources indiquées par le pilote en les comparant avec celles pour lesquelles la carte est physiquement configurée (soit à l'aide de petits `cavaliers' noirs sur la carte, soit par un logiciel utilitaire fourni avec la carte par son constructeur). Les ressources doivent correspondre exactement. Par exemple, si votre carte est configurée (physiquement ou par logiciel) pour utiliser l'IRQ 15 et que le pilote indique IRQ 10 dans les messages de démarrage, quelque chose ne va pas. La FAQ évoque les cas les plus courants où un pilote ne détecte pas correctement les informations de configuration de diverses cartes.
A ce stade, vous êtes arrivé(e) à faire détecter votre carte avec tous
les paramètres corrects, et l'on peut espérer que tout fonctionne. Si ce
n'est pas le cas, vous avez alors soit une erreur de configuration
logicielle, soit une erreur de configuration matérielle. Une erreur de
configuration logicielle serait de ne pas avoir configuré la bonne
adresse de réseau pour l'une des commandes ifconfig
ou
route
(ou les deux !); la manière de procéder est décrite en
détail dans le Network HowTo et le `Guide de l'Administrateur
Réseau' (`Network Administrator's Guide' (NAG) en anglais) qui se
trouvent certainement tous les deux sur le CD-ROM d'installation.
Une erreur de configuration matérielle se produit quand un type de
conflit de ressources ou une mauvaise configuration (que le pilote n'a
pas détecté au démarrage) empêche la carte de fonctionner
correctement. Vous pouvez typiquement observer cela sous plusieurs
formes différentes. (1) Vous obtenez un message d'erreur lorsque
ifconfig
essaie d'ouvrir le périphérique pour l'utiliser, du
genre ``SIOCSFFLAGS: Try again
''. (2) Le pilote indique des
messages d'erreur sur eth0
(que vous pouvez voir avec dmesg |
more
) ou des incohérences étranges à chaque fois qu'il essaie
d'envoyer ou de recevoir des données. (3) Le fait de taper cat
/proc/net/dev
donne un nombre non nul dans l'une des colonnes
errs
, drop
, fifo
, frame
ou carrier
pour eth0
. (4) Taper cat /proc/interrupts
donne un nombre
d'interruptions égal à zéro pour la carte. La plupart des erreurs de
configuration matérielle typiques sont elles aussi abordées dans la FAQ.
Eh bien, si vous êtes parvenu à ce point et que cela ne marche toujours
pas, lisez la section FAQ de ce document, voyez le paragraphe spécifique
à votre carte dans la section ``Informations Spécifiques..'', et si
cela ne fonctionne toujours pas alors vous pourrez recourir à un
envoi de message dans un groupe de news approprié pour demander
de l'aide. Si vous devez poster un message, veuillez détailler toute
information intéressante dans ce message, comme la marque de la carte,
la version du noyau, les messages du pilote au démarrage, le résultat de
cat /proc/net/dev
, une description claire du problème, et bien
entendu ce que vous avez déjà essayé en vue de faire fonctionner
l'ensemble.
Vous serez surpris de voir le nombre de personnes qui envoient des choses totalement inutiles comme ``Est-ce que quelqu'un peut m'aider ? Mon Ethernet ne fonctionne pas.'' et rien d'autre. Les lecteurs des groupes de news ont tendance à ignorer des messages aussi idiots, alors qu'une description détaillée et instructive du problème pourra permettre à un `gourou-Linux' de résoudre tout de suite votre problème.