Linux Ethernet-Howto
par Paul Gortmaker Version française : Mathieu Arnold
Version anglaise : v2.7, 5 mai 1999
Ceci est l'_E_t_h_e_r_n_e_t_-_H_o_w_t_o, une compilation d'informations sur les
périphériques Ethernet qui peuvent être utilisés avec Linux, et la
façon de les mettre en oeuvre. Notez que ce _H_o_w_t_o se limite à l'aspect
matériel et pilotes de bas niveau des cartes Ethernet, et ne couvre
pas la partie logicielle de choses comme ifconfig et route. Consultez
le _N_e_t_w_o_r_k _H_o_w_t_o pour ce type d'informations.
______________________________________________________________________
Table des matières
1. Introduction
1.1 Nouvelles versions de ce document
1.2 Ethernet-Howto, mode d'emploi
1.3 Au secours ! - Ca ne marche pas !
2. Quelle carte dois-je acheter pour Linux ?
2.1 Quels sont les pilotes stables, alors ?
2.2 Cartes 8 bits contre cartes 16 bits
2.3 Cartes 32 bits (VLB/EISA/PCI)
2.4 Cartes et pilotes 100 M disponibles
2.5 100VG contre 100BaseT
2.6 Les types de câbles que votre carte peut accepter
3. Foire Aux Questions (FAQ) - Les questions fréquemment posées
3.1 Les pilotes `Alpha' -- Comment les obtenir et comment s'en servir
3.2 Utiliser plus d'une carte Ethernet par machine
3.3 le
3.4 Problèmes avec les cartes NE1000 / NE2000 (et leurs clones)
3.5 Problèmes avec les cartes SMC Ultra/EtherEZ et WD80*3
3.6 Problèmes avec des cartes 3Com
3.7 Les questions qui ne sont pas spécifiques à une carte.
3.7.1 Linux et les cartes Ethernet ISA Plug and Play
3.7.2 Carte Ethernet non détectée au démarrage.
3.7.3 (TT
3.7.4 Une machine PCI détecte la carte mais la procédure de test du pilote échoue.
3.7.5 Des cartes ISA à mémoire partagée ne fonctionnent pas dans une machine PCI (
3.7.6 On dirait que ma carte envoie des données, mais elle ne reçoit jamais rien.
3.7.7 Asynchronous Transfer Mode (ATM)
3.7.8 Support de l'Ethernet Gigabit
3.7.9 FDDI
3.7.10 Full Duplex
3.7.11 Les machines SMP et les cartes Ethernet
3.7.12 Cartes Ethernet pour Linux sur carte-mère PCI Alpha/AXP
3.7.13 L'Ethernet et Linux sur les SUN/Sparc.
3.7.14 L'Ethernet, Linux et les autres architectures.
3.7.15 Relier deux 10 et 100 BaseT sans hub
3.7.16 SIOCSIFxxx: No such device
3.7.17 SIOCSFFLAGS: Try again
3.7.18 Utilisation de `ifconfig' et message `Link UNSPEC with HW-addr of 00:00:00:00:00:00'
3.7.19 Nombre faramineux d'erreurs en réception (RX Errors) et en transmission (TX Errors)
3.7.20 Liens dans
3.7.21 Linux et les ``trailers'' (amorces)
3.7.22 Accès direct au périphérique Ethernet
4. Trucs et astuces à propos des performances
4.1 Concepts génériques
4.2 La vitesse des cartes et du bus ISA
4.3 Modifier la fenêtre de réception TCP
4.4 Augmenter les performances de NFS
5. Informations spécifiques par distributeur/constructeur/modèle
5.1 3Com
5.1.1 3c501
5.1.2 EtherLink II, 3c503, 3c503/16
5.1.3 EtherLink plus, 3c505
5.1.4 EtherLink-16, 3c507
5.1.5 EtherLink III, 3c509 / 3c509B
5.1.6 3c515
5.1.7 3c523
5.1.8 3c527
5.1.9 3c529
5.1.10 3c562
5.1.11 3c575
5.1.12 3c579
5.1.13 3c589 / 3c589B
5.1.14 3c590 / 3c595
5.1.15 3c592 / 3c597
5.1.16 3c900 / 3c905 / 3c905B
5.1.17 3c985
5.2 Accton
5.2.1 Accton MPX
5.2.2 Accton EN1203, EN1207, EtherDuo-PCI
5.2.3 Adaptateur Accton EN2209 pour port parallèle (EtherPocket)
5.2.4 Accton EN2212 PCMCIA
5.3 Allied Telesyn/Telesis
5.3.1 AT1500
5.3.2 AT1700
5.3.3 AT2450
5.3.4 AT1500
5.3.5 AT2540FX
5.4 AMD / Advanced Micro Devices
5.4.1 AMD LANCE (7990, 79C960/961/961A, PCnet-ISA)
5.4.2 AMD 79C965 (PCnet-32)
5.4.3 AMD 79C970/970A (PCnet-PCI)
5.4.4 AMD 79C971 (PCnet-FAST)
5.4.5 AMD 79C972 (PCnet-FAST+)
5.4.6 AMD 79C974 (PCnet-SCSI)
5.5 Ansel Communications
5.5.1 AC3200 EISA
5.6 Apricot
5.6.1 Apricot Xen-II On Board Ethernet
5.7 Arcnet
5.8 AT&T
5.8.1 AT&T T7231 (LanPACER+)
5.9 Boca Research
5.9.1 Boca BEN (ISA, VLB; PCI)
5.10 Cabletron
5.10.1 E10**, E10**-x, E20**, E20**-x
5.10.2 E2100
5.10.3 E22**
5.11 Cogent
5.11.1 EM100-ISA/EISA
5.11.2 Cogent eMASTER+, EM100-PCI, EM400, EM960, EM964
5.12 Compaq
5.12.1 Compaq Deskpro / Compaq XL (Embedded AMD Chip)
5.12.2 Compaq Nettelligent/NetFlex (Embedded ThunderLAN Chip)
5.13 Danpex
5.13.1 Danpex EN9400
5.14 D-Link
5.14.1 DE-100, DE-200, DE-220-T, DE-250
5.14.2 DE-520
5.14.3 DE-528
5.14.4 DE-530
5.14.5 DE-600
5.14.6 DE-620
5.14.7 DE-650
5.15 DFI
5.15.1 DFINET-300 et DFINET-400
5.16 Digital / DEC
5.16.1 DEPCA, DE100/1, DE200/1/2, DE210, DE422
5.16.2 Digital EtherWorks 3 (DE203, DE204, DE205)
5.16.3 DE425 EISA, DE434, DE435, DE500
5.16.4 DEC 21040, 21041, 2114x, Tulip
5.17 Farallon
5.17.1 Etherwave de Farallon
5.18 Fujitsu
5.18.1 Fujitsu FMV-181/182/183/184
5.19 Hewlett Packard
5.19.1 27245A
5.19.2 HP EtherTwist, PC Lan+ (27247, 27252A)
5.19.3 HP-J2405A
5.19.4 Carte Ethernet embarquée de l'HP-Vectra
5.19.5 Cartes HP 10/100 VG Any Lan (27248B, J2573, J2577, J2585, J970, J973)
5.19.6 HP NetServer 10/100TX PCI (D5013A)
5.20 IBM / International Business Machines
5.20.1 IBM Thinkpad 300
5.20.2 IBM Credit Card Adaptor for Ethernet - Adaptateur `Credit Card' pour Ethernet d'IBM
5.20.3 IBM Token Ring
5.21 Cartes Ethernet ICL
5.21.1 ICL EtherTeam 16i/32
5.22 Cartes Ethernet Intel
5.22.1 Ether Express
5.22.2 Ether Express PRO/10
5.22.3 Ether Express PRO/10 PCI (EISA)
5.22.4 Ether Express PRO 10/100B
5.23 Kingston
5.24 LinkSys
5.24.1 Cartes LinkSys Etherfast 10/100.
5.24.2 LinkSys Pocket Ethernet Adapter Plus (PEAEPP)
5.24.3 Adaptateur LinkSys PCMCIA
5.25 Microdyne
5.25.1 Microdyne Exos 205T
5.26 Mylex
5.26.1 Mylex LNE390A, LNE390B
5.26.2 Mylex LNP101
5.26.3 Mylex LNP104
5.27 Ethernet chez Novell : NExxxx et les clones associés.
5.27.1 NE1000, NE2000
5.27.2 NE2000-PCI (RealTek/Winbond/Compex)
5.27.3 NE-10/100
5.27.4 NE1500, NE2100
5.27.5 NE/2 MCA
5.27.6 NE3200
5.27.7 NE3210
5.27.8 NE5500
5.28 Proteon
5.28.1 Proteon P1370-EA
5.28.2 Proteon P1670-EA
5.29 Pure Data
5.29.1 PDUC8028, PDI8023
5.30 Racal-Interlan
5.30.1 ES3210
5.30.2 NI5010
5.30.3 NI5210
5.30.4 NI6510 (not EB)
5.30.5 EtherBlaster (aka NI6510EB)
5.31 RealTek
5.31.1 RealTek RTL8002/8012 (AT-Lan-Tec) Pocket adaptor
5.31.2 RealTek 8009
5.31.3 RealTek 8019
5.31.4 RealTek 8029
5.31.5 RealTek 8129/8139
5.32 Sager
5.32.1 Sager NP943
5.33 Schneider & Koch
5.33.1 SK G16
5.34 SEEQ
5.34.1 SEEQ 8005
5.35 SMC (Standard Microsystems Corp.)
5.35.1 WD8003, SMC Elite
5.35.2 WD8013, SMC Elite16
5.35.3 SMC Elite Ultra
5.35.4 SMC Elite Ultra32 EISA
5.35.5 SMC EtherEZ (8416)
5.35.6 SMC EtherPower PCI (8432)
5.35.7 SMC EtherPower II PCI (9432)
5.35.8 SMC 3008
5.35.9 SMC 3016
5.35.10 SMC-9000 / SMC 91c92/4
5.35.11 SMC 91c100
5.36 Texas Instruments
5.36.1 ThunderLAN
5.37 Thomas Conrad
5.37.1 Thomas Conrad TC-5048
5.38 VIA
5.38.1 VIA 86C926 Amazon
5.38.2 VIA 86C100A Rhine II (et 3043 Rhine I)
5.39 Western Digital
5.40 Winbond
5.40.1 Winbond 89c840
5.40.2 Winbond 89c940
5.41 Xircom
5.41.1 Xircom PE1, PE2, PE3-10B*
5.41.2 Cartes Xircom PCMCIA
5.42 Zenith
5.42.1 Z-Note
5.43 Znyx
5.43.1 Znyx ZX342 (DEC 21040 based)
5.44 Identifier une carte inconnue
5.44.1 Identifier le contrôleur d'interface réseau (Network Interface Controller, NIC)
5.44.2 Identifier l'adresse Ethernet
5.44.3 Quelques astuces pour essayer d'utiliser une carte inconnue
5.45 Pilotes pour périphériques Non-Ethernet
6. Câbles, Coaxial, Paire Torsadée
6.1 Ethernet fin (thinnet)
6.2 Paire torsadée
6.3 Thick Ethernet - Le `gros' Ethernet
7. Configuration logicielle et diagnostics de carte
7.1 Programmes de configuration pour cartes Ethernet
7.1.1 Cartes WD80x3
7.1.2 Cartes Digital / DEC
7.1.3 Cartes NE2000+ ou AT/LANTIC
7.1.4 Cartes 3Com
7.2 Programmes de diagnostic pour cartes Ethernet
8. Informations Techniques
8.1 Entrées/Sorties programmées contre mémoire partagée contre DMA
8.1.1 Entrées/Sorties (E/S) programmées (NE2000, 3c509, etc.)
8.1.2 Mémoire partagée (WD80x3, SMC-Ultra, 3c503, etc.)
8.1.3 Accès Direct à la Mémoire (DMA) Esclave (normal) (p.ex. : aucune pour Linux !)
8.1.4 DMA en Bus Master (p.ex. : LANCE, DEC 21040)
8.2 Écriture d'un pilote de carte
8.3 Inteface du pilote avec le noyau
8.3.1 Détection de la carte (Probe)
8.3.2 Gestionnaire d'interruptions (Interrupt handler)
8.3.3 Fonction de transmission (Transmit function)
8.3.4 Fonction de réception (Receive function)
8.3.5 Fonction d'ouverture (Open function)
8.3.6 Fonction de fermeture (facultative) (Close function)
8.3.7 Autres fonctions
8.4 Informations techniques de 3Com
8.5 Notes sur les cartes basées sur la puce PCnet / LANCE d'AMD
8.6 Multicast et Mode `Promiscuous'
8.7 Le filtre de paquets de Berkeley (Berkeley Packet Filter -- BPF)
9. Faire du réseau avec un portable
9.1 Utiliser SLIP (Serial Line IP, IP sur liaison série)
9.2 Support PCMCIA
9.3 Carte Ethernet ISA dans la station d'accueil.
9.4 Adaptateurs de poche et sur port parallèle.
10. Questions diverses.
10.1 Passage des arguments Ethernet au noyau
10.1.1 L'argument
10.1.2 La commande
10.2 Utilisation des pilotes Ethernet comme modules
10.3 Documents associés
10.4 Désistement de responsabilité et Copyright
10.5 Conclusion
______________________________________________________________________
11.. IInnttrroodduuccttiioonn
L'_E_t_h_e_r_n_e_t_-_H_o_w_t_o 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 _n_e couvre _p_a_s l'aspect logiciel des choses, tel qu'il est décrit
dans le _N_E_T_-_3_-_H_o_w_t_o. 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'_E_t_h_e_r_n_e_t_-_H_o_w_t_o est de :
Paul Gortmaker, p_gortmaker@yahoo.com
La principale source d'information pour la première version, en ASCII
pur de l'_E_t_h_e_r_n_e_t_-_H_o_w_t_o é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.
11..11.. NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt
Les nouvelles versions de ce document peuvent être rapatriées depuis :
Sunsite HOWTO Archive
Ceci 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 :
Miroir de Sunsite
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.
11..22.. EEtthheerrnneett--HHoowwttoo,, mmooddee dd''eemmppllooii
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 _o_b_l_i_g_é_(_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
_s_a_n_s _a_r_r_ê_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.
11..33.. AAuu sseeccoouurrss !! -- CCaa nnee mmaarrcchhee ppaass !!
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_'_e_s_t _p_a_s 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 _K_e_r_n_e_l_-_H_o_w_T_o qui vous aidera dans cette
opération.
(NDT : et sa version française, accessible sur
Traduction du Kernel-Howto
)
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
_N_e_t_w_o_r_k _H_o_w_T_o et le `Guide de l'Administrateur Réseau' (`_N_e_t_w_o_r_k
_A_d_m_i_n_i_s_t_r_a_t_o_r_'_s _G_u_i_d_e' (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..'', _e_t _s_i _c_e_l_a _n_e _f_o_n_c_t_i_o_n_n_e _t_o_u_j_o_u_r_s _p_a_s alors vous
pourrez recourir à un envoi de message dans un groupe de _n_e_w_s
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.
22.. QQuueellllee ccaarrttee ddooiiss--jjee aacchheetteerr ppoouurr LLiinnuuxx ??
La réponse à cette question dépend fortement de ce que vous comptez
faire avec votre connexion réseau, et du volume du trafic qui va y
passer.
Si vous vous attendez à ce qu'un seul utilisateur effectue
occasionnellement une session FTP ou une connexion WWW, alors même une
vieille carte ISA 8 bits vous contentera probablement.
Si vous avez l'intention de mettre en place un serveur, et que vous
exigez que la charge processeur liée à la réception et à la
transmission des données sur le réseau reste la plus basse possible,
vous devrez certainement choisir une des cartes PCI, qui utilisent le
bus-mastering, telles celles comportant la puce tulip (21xxx) de DEC,
ou la puce PCnet-PCI d'AMD.
Si vous vous trouvez au milieu de ces deux extrêmes, alors n'importe
quelle carte PCI bon marché ou une carte ISA 16 bits possédant un
pilote stable vous conviendra.
22..11.. QQuueellss ssoonntt lleess ppiillootteess ssttaabblleess,, aalloorrss ??
Parmi les cartes ISA 16 bits, les pilotes suivants sont très au point,
et vous ne devriez pas avoir de problèmes si vous achetez une carte
qui utilise ces pilotes :
SMC-Ultra/EtherEZ, SMC-Elite (WD80x3), 3c509, Lance, NE2000.
Cela ne signifie pas que tous les autres pilotes sont instables. Il se
trouve juste que ceux-ci sont les plus anciens et les plus utilisés
des pilotes Linux, ce qui en fait le choix le plus sûr.
Notez que certaines cartes-mères pas chères peuvent avoir des
problèmes avec le bus-mastering que les cartes ISA Lance utilisent, et
que certains clones NE2000 bon marché ont des difficultés à être
détectés au démarrage.
Les pilotes PCI les plus couramment utilisés sous Linux sont
probablement le 3Com Vortex/Boomerang (3c59x/3c9xx), le DEC tulip
(21xxx), et l'EtherExpressPro 100 d'Intel. Les divers clones PCI-
NE2000 sont également très courants, mais l'achat d'une telle carte ne
peut se justifier que si le critère du prix est plus important que
celui des performances.
22..22.. CCaarrtteess 88 bbiittss ccoonnttrree ccaarrtteess 1166 bbiittss
Vous ne pourrez certainement plus acheter une carte Ethernet ISA
8 bits de nos jours, mais vous en trouverez encore beaucoup dans les
années à venir sur les marchés aux puces informatiques ou autres
braderies, et ce à des prix vraiment très bas. Cela les rend idéales
pour les systèmes ``Ethernet-à-la-maison''. cette constatation est
d'ailleurs aussi valable pour les cartes ISA 16 bits car les cartes
PCI deviennent de plus en plus communes.
La wd8003, la 3c503 et la ne1000 sont des cartes 8 bits qui donneront
de bonnes performances pour une utilisation faible à modérée. La
3c501 donnera des résultats faibles, et ces reliques antédiluviennes
(12 ans !) des beaux jours du XT sont à éviter. (Envoyez les a Alan,
il les collectionne...)
Le canal de données 8 bits n'atténue pas trop les performances,
puisque vous pouvez encore espérer obtenir 500 à 800 Ko/s en vitesse
de transfert FTP pour une carte 8 bits wd8003 (sur un bus ISA rapide)
à partir d'un serveur rapide. Et si la plupart de votre trafic réseau
est à destination de sites éloignés, le goulot d'étranglement se
situera ailleurs sur le chemin, la seule différence de vitesse que
vous noterez se produisant lorsqu'il y a de l'activité sur votre
réseau local.
22..33.. CCaarrtteess 3322 bbiittss ((VVLLBB//EEIISSAA//PPCCII))
Notez qu'un réseau à 10 Mbps ne justifie pas l'utilisation d'une
interface 32 bits. Consultez ``E/S programmées contre...'',
qui explique pourquoi avoir une carte Ethernet 10 Mbit/s sur un bus
ISA à 8 MHz ne constitue vraiment pas un goulot d'étranglement. Même
si le fait que la carte Ethernet se trouve sur un bus rapide ne
signifie pas que les transferts sont plus rapides, cela entraînera
souvent une charge processeur supplémentaire moins importante, ce qui
est bon pour les systèmes multi-utilisateurs.
Bien sûr, avec la démocratisation des réseaux 100 Mbps, les cartes
32 bits deviennent une obligation pour pouvoir tirer avantage de toute
la bande passante. AMD propose les puces 32 bits PCnet-VLB et PCnet-
PCI. Consultez ``AMD PCnet-32'' pour plus d'informations sur la
version 32 bits de la puce LANCE / PCnet-ISA.
La puce tulip (21xxx) PCI de DEC est une autre option (voir ``DEC
21040'') pour les utilisateurs de puissance. De nombreux fabricants
proposent des cartes basées sur cette puce, et les prix de ces cartes
``sans-nom'' sont généralement bas.
Les cartes PCI `Vortex' et `Boomerang' de 3Com constituent aussi une
autre option, et le prix reste correct si vous pouvez en obtenir une
tant que leur proposition d'évaluation dure. (voir ``3c590/3c595'')
Les cartes EtherExpress Pro 10/100 PCI d'Intel sont aussi connues pour
marcher plutôt bien avec Linux. (voir ``EtherExpress'').
Des fabricants de clones ont commencé à produire des clones PCI de
NE2000, basés sur une puce RealTek ou une puce Winbond. Le pilote
Linux NE2000 des noyaux 2.0.31 et supérieurs accepte ces cartes.
Cependant vous ne bénéficierez que de la vitesse plus élevée du bus,
puisque ces cartes utiliseront encore l'interface du pilote de la
NE2000, qui commence à dater. Depuis la version 2.0.34 du noyau, un
pilote specifique à ces cartes ne2k-pci.c est aussi disponible. Il
devrait être légerement plus efficace que le pilote ISA ne.c
22..44.. CCaarrtteess eett ppiillootteess 110000 MM ddiissppoonniibblleess
La liste des matériels 100 M reconnus par Linux à l'heure actuelle est
la suivante : les cartes basées sur la puce DEC 21140; les cartes
3c595/3c90x Vortex; la EtherExpressPro10/100B; la PCnet-FAST; la SMC
83c170 (epic100) et la HP 100VG ANY-LAN.
Allez aussi jeter un coup d'oeil sur les pages des constructeurs des
cartes, vous pouvez aussi aller sur l'une des adresse suivantes :
Ethernet 100M
La page 100VG de Donald
La page Fast Ethernet de Dan Kegel
22..55.. 110000VVGG ccoonnttrree 110000BBaasseeTT
Le 100BaseT est beaucoup plus répandu que le 100VG et la plaquette
publicitaire suivante est extraite d'un vieux message désespérement
bourré d'informations posté par Donald dans comp.os.linux; elle résume
bien la situation:
``Pour ceux qui ne seraient pas au courant, il y a deux normes
Ethernet en compétition, le 100VG (aussi connu sous le nom de
100baseVG ou encore 100VG-AnyLAN) et le 100baseT (qui, selon le type
du câble, s'appelle 100bastTx, 100baseT4 ou 100baseFx).
Le 100VG est arrivé sur le marché le premier, et je sentais qu'il
était mieux pensé que le 100baseTx. J'étais persuadé qu'il allait
gagner, mais visiblement ce ne sera pas le cas. HP et al. ont fait
plusieurs mauvais choix :
1) Retarder la norme de manière à ce qu'ils puissent être compatibles
avec IBM et accepter les trames Token Ring. Cela `semblait une bonne
idée à l'époque', puisque cela aurait permis aux installations Token
Ring de se mettre à jour sans devoir faire admettre aux décideurs
qu'ils avaient fait une énorme bourde en s'alliant avec la mauvaise
technologie. Mais il n'y avait rien à gagner, parce que les deux types
de trames ne peuvent pas coexister sur un réseau, parce que Token Ring
est un monstre de complexité , et que IBM a quand même adopté 100baseT
pour finir.
2) Ne produire que des cartes ISA et EISA. (Un modèle PCI n'a été
annoncé que récemment.) Le bus ISA est trop lent pour 100 M, et
relativement peu de machines EISA existent. A l'époque VLB était
classique, rapide, et économique, PCI restant un choix viable. Mais la
sagesse des ``anciens'' disait que les serveurs continueraient
d'utiliser le bus EISA hors de prix.
3) Ne pas m'envoyer une documentation. Oui, cela a été la raison
réelle du déclin du 100VG :-). J'ai appelé partout pour obtenir des
infos de programmation, et tout ce que j'ai pu obtenir a été une
brochure de quelques pages sur papier glacé de AT&T décrivant combien
le jeu de puce Regatta était merveilleux.''
(NDT : ``La norme 100 BAS VG - any LAN proposée par HP (...) ne
reprend pas le principe du protocole Ethernet mais utilise le principe
du _p_o_l_l_i_n_g. L'utilisation du mot Ethernet a donc ici plutôt une
vocation commerciale. Il faut changer les coupleurs dans les stations
de travail. Toutefois, on conserve les principaux systèmes de
câblage.'' (Pierre Rolin, _i_n ``Réseaux haut débit'', Hermès, 1995).
Fin 1997 plus personne ne parle de 100VG.
La norme 100baseT4 utilise un câblage catégorie 3 et 4, 100baseTx un
câblage catégorie 5, 100baseFx de la fibre optique.)
22..66..
LLeess ttyyppeess ddee ccââbblleess qquuee vvoottrree ccaarrttee ppeeuutt aacccceepptteerr
Si vous mettez en place un petit réseau ``personnel'', vous préférerez
certainement utiliser le ``thinnet'' ou câble Ethernet fin. C'est le
modèle avec les connecteurs BNC standards. Le câblage `thinnet', ou
Ethernet fin (câble coaxial RG-58) avec les connecteur BNC (en métal,
à enfoncer puis tourner pour verrouiller) est appelé techniquement
10Base2.
La plupart des cartes Ethernet possèdent aussi une version `Combo' qui
ne coûte que 60 à 150 francs de plus. (NDT : Amusant comme les écarts
de prix en dollars se convertissent en écarts de prix en francs ! La
version anglaise dit ``10 à 20 dollars de plus''. Ces écarts de prix
sont vrais fin 97.)
Ces versions `Combo' possèdent les deux interfaces paire torsadée et
Ethernet fin intégrées, ce qui vous permet de changer d'avis plus
tard.(NDT : `Combo' signigie même souvent : interface RJ-45 (10baseT,
paire torsadée) + interface BNC (10base2, thinnet) + interface AUI
(pour _t_r_a_n_s_c_e_i_v_e_r ou câble de descente (drop-cable) gros Ethernet).)
Les câbles à paires torsadées, avec les connecteurs RJ-45
(rectangulaires un peu plus grande que les prises `téléphone') sont
appelés techniquement 10BaseT. Vous pourrez aussi entendre parler de
UTP (Unshielded Twisted Pair, paire torsadée non-écrantée ou non-
blindée, NDT).
Le vieil Ethernet `épais' (Thick Ethernet, sur câble coaxial de 10 mm)
ne se trouve plus que dans les installations anciennes et est
appelé 10Base5. La prise en forme de D avec 15 broches présente sur
quelques cartes Ethernet (connecteur AUI) est utilisée pour connecter
de l'ethernet épais et des transceivers externes.
Les grandes installations professionnelles utiliseront le plus souvent
du 10BaseT au lieu de 10Base2. 10Base2 n'offre pas de moyen pour
passer au 100 Mbit/s, quel que soit le nom qu'on leur donne.
(NDT : Professionnellement parlant, en dehors de la fibre optique qui
est encore hors de prix jusqu'à la machine de l'utilisateur, les
nouveaux câblages devraient être réalisés en ``Catégorie 5, classe
D''. Ce type de câblage supporte non seulement 10BaseT, mais aussi
100BaseT et les nouveaux débits qui apparaissent.
Pour la maison, vous choisirez entre Ethernet fin (simple et pas cher)
et une connectique style RJ-45 (un peu moins simple, un peu plus cher,
mais plus `propre' électriquement parlant) selon vos envies et votre
budget !
Référez vous a ``Cables, Coax...'' pour plus de détails sur les
différents types de cables.
33..
FFooiirree AAuuxx QQuueessttiioonnss ((FFAAQQ)) -- LLeess qquueessttiioonnss ffrrééqquueemmmmeenntt ppoossééeess
Voici quelques unes des questions les plus fréquemment posées à propos
de l'utilisation de Linux avec une connexion Ethernet. Certaines des
questions les plus spécifiques sont triées `par ordre de
constructeur'. Il y a de fortes chances pour que la question que vous
voulez poser l'ai déjà été, et aie déjà une réponse. Donc, si jamais
vous ne trouvez pas la réponse ici, vous le trouverez certainement sur
une archive de newsgroups comme : Dejanews .
33..11..
LLeess ppiillootteess ``AAllpphhaa'' ---- CCoommmmeenntt lleess oobbtteenniirr eett ccoommmmeenntt ss''eenn sseerrvviirr
J'ai entendu dire qu'il y avait une version mise-à-jour ou un pilote
préliminaire/alpha disponible pour ma carte. Où puis-je l'obtenir ?
Les plus récents des `nouveaux' pilotes peuvent être trouvés sur le
site FTP de Donald : cesdis.gsfc.nasa.gov dans la partie /pub/linux/.
Les choses y changent fréquemment, donc jetez-y un coup d'oeil de
temps à autre. Vous pourrez préférer utiliser un navigateur WWW sur :
La page Linux de Don
pour localiser le pilote que vous cherchez. (Prenez garde aux naviga
teurs WWW qui modifient le source sans rien dire en remplaçant les
tabulations par des espaces, etc. - si vous n'êtes pas sûr(e),
utilisez ftp, ou au moins une URL FTP, pour le chargement.)
Maintenant, s'il s'agit réellement d'un pilote alpha, voire pré-alpha,
s'il vous plaît considérez-le comme tel ! En d'autres termes, ne vous
plaignez pas parce que vous n'arrivez pas à comprendre ce que vous
devez en faire. Si vous ne savez pas comment l'installer, alors vous
ne devriez certainement pas être en train de le tester. De même, s'il
plante votre machine, ne vous plaignez pas. Au lieu de cela, envoyez-
nous un rapport détaillé sur le problème, ou même mieux, un patch !
Notez que certains des pilotes expérimentaux ou alpha `utilisables'
sont inclus dans l'arborescence standard du noyau. Lorsque vous
exécutez make config, l'une des premières choses qui vous sera
demandée est si vous souhaitez être interrogé(e) sur les pilotes en
cours de développement (``Prompt for development and/or incomplete
code/drivers''). Vous devrez répondre ``Y'' (pour `_Y_e_s', `Oui') à
cette question si vous souhaitez être interrogé(e) sur l'inclusion
d'un pilote alpha ou expérimental.
33..22.. UUttiilliisseerr pplluuss dd''uunnee ccaarrttee EEtthheerrnneett ppaarr mmaacchhiinnee
Que faut-il faire pour que Linux puisse gérer deux cartes Ethernet ?
La réponse à cette question est différente selon que les pilotes ont
été compilés directement dans le noyau ou en tant que modules. De nos
jours, la majorité des distributions utilisent des pilotes sous forme
de modules. Ceci permet de ne pas avoir à fournir une tonne de noyaux
chacun ayant un jeu de pilotes spécifique. A la place, un petit noyau
de base est utilisé et les pilotes sont tous compilés en modules, ces
modules étant chargés à la demande dès que le système est allé assez
loin dans son démarrage pour accéder aux modules (habituellement dans
/lib/modules/).
_A_v_e_c _l_e _p_i_l_o_t_e _c_h_a_r_g_é _e_n _m_o_d_u_l_e _: Dans le cas de pilotes PCI, le
module détectera normalement toutes les cartes de même type d'un seul
coup. Cependant, pour les cartes ISA, la détection automatique n'est
pas une opération qui marche à coup sûr, et vous aurez très
certainement à fournir les adresses d'entrée/sortie de base de la
carte pour que le module sache où regarder. Ces informations sont
placées dans le fichier /etc/conf.modules.
Par exemple, supposez qu'un utilisateur ait deux cartes ISA NE2000,
une à Ox300 et l'autre à 0x240, il aura les lignes suivantes dans son
/etc/conf.modules :
alias eth0 ne
alias eth1 ne
options ne io=0x240,0x300
Explication : cela dit que si l'administrateur (ou le noyau) fait un
modprobe eth0 ou un modprobe eth1, alors le pilote ne.o devra être
chargé pour eth0 et eth1. De plus, quand le module se chargera, il le
sera avec comme options io=0x240,0x300. Ainsi, le pilote saura où
aller chercher les cartes. Notez que le 0x est important, des trucs
comme 300h couramment utilisés dans le monde DOS ne marcheront pas. Le
fait d'inverser 0x240 et 0x300 aura pour effet d'inverser physiquement
eth0 et eth1.
La majorité des pilotes ISA peuvent prendre plusieurs valeurs
d'entrée/sortie séparées par des virgules comme dans cet exemple pour
prendre en charge plusieurs cartes. Cependant, certains pilotes (plus
anciens ?), tels que le module 3c501.o sont pour l'instant incapables
de gérer plus d'une carte par chargement du module. Dans ce cas, vous
pouvez charger le module deux fois pour avoir les deux cartes
détectées. Votre /etc/conf.modules ressemblerait alors à :
alias eth0 3c501
alias eth1 3c501
options eth0 -o 3c501-0 io=0x280 irq=5
options eth1 -o 3c501-1 io=0x300 irq=7
Dans cet exemple, l'option -o a été utilisée pour donner à chaque
instance du module un nom unique, puisqu'il n'est pas possible d'avoir
deux modules ayant le même nom. L'option irq= a également été
utilisée, pour indiquer l'interruption materielle de la carte. (Cette
méthode peut aussi être utilisée pour les modules qui gèrent les
listes d'adresses d'entrée/sortie, bien qu'elle soit moins efficace,
car on se retrouve avec le module chargé deux fois alors que cela
n'est pas nécessaire.)
Pour finir, voici un exemple avec une carte 3c503 à 0x350 et une SMC
Elite16 (wd8013) à 0x280. Vous auriez :
alias eth0 wd
alias eth1 3c503
options wd io=0x280
options 3c503 io=0x350
Pour les cartes PCI, vous avez juste besoin des lignes alias pour
associer les interface ethN aux pilotes correspondants, puisque les
adresses d'entrée/sortie des cartes PCI sont automatiquement
détectées.
Les modules disponibles sont généralements situés dans le répertoire
/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
voir ceux qui sont faits pour votre carte. Puis, lorsque vous aurez
les bons paramètres dans votre /etc/conf.modules, il ne vous reste
plus qu'à tester avec la commande :
modprobe ethN
dmesg | tail
Où N est le numéro de l'interface que vous testez.
_A_v_e_c _l_e _p_i_l_o_t_e _c_o_m_p_i_l_é _d_a_n_s _l_e _n_o_y_a_u _: Si vous avez le pilote compilé
dans le noyau, alors, voici tout ce qu'il faut savoir pour utiliser
plusieurs cartes Ethernet. Toutefois, notez que pour le moment,
seulement _u_n_e carte Ethernet est détectée automatiquement par défaut.
Cela contribue à éviter des blocages possibles au moment du démarrage,
causés par la détection de cartes `sensibles'.
(Note : Depuis les derniers noyaux 2.1, la détection des périphériques
a été découpée en deux parties, celle qui est sûre, et celle qui ne
l'est pas . Par conséquent, tout ce qui est sûr (ex : PCI et EISA)
sera détecté de manière automatique. Les systèmes avec plus d'une
carte dont une sur un port ISA nécessiteront toujours la procédure
suivante.)
Vous pouvez activer la détection automatique de la deuxième (et de la
troisième, et de...) carte de deux façons différentes.
La méthode la plus simple consiste à passer des arguments au noyau au
moment du démarrage, ce qui est généralement fait par LILO. La
détection de la deuxième carte peut être obtenue en utilisant un
argument de démarrage aussi simple que ether=0,0,eth1. Dans ce cas,
eth0 et eth1 seront affectés dans l'ordre dans lequel les cartes
seront trouvées dans cet ordre au démarrage. Par contre, si vous
souhaitez que la carte sur le port 0x300 soit eth0 et que la carte sur
le port 0x280 soit eth1, vous pourrez utiliser
LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1
La commande ether= accepte plus d'informations que le numéro d'IRQ +
le port d'E/S + le nom qui sont montrés ci-dessus. Veuillez
consulter ``Passage des arguments Ethernet...'' pour la syntaxe
complète, les paramètres spécifiques à chaque carte, et des astuces
pour LILO.
Ces arguments de démarrage peuvent être rendus permanents afin de ne
pas devoir les ré-entrer à chaque fois. Consultez la documentation sur
l'option de configuration `append' de LILO.
La seconde méthode (non recommandée) est d'éditer le fichier Space.c
et de remplacer la valeur 0xffe0 pour l'adresse d'entrée-sortie par un
zéro. La valeur 0xffe0 indique au noyau qu'il ne doit pas essayer de
détecter ce périphérique -- la remplacer par un zéro autorisera
l'auto-détection du périphérique.
Notez que si vous avez l'intention d'utiliser Linux sur une machine
qui servira de passerelle entre deux réseaux, vous devrez recompiler
un noyau avec l'option ``IP forwarding''. Mais généralement un vieil
AT/286 avec quelque chose comme le logiciel `kbridge' est une
meilleure solution.
Si vous consultez ce document tout en _s_u_r_f_a_n_t sur le réseau, vous
pourrez jeter un coup d'oeil à un _m_i_n_i_-_H_O_W_T_O que Donald a sur son site
WWW. Consultez :
Plusieurs Cartes Ethernet .
33..33.. llee eetthheerr== nn''aa rriieenn cchhaannggéé.. PPoouurrqquuooii ??
Comme il a été dit précédemment, la commande ether= ne marche _q_u_e pour
les pilotes qui ont été compilés dans le noyau. Maintenant, la
majorité des distributions utilisent les pilotes dans leur forme
modulaire, ce qui fait que la commande ether= n'est plus guère
utilisée. (Certaines vieilles documentations ont peut-être encore à
être mises à jour pour refléter ce changement.) Si vous voulez passer
des options à un pilote modulaire vous _d_e_v_e_z faire les changements
dans le fichier /etc/conf.modules.
Si vous utilisez un pilote compilé dans le noyau et avez ajouté la
ligne ether= à votre fichier de configuration LILO, notez qu'il ne
sera pris en compte que lorsque vous relancerez lilo pour mettre à
jour les informations.
33..44..
PPrroobbllèèmmeess aavveecc lleess ccaarrtteess NNEE11000000 // NNEE22000000 ((eett lleeuurrss cclloonneess))
PPrroobbllèèmmee :: Une carte PCI clone NE2000 n'est pas détectée au démarrage
avec un noyau 2.0.x.
RRaaiissoonn :: Le pilote ne.c jusqu'à la version 2.0.30 ne connaît que le
numéro d'identification PCI des cartes clones basées sur la puce 8029
de RealTek. Comme depuis beaucoup d'autres ont eux aussi fait des
cartes PCI clones NE2000, avec des numéro d'identification PCI
différents, le pilote ne les détecte pas.
SSoolluuttiioonn :: La solution la plus simple est de mettre à jour votre noyau
pour une version 2.0.31 (ou plus récente). Cette dernière connaît les
identificateurs de près de cinq puces NE2000 PCI différentes, et les
détectera automatiquement au démarrage ou lors du chargement en
module. Si vous passez à la version 2.0.34 (ou plus récente) du noyau,
vous aurez un pilote spécifique aux cartes NE2000 PCI, qui est un peu
plus léger et plus rapide que le pilote ISA/PCI.
PPrroobbllèèmmee :: Ma carte PCI clone NE2000 est indiquée comme étant une
NE1000 (une carte 8 bits !) au démarrage ou lorsque je charge le
module ne.o sous 2.0.x, et par conséquent la carte ne fonctionne pas.
RRaaiissoonn :: Certains clones PCI n'implémentent pas l'accès de largeur un
octet (et par conséquent ne sont donc pas réellement compatibles
NE2000 à 100%). Cela entraîne que la procédure de détection pense
qu'il s'agit de cartes NE1000.
SSoolluuttiioonn :: Vous devez passer à la version 2.0.31 (ou une version plus
récente) comme dit ci-dessus. Le pilote vérifie maintenant si ce bug
matériel est là.
PPrroobbllèèmmee :: Ma carte NE2000 PCI a des performances affreuses, même en
réduisant la taille de la fenêtre comme il est décrit dans la section
sur les trucs pour les performances.
RRaaiissoonn :: Les spécifications de la puce 8390 originelle, conçue et
vendue il y a plus de dix ans, notaient qu'une opération de lecture
(depuis la puce) était nécessaire avant chaque opération d'écriture
pour avoir une sécurité maximale. Le pilote possède la fonctionnalité
pour le faire mais cela a été désactivé par défaut depuis l'époque des
versions 1.2 du noyau. Un utilisateur a indiqué que le fait de
réactiver cette `contre-fonctionnalité' avait aidé à améliorer les
performances sur une carte PCI clone de NE2000 bon marché.
SSoolluuttiioonn :: Puisque cela n'a été rapporté comme solution que par une
seule personne, ne vous échauffez pas trop. Pour ré-activer le
correctif de `lecture avant écriture', il suffit d'éditer le fichier
du pilote dans linux/drivers/net/, d'enlever les commentaires qui
entourent la ligne contenant NE_RW_BUGFIX puis de reconstruire le
noyau ou le module selon le cas. Merci d'envoyer un courrier décrivant
la différence de performance et le type de carte / de puce que vous
avez, si cela vous a aidé. (la même chose peut être effectuée sur le
fichier ne2k-pci.c également).
PPrroobbllèèmmee :: Le pilote ne2k-pci.c donne un message d'erreur ressemblant
a timeout waiting for Tx RDC avec une carte NE2000 PCI et ne marche
pas.
RRaaiissoonn :: Votre carte et/ou le lien vers le bus PCI ne sait pas gérer
les optimisations d'E/S du pilote.
SSoolluuttiioonn :: Tout d'abord, vérifiez les réglages de votre BIOS pour voir
si vous avez un réglage de timing du bus PCI trop agressif pour des
opérations stables. Sinon, vous pouvez utiliser le pilote ISA/PCI ne.c
(ou commenter la ligne #define USE_LONGIO du ne2k-pci.c), ce qui vous
permettrait d'utiliser la carte.
PPrroobbllèèmmee :: Ma carte ISA Plug and Play NE2000 (telle que la RealTek
8019) n'est pas détectée.
RRaaiissoonn :: A l'origine, les spécifications de NE2000 (et par conséquent
le pilote linux NE2000) ne supportent pas le PnP.
SSoolluuttiioonn :: Utilisez la disquette de configuration DOS qui est fournie
avec la carte pour désactiver le PnP, et pour régler les adresses
d'entrée/sortie et l'IRQ. Ajoutez une ligne au /etc/conf.modules telle
options ne io=0xNNN ou 0xNNN est l'adresse d'entrée/sortie en
hexadecimal. (Ceci suppose l'utilisation des modules, si tel n'est pas
le cas, utilisez une commande telle ether=0,0xNNN,eth0 lors du boot).
Vous aurez peut être aussi a configurer cette irq dans le BIOS pour
qu'elle ne soit pas affectée à une carte PnP. D'un autre côté, si vous
devez laisser le PnP pour rester compatible avec un autre système
d'exploitation, allez regarder le paquetage _i_s_a_p_n_p_t_o_o_l_s. Essayez man
isapnp pour voir si il n'est pas déjà installé sur votre système. S'il
ne l'est pas, allez jeter un coup d'oeil à l'URL :
ISA PNP Tools
PPrroobbllèèmmee :: Le pilote NE*000 indique `not found (no reset ack)' (carte
non trouvée, pas d'acquittement de la réinitialisation) pendant la
procédure de détection au démarrage.
RRaaiissoonn :: Cela est lié au changement précédent. Après la vérification
initiale qu'une 8390 se trouve à l'adresse d'E/S testée, la
réinitialisation est effectuée. Quand la carte a terminé sa
réinitialisation, elle est supposée envoyer un acquittement indiquant
que la réinitialisation s'est achevée. Votre carte ne l'a pas fait, et
le pilote estime donc qu'aucune carte NE n'est présente.
SSoolluuttiioonn :: Vous pouvez indiquer au pilote que vous possédez une
_m_a_u_v_a_i_s_e _c_a_r_t_e (_b_a_d _c_a_r_d) en utilisant une valeur héxadécimale 0xbad
au moment du démarrage pour le paramètre mem_end (qui n'est
normalement pas utilisé). Vous _d_e_v_e_z aussi fournir une adresse de base
non nulle pour les ports d'E/S de la carte quand vous utilisez la
valeur 0xbad. Par exemple, une carte qui se trouve à 0x340 et qui
n'acquitte pas la réinitialisation utilisera quelque chose comme :
LILO: linux ether=0,0x340,0,0xbad,eth0
Cela permettra à la procédure de détection de la carte de continuer,
même si votre carte n'acquitte pas la réinitialisation. Si vous
utilisez le pilote comme un module, vous pouvez alors fournir l'option
bad=0xbad exactement comme vous indiquez l'adresse d'E/S
PPrroobbllèèmmee :: Ma carte NE*000 bloque la machine au premier accès réseau.
RRaaiissoonn :: Ce problème a été rapporté pour des noyaux aussi vieux que le
1.1.57 jusqu'aux noyaux actuels. Il apparaît être confiné à un petit
nombre de cartes clones configurables par logiciel. Il apparaît que
ces cartes s'attendent à être initialisées d'une manière spéciale.
SSoolluuttiioonn :: De nombreuses personnes ont indiqué que le fait d'exécuter
le programme DOS de configuration fourni avec la carte et/ou le pilote
DOS fourni avec la carte avant de redémarrer à chaud (i.e. en
utilisant loadlin ou le `salut-aux-trois-doigts' (Ctrl-Alt-Suppr,
NDT)) pour lancer Linux permet à la carte de fonctionner. Ceci
indiquerait que ces cartes doivent être initialisées d'une façon
particulière, légèrement différente de ce que le pilote Linux actuel
réalise.
PPrroobbllèèmmee :: Ma carte Ethernet NE*000 à l'adresse 0x360 n'est pas
détectée.
RRaaiissoonn :: Votre carte NE2000 a une largeur d'espace d'adressage d'E/S
de 0x20, ce qui lui fait atteindre la zone utilisée par le port
parallèle à l'adresse 0x378. D'autres périphériques pourraient se
trouver à cet endroit-là, comme le contrôleur du deuxième lecteur de
disquette (s'il y en a un) à l'adresse 0x370 et le contrôleur IDE
secondaire aux adresses 0x376--0x377. Si le(s) port(s) sont déjà
enregistrés par un autre pilote, le noyau ne laissera pas s'exécuter
la détection.
SSoolluuttiioonn :: Vous pouvez soit déplacer votre carte vers une adresse
d'E/S comme 0x280, 0x340, 0x320, ou compiler votre noyau sans l'option
pour l'imprimante parallèle.
PPrroobbllèèmmee :: Le réseau `disparaît' à chaque fois que j'imprime quelque
chose (NE2000).
RRaaiissoonn :: Même problème que précédemment, mais vous avez un vieux noyau
qui ne vérifie pas les chevauchements de zones d'adressage d'E/S.
Utilisez la même solution que ci-dessus, et profitez-en pour récupérer
un nouveau noyau, tant qu'à faire.
PPrroobbllèèmmee :: NE*000 ethercard probe at 0xNNN: 00 00 C5 ... not found.
(invalid signature yy zz) (carte Ethernet NE*000 testée à l'adresse
0xNNN: 00 00 C5 ... non trouvée, signature yy zz non valide)
RRaaiissoonn :: Avant tout, avez-vous une carte NE1000 ou NE2000 à l'adresse
0xNNN ? Si oui, est-ce que l'adresse matérielle indiquée ressemble à
une adresse valide ? Si oui, alors vous avez un clone NE*000 bas de
gamme. Tous les clones NE*000 sont supposés avoir la valeur 0x57 dans
les octets 14 et 15 de leur SA (Station Address) PROM. La vôtre n'a
pas ces valeurs -- elle a `yy zz' à la place.
SSoolluuttiioonn :: Il existe deux moyens de contourner ce problème.
Le plus simple est d'utiliser une valeur 0xbad pour le paramètre
mem_end comme indiqué ci-dessus pour le problème du non-acquittement
de la réinitialisation. Cela évitera la vérification de la signature,
pour autant qu'un port d'E/S non nul soit fourni en même temps. De
cette façon, aucune recompilation du noyau n'est nécessaire.
La seconde méthode (pour les hackers) nécessite de changer le pilote
lui-même, puis de recompiler votre noyau (ou le module). Le pilote
(/usr/src/linux/drivers/net/ne.c) comporte une petite "Galerie des
horreurs" aux environs de la ligne 42. Cette liste est utilisée pour
détecter les clones bas de gamme. Par exemple, la carte DFS utilise
`DFI' dans les trois premiers octets de la PROM, au lieu d'utiliser
0x57 aux octets 14 et 15, tels qu'ils sont supposés être.
PPrroobbllèèmmee :: La machine se bloque pendant le démarrage après le
message `8390...' ou le message `WD....'. Le fait d'enlever la carte
NE2000 résoud le problème.
SSoolluuttiioonn :: Changez votre adresse d'E/S de base pour une valeur comme
0x340. Autre solution, vous pouvez utiliser l'argument de démarrage
``reserve='' en conjonction avec l'argument ``ether='' pour protéger
la carte des procédures de détection des autres pilotes de
périphériques.
RRaaiissoonn :: Votre clone NE2000 n'est pas un assez bon clone. Une carte
NE2000 est un puits sans fond qui attirera tout pilote qui tenterait
une détection dans son espace d'adressage. Le fait de changer la carte
NE2000 vers une adresse moins populaire l'écartera du chemin des
autres procédures de détection automatique, permettant à votre machine
de démarrer.
PPrroobbllèèmmee :: La machine se bloque pendant la détection du SCSI au
démarrage.
RRaaiissoonn :: C'est le même problème que précédemment; changez l'adresse
d'E/S de la carte Ethernet, ou utilisez les arguments de démarrage
reserve et ether.
PPrroobbllèèmmee :: La machine se bloque pendant la détection de la carte son
au démarrage.
RRaaiissoonn :: Non, en fait c'est pendant la détection silencieuse du SCSI,
et c'est le même problème que ci-dessus.
PPrroobbllèèmmee :: Ma carte NE2000 n'est pas détectée au démarrage. Il n'y a
aucun message pendant le démarrage.
SSoolluuttiioonn :: Il n'existe pas de `solution magique' parce qu'il existe
tout un tas de raisons pour qu'elle ne soit pas détectée. La liste
suivante devrait vous aider à parcourir les problèmes possibles.
1) Construisez un nouveau noyau ne contenant que les pilotes de
périphérique dont vous avez besoin. Vérifiez que vous êtes réellement
en train de démarrer le noyau tout frais. Oublier de lancer lilo, etc.
peut amener à démarrer l'ancien. (Regardez de près la date et l'heure
de compilation indiquée au démarrage.) Cela peut paraître idiot, mais
nous l'avons tous fait un jour. Assurez-vous que le pilote est bien
inclus dans le nouveau noyau, en consultant le fichier System.map à la
recherche de noms comme ne_probe.
2) Consultez attentivement les messages au démarrage. Est-ce qu'ils
mentionnent une tentative de détection d'une NE2000 comme `NE*000
probe at 0xNNN: not found (bla bla)' ou est-ce que la détection se
contente d'échouer sans rien dire ? Cela fait une grosse différence.
Utilisez dmesg|more pour relire les messages de démarrage après vous
être loggé, ou tapez Majuscule+PageUp (page précédente) pour faire
défiler l'écran vers le haut après que le démarrage soit terminé et
que le prompt de login soit apparu.
3) Après le démarrage, faites un cat /proc/ioports et vérifiez que
tout l'espace d'E/S que la carte demandera est vacant. Si vous avez
0x300 comme adresse de base, alors le pilote NE2000 demandera la plage
d'adresse 0x300-0x31f. Si un autre pilote de périphérique a enregistré
ne serait-ce qu'un port à n'importe quel endroit dans cet intervalle,
la procédure de détection ne pourra pas s'effectuer à cette adresse et
continuera sans rien dire jusqu'à la prochaine adresse testée. Un cas
classique est que le pilote lp (imprimante) réserve 0x378 ou que le
second canal IDE réserve 0x376 ce qui empêche le pilote ne de tester
la plage 0x360-0x380.
4) Même chose que précédemment avec cat /proc/interrupts. Assurez-
vous qu'aucun autre périphérique n'a enregistré l'interruption que
vous avez fixée pour la carte Ethernet. Dans ce cas, la détection
s'effectuera, et le pilote Ethernet se plaindra vigoureusement au
démarrage de ne pas être capable d'obtenir la ligne d'IRQ désirée.
5) Si vous séchez encore sur l'échec silencieux du pilote, éditez-le
et ajoutez quelques printk() à la procédure de détection. Par exemple,
avec une NE2000 vous pouvez ajouter/enlever des lignes (marquées
respectivement par un '+' ou un '-') dans linux/drivers/net/ne.c
comme :
______________________________________________________________________
int reg0 = inb_p(ioaddr);
+ printk("NE2k probe - now checking %x\n",ioaddr);
- if (reg0 == 0xFF)
+ if (reg0 == 0xFF) {
+ printk("NE2k probe - got 0xFF (vacant I/O port)\n");
return ENODEV;
+ }
______________________________________________________________________
Le noyau émettra alors des messages pour chaque port qu'il vérifie, et
vous verrez alors si l'adresse de votre carte a été testée ou non.
6) Vous pouvez aussi récupérer le programme de diagnostic pour NE2000
sur le site FTP de Don (indiqué dans le _H_o_w_t_o) et regarder s'il est
capable de détecter votre carte après que vous avez démarré Linux.
Utilisez l'option `-p 0xNNN' pour lui dire où regarder pour la carte.
(La valeur par défaut est 0x300 et il ne va pas regarder ailleurs, à
la différence de la procédure de détection au démarrage.)
Le résultat, s'il trouve une carte, ressemblera à :
______________________________________________________________________
Checking the ethercard at 0x300.
Register 0x0d (0x30d) is 00
Passed initial NE2000 probe, value 00.
8390 registers: 0a 00 00 00 63 00 00 00 01 00 30 01 00 00 00 00
SA PROM 0: 00 00 00 00 c0 c0 b0 b0 05 05 65 65 05 05 20 20
SA PROM 0x10: 00 00 07 07 0d 0d 01 01 14 14 02 02 57 57 57 57
NE2000 found at 0x300, using start page 0x40 and end page 0x80.
______________________________________________________________________
Vos valeurs de registres et de PROM seront probablement différentes.
Notez que toutes les valeurs de la PROM sont doublées pour une carte
16 bits, et que l'adresse Ethernet (00:00:c0:b0:05:65) apparaît dans
la première ligne, et que la signature avec le double 0x57 apparaît à
la fin de la PROM.
Le résultat, s'il n'y a aucune carte installée en 0x300, ressemblera
à :
______________________________________________________________________
Checking the ethercard at 0x300.
Register 0x0d (0x30d) is ff
Failed initial NE2000 probe, value ff.
8390 registers: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
SA PROM 0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
SA PROM 0x10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Invalid signature found, wordlength 2.
______________________________________________________________________
Les valeurs 0xff apparaissent parce que c'est la valeur qui est
retournée lorsque l'on lit un port d'E/S vacant. Si vous avez un autre
matériel dans la zone qui est testée, vous pourrez voir des valeurs
différentes de 0xff aussi.
7) Essayez de démarrer Linux à chaud depuis une disquette de démarrage
DOS (via loadlin) après avoir exécuté le pilote DOS fourni ou le
programme de configuration de la carte. Il se peut qu'il exécute
quelques tours de passe-passe supplémentaires (c'est-à-dire
non standards) pour initialiser la carte.
8) Essayez le pilote en mode paquet (packet driver) ne2000.com de Russ
Nelson pour voir s'il peut au moins voir votre carte -- si ce n'est
pas le cas, alors les choses vont vraiment mal.
Exemple :
A:> ne2000 0x60 10 0x300
Les arguments sont : le vecteur d'interruption logiciel, l'IRQ
matérielle, et le port d'E/S. Vous pouvez obtenir ce programme de
n'importe quelle archive msdos dans le fichier pktdrv11.zip -- la
version actuelle peut avoir un numéro plus récent que 11.
33..55..
PPrroobbllèèmmeess aavveecc lleess ccaarrtteess SSMMCC UUllttrraa//EEtthheerrEEZZ eett WWDD8800**33
PPrroobbllèèmmee :: Vous obtenez des messages semblables à :
eth0: bogus packet size: 65531, status=0xff, nxpg=0xff
RRaaiissoonn :: Il y a un problème de mémoire partagée.
SSoolluuttiioonn :: Les machines PCI qui n'ont pas été configurées pour
traduire les périphériques ISA en mémoire constituent la source la
plus courante pour ce problème. De fait vous lisez la mémoire vive du
PC (toutes les valeurs 0xff que donne le message) au lieu de la
mémoire vive de la carte, qui elle contient les données du paquet
reçu.
D'autres problèmes courants qui eux sont faciles à régler sont des
conflits de carte, le fait d'avoir activé le cache ou la mémoire morte
plus vite que 8 MHz. Il existe aussi un nombre étonnant de pannes de
la mémoire sur les cartes Ethernet, donc utilisez le programme de
diagnostic si vous en avez un pour votre carte Ethernet.
PPrroobbllèèmmee :: Une carte EtherEZ de SMC ne fonctionne pas en mode de
mémoire non-partagée (PIO).
RRaaiissoonn :: Les versions les plus anciennes du pilote Ultra ne pouvaient
utiliser la carte que dans le mode de travail à mémoire partagée.
SSoolluuttiioonn :: Le pilote de la version 2.0 (et supérieures) sait aussi
utiliser le mode d'E/S programmées (PIO). Mettez votre noyau à jour
vers une version 2.0 ou plus récente.
PPrroobbllèèmmee :: Une vieille wd8003 et/ou une wd8013 configurable par
cavaliers ont toujours la mauvaise IRQ.
RRaaiissoonn :: Les vieilles cartes wd8003 et les clones wd8013 configurables
par cavaliers ne possèdent pas l'EEPROM que le pilote sait lire pour y
trouver le paramétrage de l'IRQ. Si le pilote ne sait pas lire l'IRQ,
il essaie de déterminer automatiquement l'IRQ. Et si la procédure de
détection automatique retourne zéro, le pilote se contente d'affecter
l'IRQ 5 pour une carte 8 bits ou l'IRQ 10 pour une carte 16 bits.
SSoolluuttiioonn :: Evitez le code de détection automatique de l'IRQ, et
indiquez au noyau la valeur d'IRQ que vous avez configurée sur la
carte avec les cavaliers en la lui passant comme argument dans votre
fichier de configuration de modules (ou au démarrage si vous l'avez
compilé dans le noyau).
PPrroobbllèèmmee :: Une carte SMC Ultra est détectée comme étant une wd8013,
mais l'IRQ et l'adresse de base de la mémoire partagée sont fausses.
RRaaiissoonn :: La carte Ultra ressemble beaucoup à une wd8013, et si le
pilote Ultra n'est pas présent dans le noyau, le pilote wd peut
identifier l'Ultra comme étant une wd8013. Le test de détection de
l'Ultra vient avant celui de la wd, donc ceci ne devrait normalement
pas se produire. L'Ultra stocke l'IRQ et l'adresse de base dans son
EEPROM de façon différente à celle d'une wd8013, d'où les valeurs
erronées indiquées par le pilote.
SSoolluuttiioonn :: Recompilez le noyau en n'intégrant que les pilotes dont
vous avez besoin. Si vous avez un mélange de cartes wd et Ultra dans
une machine, et que vous utilisez les modules, chargez le module ultra
en premier.
33..66.. PPrroobbllèèmmeess aavveecc ddeess ccaarrtteess 33CCoomm
PPrroobbllèèmmee :: La 3c503 prend l'IRQ N, mais celle-ci est requise par un
autre périphérique qui a besoin de l'IRQ N (par exemple un pilote de
CD-ROM, un modem, etc.). Est-ce que cela peut être réparé sans devoir
le compiler dans le noyau ?
SSoolluuttiioonn :: Le pilote 3c503 recherche une ligne d'IRQ libre dans
l'ordre {5, 9/2, 3, 4}, et il devrait prendre une ligne qui n'a pas
été utilisée. Le pilote effectue ce choix lorsque la carte est
configurée (ifconfig).
Si vous utilisez un pilote en module, vous pouvez vous servir des
paramètres du module afin de choisir diverses choses, y compris la
valeur d'IRQ.
Ce qui suit sélectionne l'IRQ 9, adresse de base 0x300, , et le port if_port numéro 1 (le transceiver externe).
io=0x300 irq=9 xcvr=1
Autrement, si le pilote est compilé dans le noyau, vous pouvez choisir
les mêmes valeurs en passant des paramètres _v_i_a LILO.
LILO: linux ether=9,0x300,0,1,eth0
Ce qui suit sélectionne l'IRQ 3, détecte l'adresse de base, , et le port par défaut (if_port) numéro 0 (le
transceiver interne).
LILO: linux ether=3,0,0,0,eth0
PPrroobbllèèmmee :: 3c503: configured interrupt X invalid, will use autoIRQ.
(3c503: l'interruption X configurée est invalide, détection
automatique de l'IRQ)
RRaaiissoonn :: La 3c503 ne peut utiliser que l'une des IRQ 5, 2/9, 3 ou 4
(ce sont les seules lignes d'IRQ qui sont connectées à la carte). Si
vous passez en argument au noyau une valeur d'IRQ qui n'est pas dans
cet ensemble, vous obtiendrez le message ci-dessus. Normalement, il
n'est pas nécessaire de spécifier une valeur d'interruption pour la
3c503. Elle passera en détection automatique lorsqu'elle sera
configurée (par ifconfig), et elle prendra l'une des IRQ 5, 2/9,
3 ou 4.
SSoolluuttiioonn :: Utilisez l'une des IRQ valides données ci-dessus, ou
autorisez la détection automatique en ne précisant aucune ligne d'IRQ.
PPrroobbllèèmmee :: Le pilote 3c503 fourni n'utilise pas le port AUI (gros
Ethernet). Comment faire pour le choisir au lieu du port Ethernet fin
par défaut ?
SSoolluuttiioonn :: Le port AUI peut être sélectionné au démarrage pour les
pilotes compilés dans le noyau, et lors de l'insertion du module pour
les pilotes modulaires. La sélection est réalisée par le bit de poids
le plus faible de la variable dev->rmem_start qui n'est actuellement
pas utilisée, donc un paramètre de démarrage comme :
LILO: linux ether=0,0,0,1,eth0
devrait fonctionner pour les pilotes compilés dans le noyau.
Pour spécifier le port AUI lorsque vous chargez un module, ajoutez
simplement xcvr=1 à la ligne d'options du module avec vos valeurs de
port d'E/S et d'IRQ.
33..77.. LLeess qquueessttiioonnss qquuii nnee ssoonntt ppaass ssppéécciiffiiqquueess àà uunnee ccaarrttee..
33..77..11.. LLiinnuuxx eett lleess ccaarrtteess EEtthheerrnneett IISSAA PPlluugg aanndd PPllaayy
Pour de meilleurs résultats (et au moins, rien qui empire) il est
recommandé que vous utilisiez le petit programme qui a été livré avec
la carte pour désactiver le mécanisme PnP, et régler la carte pour
utiliser une IRQ et une adresse d'E/S fixe. Assurez-vous que l'adresse
d'E/S que vous allez utiliser est testée lors du boot, ou si vous
utilisez des modules, donnez les adresses avec une option io= dans
votre /etc/conf.modules. Vous aurez certainement aussi à entrer dans
le BIOS et à marquer l'IRQ en question comme utilisée par une carte
ISA, et non disponible pour le PnP (si votre ordinateur à cette
option).
Notez que vous n'avez pas besoin d'installer le DOS pour lancer la
configuration. Vous n'aurez besoin que d'une disquette de boot DOS et
de lancer le programme depuis la disquette fournie. Vous pouvez aussi
télécharger OpenDOS ou FreeDOS gratuitement.
Si vous avez besoin d'avoir le PnP activé pour rester compatible avec
un autre système d'exploitation, alors, vous aurez à utiliser le
paquetage isapnptools avec Linux pour configurer la carte à chaque
boot. Vous aurez quand même à vous assurer que l'adresse d'E/S est
testée par le pilote au démarrage, ou fourni comme option io=.
33..77..22.. CCaarrttee EEtthheerrnneett nnoonn ddéétteeccttééee aauu ddéémmaarrrraaggee..
La raison habituelle de cet état de fait est que les gens utilisent un
noyau qui ne contient pas le code pour leur carte à eux. Pour un noyau
modulaire, cela signifie généralement que le chargement du module
nécessaire n'a pas été demandé, ou qu'une adresse d'E/S a besoin
d'être spécifiée comme option du module.
Si vous utilisez un noyau basé sur les modules, comme ceux installés
par la plupart des distributions Linux, essayez alors d'utiliser
l'utilitaire de configuration de la distribution pour sélectionner le
module destiné à votre carte. Pour les cartes ISA, c'est une bonne
idée que de déterminer l'adresse d'E/S de la carte et de l'ajouter
comme option (p. ex. io=0x340) si l'utilitaire de configuration vous
le demande. S'il n'y a pas d'utilitaire de configuration, vous devrez
alors ajouter le nom exact du module (et ses options) au fichier
/etc/conf.modules -- lisez man modprobe pour plus de détails.
Si vous utilisez un noyau précompilé qui provient d'une distribution
Linux, vérifiez dans la documentation quel noyau vous avez installé,
et s'il a été construit en incluant le code pour votre carte à vous.
Si ce n'est pas le cas, vous pouvez soit essayer d'en obtenir un qui
contient le code pour votre carte, soit construire votre propre noyau.
C'est en général une bonne chose que de construire votre propre noyau,
ne contenant que les pilotes dont vous avez besoin, car cela diminue
considérablement la taille du noyau (préservant d'autant votre
précieuse mémoire vive pour les applications !) et cela réduit le
nombre de procédure de détection de périphériques qui peuvent déranger
le matériel un peu sensible. Construire un nouveau noyau n'est pas
aussi compliqué que cela peut paraître. Vous devez juste répondre oui
ou non à toute une série de questions sur les pilotes que vous voulez,
et le système fait le reste.
La seconde raison essentielle est qu'un autre périphérique utilise une
partie de l'espace d'adressage d'entrée-sortie dont votre carte a
besoin. La plupart des cartes ont une zone d'adressage qui mesure
16 ou 32 bits de largeur. Si votre carte est positionnée en 0x300 et
qu'elle prend 32 octets, alors le pilote demandera la plage d'adresses
0x300-0x31f. Si un autre pilote de périphérique a enregistré ne
serait-ce qu'un port d'entrée-sortie, où que ce soit dans cet
intervalle, la procédure de détection n'aura pas lieu à cette adresse
et le pilote continuera sans rien dire à l'adresse suivante à tester.
Donc, après le démarrage, faites un cat /proc/ioports et vérifiez que
tout l'espace d'adressage d'entrée-sortie que la carte demandera est
bien disponible.
Autre problème : votre carte est configurée pour une adresse d'entrée-
sortie qui n'est pas testée par défaut. La liste des adresses testées
pour chaque carte est disponible juste après les commentaires de début
dans chaque fichier source. Même si la configuration d'E/S de votre
carte n'est pas dans la liste des adresses testées, vous pouvez
l'indiquer au démarrage (pour les pilotes compilés dans le noyeau en
utilisant la commande ether= comme il est décrit dans ``Passage des
arguments Ethernet...''. Les pilotes modulaires peuvent utiliser
l'option io= dans le fichier /etc/conf.modules afin de spécifier une
adresse qui n'est pas testée par défaut.
33..77..33.. iiffccoonnffiigg iinnddiiqquuee llaa mmaauuvvaaiissee aaddrreessssee dd''EE//SS ppoouurr llaa ccaarrttee..
Non, ce n'est pas vrai. C'est vous qui l'interprétez de manière
erronée. Ce n'est _p_a_s une erreur, et les nombres indiqués sont
corrects. Ce qu'il se passe, c'est que certaines cartes à base de 8390
(wd80x3, smc-ultra, etc.) sont telles que la puce 8390 se trouve
décalée par rapport au premier port d'E/S affecté. Il s'agit de la
valeur stockée dans dev->base_addr, qui est celle que ifconfig
indique. Si vous souhaitez voir l'intervalle complet d'adresses de
ports que votre carte utilise, vous devriez essayer cat /proc/ioports
qui vous donnera le nombre que vous attendez.
33..77..44.. éécchhoouuee.. UUnnee mmaacchhiinnee PPCCII ddéétteeccttee llaa ccaarrttee mmaaiiss llaa pprrooccéédduurree ddee
tteesstt dduu ppiilloottee
Certains BIOS PCI peuvent ne pas activer toutes les cartes PCI lors de
l'allumage de la machine, spécialement si l'option `PNP OS' du BIOS
est activée. Cette contre-fonctionnalité est destinée à supporter la
version actuelle de Windows qui utilise encore des pilotes en mode
réel. Vous pouvez soit inhiber cette option, soit essayer de mettre à
jour votre pilote pour une version qui comprend le code capable
d'activer une carte désactivée.
33..77..55.. PPCCII (( 00xxffffffff )) DDeess ccaarrtteess IISSAA àà mméémmooiirree ppaarrttaaggééee nnee ffoonnccttiioonn
nneenntt ppaass ddaannss uunnee mmaacchhiinnee
Ce problème se révèle habituellement sous la forme d'une série de
valeurs 0xffff en lecture. Aucune carte à mémoire partagée de quelque
type que ce soit ne fonctionnera dans une machine PCI à moins que vous
n'ayez configuré correctement le BIOS PCI (PCI ROM BIOS/CMOS SETUP ou
quelque chose comme ça). Vous devez le configurer pour permettre
l'accès à la mémoire partagée depuis le bus ISA pour la zone
d'adresses que votre carte essaie d'utiliser. Si vous n'arrivez pas à
déterminer quels paramètres sont concernés, interrogez votre revendeur
ou votre gourou informatique local. Dans un BIOS AMI (American
Megatrends Inc.), il existe en général une section ``Plug and Play''
où se trouveront sans doute des paramètres ``ISA Shared Memory Size''
(taille de la mémoire partagée ISA) et ``ISA Shared Memory Base''
(adresse de base de la mémoire partagée ISA). Pour des cartes comme
la wd8013 et la SMC Ultra, changez la taille de sa valeur par défaut
(`Disabled', désactivé) à une valeur de 16 Ko, et changez l'adresse de
base en prenant l'adresse de base de mémoire partagée qui correspond à
votre carte.
33..77..66.. rriieenn.. OOnn ddiirraaiitt qquuee mmaa ccaarrttee eennvvooiiee ddeess ddoonnnnééeess,, mmaaiiss eellllee nnee
rreeççooiitt jjaammaaiiss
Faites un cat /proc/interrupts. Le nombre total d'interruptions
générées par la carte vous sera donné. S'il est à zéro et qu'il
n'augmente pas lorsque vous essayez d'utiliser la carte, alors, il y a
très certainement un conflit d'interruptions entre la carte et un
autre périphérique installé (que le pilote de l'autre soit chargé ou
non). La seule solution est de changer l'IRQ de l'un des deux
périphériques pour une autre IRQ non utilisée.
33..77..77.. AAssyynncchhrroonnoouuss TTrraannssffeerr MMooddee ((AATTMM))
Werner Almesberger s'est préoccupé de la disponibilité d'ATM pour
Linux. Il a travaillé avec la carte ENI155p d'Efficient Networks
(Efficient Networks ) et la carte ZN1221 de
Zeitnet (Zeitnet ).
Werner dit que le pilote de la ENI155p est relativement stable, tandis
que celui de la ZN1221 n'est actuellement pas terminé.
Consultez les dernières informations et les mises à jour à l'URL
suivante :
Linux et ATM
33..77..88.. SSuuppppoorrtt ddee ll''EEtthheerrnneett GGiiggaabbiitt
Où en est le support Ethernet Gigabit pour Linux ?
Il y a pour le moment au moins deux supports. Un pilote pour
l'adaptateur Ethernet Gigabit G-NIC PCI de Packet Engines est
disponible dans les versions 2.0 et 2.2 du noyau. Pour plus de
détails, d'information, et les mises à jour du pilote, consultez :
http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html
Le pilote acenic.c disponible dans les noyaux 2.2 peut être utilisé
pour la carte Ethernet Gigabit Alteon AceNIC et d'autres cartes basées
sur le chipset Tigon comme la 3Com 3c985. Le pilote devrait aussi
fonctionner avec la NetGear GA620, mais cela n'a pas encore été
vérifié.
33..77..99.. FFDDDDII
Qu'en est-il de FDDI sous Linux ?
Cela fonctionne. Larry Stefani a écrit un pilote pour la version 2.0
du noyau pour les cartes DEFEA (FDDI EISA) et DEFPA (FDDI PCI) de DEC
(Digital Equipment Corporation). Il a été inclus dans la
version 2.0.24 du noyau. Néanmoins, ce sont les seules cartes qui
fonctionnent sous Linux actuellement.
33..77..1100.. FFuullll DDuupplleexx
Est-ce que le mode Full Duplex me donnera 20 Mbit/s ? Est-ce que Linux
sait faire du Full Duplex ?
Cameron Spitzer écrit ce qui suit à propos des cartes Full Duplex
10Base-T :
``Si vous connectez une carte Full Duplex à un hub (NDT : un switch)
Full Duplex, et que votre système est suffisamment rapide et ne fait
pas grand-chose d'autre, il pourra maintenir le lien occupé dans les
deux directions.
Le Full Duplex 10Base-2 ou 10Base-5 (coaxial fin et gros coaxial) ne
peut pas exister. Le mode Full Duplex fontionne en inhibant la
détection des collisions dans l'adaptateur réseau. C'est pour cela que
vous ne pouvez pas le faire avec un coax : le réseau ne fonctionnerait
pas si c'était le cas.
Par contre, 10Base-T (l'interface RJ-45) utilise des (paires de) fils
séparées pour l'émission et la réception, donc il est possible de
travailler dans les deux sens en même temps. Le (hub) switch s'occupe
du problème des collisions. La vitesse de signalisation reste à
10 Mbit/s.''
Donc, comme vous pouvez voir, vous ne serez encore capable de recevoir
ou de transmettre qu'à 10 Mbit/s; n'attendez donc pas une
multiplication par deux des performances. Quant à savoir si cela est
possible ou non, cela dépend de la carte et peut-être du pilote.
Certaines cartes pratiquent l'auto-négociation, d'autres auront besoin
de l'aide du pilote, et d'autres auront besoin que l'utilisateur
choisisse une option dans la configuration sur EEPROM de la carte. De
toute façon, seule une utilisation sérieuse/lourde montrera une
différence entre les deux modes.
33..77..1111.. LLeess mmaacchhiinneess SSMMPP eett lleess ccaarrtteess EEtthheerrnneett
Si vous avez dépensé un peu d'argent en plus pour avoir une machine
multiprocesseur (MP), alors, vous devriez aussi vous payer une bonne
carte Ethernet. Pour les versions 2.0, cela n'était pas vraiment une
obligation, mais avec l'avènement des 2.2, cela est devenu nécessaire.
La majorité des vieilles cartes (ex : ISA, PIO et avec accès partagé à
la mémoire) n'ont pas été conçues en pensant aux machines
multiprocesseurs. Par conséquent, il vous faudra acheter une carte de
facture récente, et vous assurer que le pilote a été mis a jour pour
gérer les opérations multiprocesseurs. (Le plus important, c'est le
"de facture récente" - les PCI-NE2000 sont juste des trucs vieux de
plus de 10 ans sur un bus récent.) Chercher spin_lock dans les sources
d'un pilote donne une bonne indication sur le fait que le pilote a été
prévu pour marcher sur les machines multiprocesseurs. Pour plus de
détails sur pourquoi vous devez prendre une bonne carte pour le MP (et
ce qui se passera si vous ne le faites pas) se trouve ci dessous :
Dans la version 2.0 des noyaux, seul un processeur était autorisé a
passer en `mode noyau' (ex : changer des données dans le noyau, ou
accéder aux périphériques), quelque soit le moment. Donc, du point de
vue de la carte (et du pilote associé) il n'y avait aucune différence
avec le fonctionnement en monoprocesseur (UP) et tout continuait à
marcher comme si de rien n'était. (C'était la façon la plus simple de
faire du multiprocesseur avec Linux à ce moment-là. De cette manière,
vous savez qu'il n'est pas possible que deux processeurs essayent de
changer la même chose au même moment !)
L'inconvénient de n'autoriser qu'un seul processeur à être en mode
noyau au même moment était que vous n'aviez de vraies performances MP
que si les programmes faisaient surtout du calcul sans accéder à la
machine. Si les programmes faisaient beaucoup d'opérations d'entrées
sorties (E/S), comme par exemple lire ou écrire sur un disque ou à
travers un réseau, alors, tous les processeurs sauf un étaient en
attente d'une opération d'E/S pendant que le seul processeur en mode
noyau essayait de faire plaisir à tout le monde à la fois. Le noyau
devient le goulot d'étranglement et comme un seul processeur est
autorisé à exécuter le noyau, les performances d'une machine MP se
réduisaient rapidement à celles d'une machine UP.
Comme cela est clairement loin de l'idéal (spécialement pour les
serveurs de fichiers, les serveurs WWW, les routeurs, etc...) les
versions 2.2 des noyaux ont largement amélioré tout ce qui touche aux
verrouillages - et par conséquent, plus d'un processeur peut être en
mode noyau à un instant donné. A la place d'un énorme verrou autour du
noyau dans sa globalité, il y a beaucoup plus de verrous plus petits
qui empêchent les données critiques d'êtres manipulées par plus d'un
processeur à la fois - ex : un processeur peut s'occuper du réseau
alors qu'un autre peut écrire sur un disque au même moment.
Ok, avec tout cela en tête, voici deux petits problèmes : Des verrous
plus localisés signifient qu'il peut y avoir un processeur essayant
d'envoyer les données via le pilote ethernet pendant qu'un autre
processeur essaye d'accéder à la carte pour autre chose (par exemple
pour récupérer les statistiques pour cat /proc/net/dev). Et hop - les
statistiques ont été envoyées par la carte et vous avez récupéré les
données à envoyer pour les statistiques. Eh oui, la carte a bien été
embêtée de recevoir plusieurs demandes à la fois, et il y a de fortes
chance que cela ait planté la machine du même coup.
Par conséquent, le pilote qui marchait pour les machines UP n'est
désormais plus vraiment utilisable - on doit y ajouter des verrous qui
contrôlent l'accès à la carte pour que les 3 actions de recevoir,
émettre et manipuler les données puissent être utilisées à divers
degrés d'opération. Le truc qui peut faire peur est qu'un pilote qui
n'a pas été mis a jour pour fonctionner de manière stable en MP
marchera très probablement si le réseau n'est pas chargé, mais fera
planter la machine ou fera de drôles de choses lorsque deux (ou
plus !) processeurs essaieront de faire plus d'une de ces opérations
au même moment.
Les pilotes ethernet gérant le MP requièreront (au minimum) un
verrouillage englobant tout le pilote pour qu'il fonctionne sur le
principe de `chacun son tour'. Avec ce mécanisme mis en place, les
choses seront mises en files d'attente et le matériel sera utilisé de
la même manière qu'en mode UP, et par conséquent, devrait être stable.
Le coté négatif est que un verrouillage englobant le pilote ethernet a
presque d'aussi mauvaises performances qu'un verrou global sur le
noyau (mais a une échelle plus réduite) - c'est à dire que vous ne
pouvez avoir qu'un seul processeur travaillant avec la carte à la
fois. [Note technique : L'impact sur les performances peut aussi
inclure l'augmentation des temps de latence sur les interruptions si
les verrous qui ont besoin d'être ajoutés sont du type irqsave et
qu'ils sont tenus fermés pour un long moment.]
Il existe deux voies d'amélioration possibles à partir de cette
situation. Vous pouvez essayer de minimiser le temps entre le moment
où le verrou est fermé et quand il est relâché et/ou vous pouvez
trouver une manière plus fine, avec plus de verrous (ex : un verrou
global sur le pilote ne serait pas nécessaire si quelques verrous
protégeant quelques registres/réglages critiques suffisent).
Toutefois, pour les vieilles cartes débiles qui n'ont pas été conçues
dans l'esprit du MP, aucune de ces améliorations n'est possible. Le
pire est que ces pauvres cartes requièrent que le processeur déplace
les données de la carte vers la mémoire de l'ordinateur, donc, dans le
pire des cas le verrou sera fermé pour toute la durée que chaque
paquet de 1,5 Ko mettra à transiter à travers le bus ISA.
Les cartes plus récentes déplacent leurs données de et vers la mémoire
sans avoir recours au processeur. Ceci est une grande amélioration car
le verrouillage ne dure que le court instant où le processeur dit à la
carte où dans la mémoire prendre/mettre les données. Les cartes de
facture récente ne sont d'ailleurs pas faites pour avoir un verrou
global autour du pilote.
33..77..1122.. CCaarrtteess EEtthheerrnneett ppoouurr LLiinnuuxx ssuurr ccaarrttee--mmèèrree PPCCII AAllpphhaa//AAXXPP
En ce qui concerne les versions 2.0, seules les cartes 3C509, depca,
de4x5, lance32, et tous les pilotes pour 8390 (wd, smc-ultra, ne,
3c503, etc.) ont été rendus `indépendants de l'architecture' de façon
à pouvoir fonctionner sur les systèmes basés sur les processeurs Alpha
de DEC. D'autres pilotes PCI mis à jour sont disponibles sur la page
WWW de Donald marcheront certainement, puisqu'ils ont été créés pour
être indépendants de l'architecture.
Notez que les changements à faire pour que le pilote ne soit pas
dépendant de l'architecture ne sont pas aussi compliqués que cela peut
paraître. Vous n'avez besoin que de :
- multiplier toutes les valeurs relatives à des jiffies par HZ/100
pour prendre en compte la valeur différente de HZ utilisée par
l'Alpha. (c'est-à-dire que timeout=2; devient timeout=2*HZ/100;)
- remplacer tout déréférencement de pointeur en mémoire d'E/S (640k à
1Mo) par les appels readb() writeb() readl() writel() appropriés,
comme le montre cet exemple :
______________________________________________________________________
- int *mem_base = (int *)dev->mem_start;
- mem_base[0] = 0xba5eba5e;
+ unsigned long mem_base = dev->mem_start;
+ writel(0xba5eba5e, mem_base);
______________________________________________________________________
- remplacer tous les appels à memcpy() qui ont des adresses mémoire
sur la plage d'E/S comme source ou comme destination par un appel
à memcpy_fromio() ou à memcpy_toio() selon le cas.
Vous trouverez plus de détails sur la manière de gérer les accès
mémoire d'une façon indépendante de l'architecture dans le fichier
linux/Documentation/IO-mapping.txt qui est présent dans les noyaux
récents.
33..77..1133.. LL''EEtthheerrnneett eett LLiinnuuxx ssuurr lleess SSUUNN//SSppaarrcc..
Pour les dernières informations à propos des Sparc, essayez donc l'URL
suivante :
Linux Sparc
Notez que quelques adaptateurs ethernet pour Sparc récupèrent leurs
adresses MAC depuis l'ordinateur hôte, et que par conséquent, vous
pourriez vous retrouver avec plusieurs interfaces ayant toutes les
mêmes adresses MAC. Si vous devez mettre plusieurs interfaces sur la
même machine, alors, vous aurez à utiliser l'option hw de ifconfig
pour assigner une unique adresse MAC.
Les problèmes de portage des pilotes PCI vers la plate-forme Sparc
sont les mêmes que pour la plate-forme AXP. En plus, il y aura
certainement des problèmes d'ordre des octets, le Sparc étant grand
boutiste alors que les AXP et ix86 sont petits boutistes.
33..77..1144.. LL''EEtthheerrnneett,, LLiinnuuxx eett lleess aauuttrreess aarrcchhiitteeccttuurreess..
Il y a beaucoup d'autres plate formes sur lesquelles Linux tourne,
comme les Atari/Amiga (m68k). Tout comme dans le cas des Sparc, le
mieux est de vérifier sur la page principale du port pour savoir ce
qui est supporté. (Des pointeurs seraient bienvenus - envoyez les !)
33..77..1155.. RReelliieerr ddeeuuxx 1100 eett 110000 BBaasseeTT ssaannss hhuubb
Est-ce que je peux relier deux systèmes basés sur du
10/100BaseT (RJ45) sans utiliser de hub ?
Vous pouvez relier facilement deux machines, mais pas plus que cela,
sans boîtier supplémentaire. Consultez la section ``Paire torsadée''
qui explique comment faire.
Par contre, non, vous n'arriverez pas à bricoler un hub en croisant
quelques fils et autres trucs du genre. Il est pratiquement impossible
de générer correctement le signal de collision sans refaire un hub.
33..77..1166.. SSIIOOCCSSIIFFxxxxxx:: NNoo ssuucchh ddeevviiccee
J'obtiens un nombre impressionnant de messages `SIOCSIFxxx: No such
device' au démarrage, suivis par un `SIOCADDRT: Network is
unreachable'. Qu'est-ce qui ne va pas ?
Votre périphérique Ethernet n'a pas été détecté pendant le démarrage /
lors de l'insertion du module, et lorsque ifconfig et route sont
exécutés, ils n'ont aucun périphérique avec lequel travailler.
Utilisez dmesg | more pour consulter les messages du démarrage et
regardez s'il y a un (ou des) message(s) à propos de la détection de
carte Ethernet.
33..77..1177.. SSIIOOCCSSFFFFLLAAGGSS:: TTrryy aaggaaiinn
J'obtiens `SIOCSFFLAGS: Try again' lorsque j'exécute ifconfig --
Euh.. ?
Un autre périphérique a pris l'IRQ que votre carte Ethernet essaie
d'utiliser, ce qui fait que la carte ne peut pas utiliser l'IRQ. Vous
n'avez pas nécessairement besoin de redémarrer pour résoudre ce
problème, car certains périphériques ne prennent les IRQ que
lorsqu'ils en ont besoin, et les rendent quand ils ont fini. C'est le
cas par exemple des cartes son, des ports série, du pilote du lecteur
de disquette, etc. Vous pouvez taper cat /proc/interrupts pour voir
quelles interruptions sont actuellement _e_n _c_o_u_r_s _d_'_u_t_i_l_i_s_a_t_i_o_n. La
plupart des pilotes de carte Ethernet sous Linux ne prennent l'IRQ que
lorsqu'ils sont ouverts via `ifconfig'. Si vous réussissez à faire en
sorte que l'autre périphérique `relâche' la ligne d'IRQ, alors vous
serez capable de réessayer (_T_r_y _a_g_a_i_n en anglais) avec ifconfig.
33..77..1188.. 0000::0000::0000::0000::0000::0000'' UUttiilliissaattiioonn ddee ``iiffccoonnffiigg'' eett mmeessssaaggee ``LLiinnkk
UUNNSSPPEECC wwiitthh HHWW--aaddddrr ooff
Lorsque j'utilise ifconfig sans argument, il indique Link UNPSEC (au
lieu de `Ethernet 10Mbs') et il dit aussi que mon adresse physique est
à zéro.
C'est parce que les gens utilisent une version du programme `ifconfig'
plus récente que leur version de noyau. Cette nouvelle version de
`ifconfig' est incapable de fournir ces informations quand elle est
utilisée en conjonction avec un noyau plus ancien. Vous pouvez soit
mettre votre noyau à jour, soit prendre une version plus ancienne
d'ifconfig, ou simplement ignorer le problème. Le noyau connaît votre
adresse physique, donc le fait que ifconfig ne puisse pas la lire
n'est pas vraiment important.
Vous pourrez aussi obtenir des informations étranges si le programme
ifconfig que vous utilisez est beaucoup plus vieux que votre noyau.
33..77..1199.. ((TTXX EErrrroorrss)) NNoommbbrree ffaarraammiinneeuuxx dd''eerrrreeuurrss eenn rréécceeppttiioonn ((RRXX
EErrrroorrss)) eett eenn ttrraannssmmiissssiioonn
Quand j'exécute ifconfig sans argument, il indique que j'ai un nombre
faramineux d'erreurs à la fois dans les paquets reçus et dans les
paquets transmis. Pourtant tout semble fonctionner correctement --
Est-ce que je me trompe ?
Regardez de nouveau. ifconfig indique : RX packets _g_r_o_s _n_o_m_b_r_e BBLLAANNCC
errors 0 BBLLAANNCC dropped 0 BBLLAANNCC overrun 0. Même chose pour la colonne
avec TX. Les grands nombres que vous voyez sont donc le nombre total
de paquets que votre machine a reçus et transmis. Si vous trouvez
encore que c'est source de confusion, essayez de taper cat
/proc/net/dev à la place.
33..77..2200.. LLiieennss ddaannss //ddeevv// ppoouurr ccaarrtteess EEtthheerrnneett
J'ai /dev/eth0 qui est un lien vers /dev/xxx. Est-ce que c'est bon ?
Contrairement à ce que vous avez entendu dire, les fichiers dans
/dev/* ne sont pas utilisés. Vous pouvez détruire tous les /dev/wd0,
/dev/ne0 et ce qui y ressemble.
33..77..2211.. LLiinnuuxx eett lleess ````ttrraaiilleerrss'''' ((aammoorrcceess))
Dois-je désactiver les ``trailers'' quand je `ifconfig'ure ma carte
Ethernet ?
Vous ne pouvez pas désactiver les ``trailers'', et vous ne devriez pas
en avoir envie. Les ``trailers'' sont une astuce de programmation pour
éviter des copies de données dans les couches réseau. L'idée était
d'utiliser un en-tête simpliste de taille fixe `H', de mettre les
informations de l'entête de taille variable à la fin du paquet, et
d'allouer tous les paquets `H' octets avant le début d'une page. Alors
qu'il s'agissait d'une bonne idée, en pratique cela n'a pas très bien
fonctionné.
Si quelqu'un suggère l'utilisation de `-trailers', notez bien que
c'est l'équivalent du sang de chèvres sacrifiées. Cela ne résoudra pas
le problème, mais si le problème se résoud tout seul, quelqu'un pourra
invoquer des connaissances approfondies en magie.
33..77..2222.. AAccccèèss ddiirreecctt aauu ppéérriipphhéérriiqquuee EEtthheerrnneett
Comment puis-je avoir accès directement au périphérique Ethernet sous
Linux, sans avoir à passer par TCP/IP et ses copains ?
______________________________________________________________________
int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));
______________________________________________________________________
Ceci vous donne une socket qui peut recevoir tous les types de
protocoles. Utilisez l'appel recvfrom() sur cette socket, cela
remplira la structure sockaddr avec le type de périphérique dans le
champ sa_family et le nom du périphérique dans le tableau sa_data. Je
ne sais pas qui a inventé SOCK_PACKET pour Linux (cela fait une
éternité qu'il est là), mais c'est du beau travail. Vous pouvez
l'utiliser pour envoyer des choses directement en utilisant l'appel
sendto().
Bien entendu, vous devez être root pour pouvoir faire l'ensemble de
ces opérations.
44.. TTrruuccss eett aassttuucceess àà pprrooppooss ddeess ppeerrffoorrmmaanncceess
Voici quelques `trucs' que vous pouvez utiliser si vous souffrez d'un
faible taux de transfert sur Ethernet, ou pour gagner encore un peu de
vitesse sur ces fameux transferts FTP.
Le programme ttcp.c est un bon test pour mesurer la vitesse de
transfert brute. Un autre truc classique est de faire un ftp> get
mon_gros_fichier /dev/null où mon_gros_fichier fait plus d'un Mo et
réside dans le cache disque de la machine qui transmet. (Faites le
`get' au moins deux fois, car la première fois ce cache sera vide.)
Vous avez besoin que le fichier soit dans le cache car il faut éviter
que le temps d'accès au fichier influe sur votre mesure. C'est pour la
même raison que vous envoyez les données qui arrivent vers /dev/null
plutôt que vers le disque.
44..11.. CCoonncceeppttss ggéénnéérriiqquueess
Même une carte 8 bits est capable de recevoir des paquets qui se
suivent (_b_a_c_k_-_t_o_-_b_a_c_k _p_a_q_u_e_t_s en anglais) sans aucun problème. Les
difficultés apparaissent quand l'ordinateur n'enlève pas suffisamment
rapidement de la carte les paquets reçus pour faire de la place pour
d'autres paquets entrants. Si l'ordinateur ne supprime pas rapidement
les paquets déjà reçus de la mémoire de la carte , celle-ci n'aura pas
assez de place pour mettre les nouveaux paquets.
Dans ce cas, soit la carte détruit le nouveau paquet, soit elle
réécrit sur un paquet déjà reçu. Les deux solutions interrompent
brutalement le flux du trafic, nécessitent des re-transmissions et
peuvent sérieusement dégrader les performances d'un facteur qui va
jusqu'à 5 !
Les cartes qui possèdent plus de mémoire sont capables de conserver
plus de paquets, et peuvent donc supporter de gros pics de paquets
successifs sans détruire de paquets. Par conséquent cela signifie que
la carte n'exige pas de l'ordinateur un temps de latence aussi faible
pour enlever les paquets sans avoir à en détruire.
La plupart des cartes 8 bits ont un tampon de 8 Ko, et la plupart des
cartes 16 bits ont un tampon de 16 Ko. La plupart des pilotes sous
Linux réserveront 3 Ko de ce tampon (pour deux tampons de
transmission), laissant 5 Ko d'espace de réception pour une carte
8 bits. Cela ne laisse de la place que pour 3 paquets Ethernet de
pleine taille (1500 octets).
44..22.. LLaa vviitteessssee ddeess ccaarrtteess eett dduu bbuuss IISSAA
Comme indiqué précédemment, si les paquets sont enlevés de la carte
suffisamment rapidement, le problème de destruction ou de surcharge
n'apparaît pas même si la taille mémoire du tampon de réception est
petite. Le facteur qui détermine la rapidité avec laquelle les paquets
sont enlevés de la carte pour être placés dans la mémoire de
l'ordinateur est la vitesse du chemin que devront suivre les données
entre les deux -- c'est-à-dire la vitesse du bus ISA. (Si le
processeur est un 386sx-16 poussif, cela jouera aussi un rôle.)
La vitesse d'horloge recommandée pour un bus ISA est de 8 MHz, mais de
nombreuses cartes-mères et de nombreux périphériques peuvent être
utilisés à des fréquences plus élevées. La vitesse d'horloge du bus
ISA peut en général être modifiée dans la configuration CMOS, en
choisissant le rapport entre la fréquence du processeur et celle de la
carte-mère. Certaines cartes-mères n'auront pas cette option, et vous
serez coincés avec la valeur par défaut.
Par exemple, voici quelques vitesses de réception mesurées par le
programme TTCP sur un 486 à 40 MHz, avec une carte 8 bits WD8003EP,
pour des vitesses différentes du bus ISA.
Vitesse du bus ISA (MHz) TTCP - réception (Ko/s)
------------------------ -----------------------
6.7 740
13.4 970
20.0 1030
26.7 1075
Vous auriez du mal à faire mieux que 1075 Ko/s avec _n_'_i_m_p_o_r_t_e _q_u_e_l_l_e
carte Ethernet 10 Mo/s, en utilisant TCP/IP. Néanmoins ne vous
attendez pas à ce que tous les systèmes puissent travailler à des
vitesses de bus ISA rapides. La plupart des systèmes ne fonctionneront
pas correctement à des vitesses au-dessus de 13 MHz. (De même,
certains systèmes PCI fixent la vitesse du bus ISA à 8 MHz, afin que
l'utilisateur final n'ait pas la possibilité de pouvoir l'augmenter.)
En plus de vitesses de transferts supérieures, vous profiterez aussi
en général d'une réduction de l'utilisation du processeur due à la
durée plus courte des cycles mémoires et d'E/S. (Notez que les disques
durs et les cartes vidéo situées sur le bus ISA afficheront aussi de
meilleures performances avec une vitesse du bus ISA plus élevée.)
Soyez sûr de sauvegarder toutes vos données avant de faire des
expériences avec des vitesses du bus ISA au-dessus de 8 MHz, et de
tester attentivement que tous les périphériques ISA fonctionnent
correctement après toute augmentation de vitesse.
44..33.. MMooddiiffiieerr llaa ffeennêêttrree ddee rréécceeppttiioonn TTCCPP
Une fois encore, les cartes qui possèdent peu de mémoire et un trajet
des données entre la carte et la mémoire de l'ordinateur plutôt lent
provoquent des problèmes. La fenêtre de réception TCP est réglée par
défaut à 32 Ko, ce qui signifie qu'un ordinateur rapide situé sur le
même sous-réseau que vous pourra vous inonder de 32 Ko de données sans
s'arrêter pour regarder si vous en avez reçu le moindre morceau.
Les versions récentes de la commande route donnent la possibilité de
régler la largeur de cette fenêtre à la volée. En général, cette
fenêtre ne doit être réduite que pour le réseau local, puisque les
ordinateurs qui sont à quelques routeurs ou passerelles de distance
ont suffisamment de `tampons' intermédiaires pour ne pas poser de
problème. Un exemple d'utilisation est :
______________________________________________________________________
route add ... window
______________________________________________________________________
où largeur_de_fenetre est la largeur de la fenêtre que vous voulez
utiliser (en octets). Une carte 8 bits 3c503 sur un bus ISA fonction
nant à une vitesse de 8 MHz ou moins tournera correctement avec une
fenêtre d'environ 4 Ko. Une fenêtre trop large causera des surcharges
et des pertes de paquets, et une diminution drastique du débit Ether
net. Vous pouvez vérifier les conditions de travail de la carte en
faisant un cat /proc/net/dev qui affichera si des pertes de paquets ou
des surcharges sont apparues.
44..44.. AAuuggmmeenntteerr lleess ppeerrffoorrmmaanncceess ddee NNFFSS
Des personnes ont remarqué que l'utilisation de cartes 8 bits sur des
clients NFS donne des performances moins bonnes que celles attendues,
en utilisant une taille de paquet NFS de 8Ko (celle donnée à l'origine
par Sun).
La raison possible de tout cela pourrait être la différence entre la
taille des tampons des cartes 8 bits et celle des cartes 16 bits. La
taille maximale d'un paquet Ethernet est d'environ 1500 octets.
Maintenant que nous faisons du NFS, des paquets NFS de 8 Ko vont
arriver sous la forme de 6 paquets de taille maximale à la queue-leu-
leu. Ni les cartes 8 bits ni les cartes 16 bits n'ont de problème à
recevoir ces paquets les uns derrière les autres. Le problème se
produit parce que la machine n'enlève pas les paquets à temps de la
carte, et que le tampon déborde. Le fait que les cartes 8 bits
nécessitent un cycle du bus ISA supplémentaire pour chaque transfert
n'aide pas beaucoup, par ailleurs. Ce que vous _p_o_u_v_e_z faire si vous
avez une carte 8bits est soit de diminuer la taille de transfert NFS à
2 Ko (voire 1 Ko), soit d'essayer d'augmenter la vitesse du bus ISA
afin que les tampons de la carte soient vidés plus rapidement. J'ai
trouvé qu'une vieille carte WD8003E à 8 MHz (sans autre charge
système) peut soutenir une réception de taille importante avec une
taille NFS de 2 Ko, mais pas à 4 Ko, auquel cas les performances
étaient dégradées d'un facteur trois.
D'un autre coté, si l'option par défaut est d'utiliser des blocs de
1 Ko, et que vous avez au moins une carte ISA 16 bits, vous aurez
certainement de meilleures performances en passant a 4 Ko (ou même
8 Ko).
55..
IInnffoorrmmaattiioonnss ssppéécciiffiiqquueess ppaarr ddiissttrriibbuutteeuurr//ccoonnssttrruucctteeuurr//mmooddèèllee
Ce qui suit est une liste de nombreuses cartes, rangées par ordre
alphabétique de distributeur, puis par identifiant de produit. A côté
de chaque identifiant de produit, vous verrez soit `supporté', soit
`partiellement supporté', soit `non supporté'.
`Supporté' signifie qu'un pilote existe pour cette carte, que de
nombreuses personnes en sont contentes et qu'il semble fiable.
`Partiellement supporté' signifie qu'un pilote existe, mais que l'une
au moins des conditions suivantes est vraie : (1) Le pilote et/ou le
matériel comportent des erreurs, ce qui peut engendrer de piètres
performances, des échecs de connexion ou même des crashs. (2) Le
pilote est récent ou la carte est très peu connue, et par conséquent
celui-ci a été peu utilisé/testé et son auteur a eu très peu de
retours quant à son fonctionnement. Il est évident que la
situation (2) est préférable à la situation (1), et la description de
la carte et du pilote devrait montrer clairement laquelle est la
bonne. Dans un cas comme dans l'autre, vous devrez certainement
répondre 'Y' à la question ``Prompt for development and/or incomplete
code/drivers?'' (``Demander confirmation pour les pilotes en cours de
développement ou incomplets ?'') lorsque vous lancerez make config.
`Non supporté' signifie qu'il n'existe pas de pilote disponible à
l'heure actuelle pour cette carte. Cela peut être dû à un manque
d'intérêt pour un matériel qui est rare ou peu commun, ou au fait que
les distributeurs n'en fournissent pas la documentation nécessaire
pour l'écriture du pilote.
Notez que la différence entre `supporté' et `partiellement supporté'
est plutôt subjective, et qu'elle est basée sur les retours
d'informations fournis par les utilisateurs, observés dans les groupes
de news et les listes de diffusion. (Après tout, il est impossible à
une personne de tester tous les pilotes avec toutes les cartes pour
chaque version du noyau !!!) Soyez donc prévenus que telle carte
indiquée comme `partiellement supportée' pourra fonctionner
impeccablement pour vous (ce qui est bien), alors que telle autre
indiquée comme `supportée' vous donnera des problèmes sans fin (ce qui
n'est pas aussi bien).
Après le statut, le nom du pilote donné dans le noyau de Linux est
indiqué. Ceci sera aussi le nom du module tel qu'il apparait à la
ligne alias eth0 pilote dans votre fichier de configuration
/etc/conf.modules.
55..11.. 33CCoomm
Si vous n'êtes pas sûr de ce qu'est votre carte, mais que vous pensez
qu'il s'agit d'une 3Com, vous pourrez certainement le déterminer à
partir du numéro d'assemblage. 3Com dispose d'un document `Identifying
3Com Adapters By Assembly Number' (Identifier les adaptateurs 3Com par
leur numéro d'assemblage, référence 24500002) qui devrait très
certainement éclaircir les choses. Consultez ``Informations techniques
de 3Com'' pour plus d'informations sur la façon d'obtenir de 3Com des
documents techniques.
Notez aussi que vous pouvez éventuellement consulter le site FTP de
3Com qui recèle diverses gâteries : ftp.3Com.com.
Pour ceux qui consultent ce document sur le WWW, vous pouvez aussi
essayer leur site WWW (www.3com.com).
55..11..11.. 33cc550011
Statut : Partiellement supporté, Nom du pilote : 3c501
Cette carte 8 bits datant de l'âge de pierre, trop tapée du ciboulot
pour être utilisée. Evitez-la comme la peste. N'achetez pas cette
carte, même pour faire une blague. Ses performances sont atroces, et
elle a de nombreuses déficiences.
Pour ceux qui ne seraient pas encore convaincus, la 3C501 ne sait
faire qu'une chose à la fois -- pendant que vous enlevez un paquet du
tampon (qui ne peut en contenir qu'un seul), elle ne peut pas en
recevoir un autre, pas plus qu'elle ne peut en recevoir un pendant le
chargement d'un paquet à transmettre. C'était parfait pour un réseau
entre deux ordinateurs à base de 8088 où le traitement de chaque
paquet et la réponse prenaient des dizaines de millisecondes, mais les
réseaux modernes envoient des paquets les uns à la suite des autres
pour pratiquement chaque transaction.
Les IRQ automatiques fonctionnent, le DMA n'est pas utilisé, la
détection automatique ne teste que 0x280 et 0x300, et le niveau de
débogage est indiqué dans le troisième argument passé au démarrage.
Encore une fois, l'utilisation d'une 3C501 est _f_o_r_t_e_m_e_n_t
_d_é_c_o_n_s_e_i_l_l_é_e ! Encore plus avec un noyau IP `multicast', puisque vous
allez aboutir à un arrêt pendant que vous écoutez _c_h_a_c_u_n des paquets
`multicast'. Lisez les commentaires au début du code source pour plus
de détails.
55..11..22.. EEtthheerrLLiinnkk IIII,, 33cc550033,, 33cc550033//1166
Statut : Supporté, Nom du pilote : 3c503 (+8390)
La 3c503 ne possède pas de mémoire reprogrammable pour stocker sa
configuration (un ``EEPROM setup'') ; un programme de diagnostic et de
configuration n'est donc pas nécessaire avant d'utiliser la carte sous
Linux. L'adresse de mémoire partagée de la 3c503 est fixée en
utilisant des cavaliers qui sont partagés avec l'adresse de la mémoire
programmable de démarrage (``boot PROM''). Cela a tendance à semer la
confusion chez les personnes habituées aux autres cartes ISA, sur
lesquelles on laisse toujours le cavalier sur la position `désactivée'
(_d_i_s_a_b_l_e en anglais) à moins d'avoir une PROM de démarrage.
Ces cartes devraient être aussi rapide que les cartes WD80x3 qui
utilisent le même bus, mais il apparaît qu'elles sont légèrement plus
lentes. Ces cartes Ethernet à mémoire partagée ont aussi un mode à
Entrées/Sorties programmées qui n'utilise pas les possibilités de la
8390 (leurs ingénieurs ont trouvé trop de bogues !). Le pilote 3c503
de Linux sait aussi travailler avec la 3c503 en mode d'E/S
programmées, mais c'est plus lent et moins sûr que le mode à mémoire
partagée. De plus, le mode d'E/S programmées n'est pas aussi bien
testé lors des mises à jour des pilotes. Vous ne devriez pas utiliser
le mode d'E/S programmées à moins d'en avoir besoin pour la
compatibilité avec le DOS.
La ligne d'IRQ de la 3c503 est fixée par logiciel, sans l'aide d'une
EEPROM. A la différence des pilotes sous DOS, le pilote Linux est
capable de choisir automatiquement l'IRQ : il utilise la première
ligne d'interruption disponible parmi {5,2/9,3,4}, en choisissant à
chaque fois que la carte est ifconfigurée. (Les anciennes versions du
pilote sélectionnaient l'IRQ au moment du démarrage). L'appel ioctl()
dans `ifconfig' retournera EAGAIN si aucune ligne d'IRQ n'est
disponible à ce moment-là.
Des problèmes classiques que les gens ont avec la 3c503 sont abordés
dans ``Problèmes avec...''.
Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter ``Utiliser les
pilotes Ethernet comme modules'' pour des informations spécifiques aux
modules.
Notez que certains vieux 386 sans disques ont des 3c503 sur la carte
mère (faites par 3Com, mais vendues sous un autre nom, tel que `Bull')
l'identificateur n'est pas celui des cartes 3Com, et elles ne seront
donc pas détectées. Pour plus de détails, référez-vous au paquetage
Etherboot, dont vous aurez besoin pour démarrer ces PC sans disques.
55..11..33.. EEtthheerrLLiinnkk pplluuss,, 33cc550055
Statut : Partiellement supporté, Nom du pilote : 3c505
Il s'agit d'un pilote qui avait été écrit par Craig Southeren
geoffw@extro.ucc.su.oz.au. Ces cartes utilisent la puce i82586 d'Intel
et sont assez peu répandues. Le pilote est inclus dans le noyau
standard, mais il est classé comme pilote `alpha'. Consultez ``Pilotes
alpha'' pour des informations importantes à propos de l'utilisation de
pilotes Ethernet en phase de test `alpha' sous Linux.
Vous devriez aussi lire le fichier
/usr/src/linux/drivers/net/README.3c505 si vous comptez utiliser une
de ces cartes. Il contient diverses options que vous pouvez activer ou
désactiver.
55..11..44.. EEtthheerrLLiinnkk--1166,, 33cc550077
Statut : Partiellement supporté, Nom du pilote : 3c507
Cette carte utilise l'une des puces Intel, et le développement du
pilote est fortement lié à celui du pilote de la carte Ether Express
d'Intel. Le pilote est inclus dans la distribution standard du noyau,
mais en tant que pilote `alpha'.
Consultez ``Pilotes alpha'' pour des informations importantes
concernant l'utilisation de pilotes en phase de test `alpha' sous
Linux.
55..11..55.. EEtthheerrLLiinnkk IIIIII,, 33cc550099 // 33cc550099BB
Statut : Supporté, Nom du pilote : 3c509
Cette carte est plutôt bon marché et possède de bonnes performances
pour une conception ISA qui ne soit pas `bus-master'. Le revers de la
médaille est que la 3c509 originelle nécessitait des temps de latence
vraiment très faibles en réponse aux interruptions. La 3c509B ne
souffre pas du même problème, car elle possède un tampon mémoire plus
important (voir ci-dessous). Ces cartes utilisent des transferts en
mode d'Entrées/Sorties programmées (PIO), de la même façon qu'une
carte ne2000, et par conséquent une carte à mémoire partagée comme la
wd8013 sera plus efficace en comparaison.
La 3c509 d'origine avait un petit tampon mémoire pour les paquets
(4 Ko au total, 2 en réception et 2 en transmission), ce qui poussait
le pilote à éliminer un paquet si les interruptions étaient masquées
trop longtemps. Pour minimiser ce problème, vous pouvez essayer de
dé-masquer les interruptions pendant les transferts sur disques IDE
(consultez man hdparm) et / ou augmenter la vitesse de votre bus ISA
de façon à ce que les transferts IDE se terminent plus tôt.
Le modèle plus récent, la 3c509B, possède 8 Ko de mémoire, et le
tampon peut être partagé en 4/4, 5/3 ou 6/2 en réception/transmission.
Ce paramètre est changé à l'aide de l'utilitaire de configuration sous
DOS, et est stocké dans la mémoire EEPROM. Cela devrait éliminer le
problème précédent avec la 3c509 originelle.
Les utilisateurs de 3c509B devraient utiliser soit l'utilitaire DOS
fourni afin de désactiver le `_p_l_u_g _a_n_d _p_l_a_y', _e_t de déterminer le
support de sortie dont ils ont besoin. Le pilote Linux _n_'_e_s_t _p_a_s
capable aujourd'hui d'utiliser la fonctionnalité de détection
automatique du support physique, donc vous _d_e_v_e_z sélectionner 10Base-T
ou 10Base-2 ou AUI. Notez que pour arrêter totalement le PnP, vous
devrez faire un 3C5X9CFG /PNP:DISABLE et ensuite, éteindre et rallumer
la machine pour que cela prenne effet.
Certaines personnes ont posé des questions sur les paramètres ``Server
or Workstation'' (serveur ou station de travail) et ``Highest Modem
Speed'' (plus haute vitesse de modem) qui sont présentés dans
l'utilitaire de configuration du DOS. Donald écrit que ``Ce ne sont
que des orientations fournies au pilotes, et le pilote Linux n'utilise
pas ces paramètres ; il optimise toujours pour un taux de transfert
important plutôt que pour un temps de latence faible (`Server'). Un
temps de latence faible était un critère critique pour le vieux
trafic, non-fenêtré, de IPX. Afin de réduire le temps de latence, le
pilote sous DOS de la 3c509 inhibe les interruptions de certaines
opérations, bloquant les interruptions du port série. D'où la
nécessité du paramètre `modem speed' (vitesse du modem). Le pilote
Linux évite la nécessité de désactiver les interruptions sur de
longues périodes en ne travaillant que sur des paquets complets, par
exemple en ne commençant pas à transmettre un paquet avant qu'il n'ait
été complètement transféré sur la carte.''
Notez que la procédure de détection de la carte ISA utilise une
méthode différente de la plupart des autres cartes. A la base, vous
demandez aux cartes de répondre en envoyant des données sur un port
ID_PORT (port 0x100 jusqu'à 0x1ff par intervalle de 0x10). Cette
méthode de détection signifie qu'une carte donnée sera toujours
détectée en premier dans une configuration comportant plusieurs cartes
ISA 3c509. La carte avec la plus petite adresse Ethernet physique sera
_t_o_u_j_o_u_r_s eth0. Cela ne devrait gêner personne, à l'exception de ceux
qui souhaitent assigner une adresse physique sur 6 octets à une
interface donnée. Si vous avez plusieurs cartes 3c509, il vaut mieux
ajouter des commandes ether=0,0,ethN sans préciser le port d'E/S
(c'est-à-dire en utilisant E/S=zéro) et autoriser la procédure de
détection à faire le tri pour déterminer quelle carte est la première.
Utiliser une valeur d'E/S non nulle va faire que toutes les cartes ne
seront pas détectées : donc, ne le faites pas.
Si cela vous gêne vraiment, jetez un coup d'oeil au tout dernier
pilote de Donald, car cela vous permettra d'utiliser une valeur
0x3c509 dans le champ (inutilisé) de l'adresse mémoire pour obliger la
détection à réussir.
55..11..66.. 33cc551155
Statut : Supporté, Nom du pilote : 3c515
Il s'agit de l'offre 100 Mb/s de 3Com en ISA, nom de code
``_C_o_r_k_S_c_r_e_w'' (tire-bouchon, en anglais). Un pilote assez jeune pour
ces cartes venant de Donald est inclus dans la version 2.2 du noyau.
Pour les dernières informations, vous auriez certainement intérêt à le
chercher dans la page sur les ``Vortex'' :
Vortex
55..11..77.. 33cc552233
Statut : Partiellement supporté, Nom du pilote : 3c523
Cette carte pour bus MCA utilise la puce i82586, et Chris Beauregard a
modifié le pilote ni52 pour qu'il fonctionne avec ces cartes. Le
pilote correspondant peut être trouvé dans l'arborescence des sources
des noyaux 2.2.
Plus de détails sont fournis sur la page MCA pour Linux à
http://glycerine.cetmm.uni.edu/mca/
55..11..88.. 33cc552277
Statut : Non supporté
Eh oui, encore une autre carte MCA. Eh non, pas beaucoup d'intérêt
pour celle-ci. Vous aurez plus de chance avec la 3c529 si vous êtes
coincé(e) avec le MCA.
55..11..99.. 33cc552299
Statut : Partiellement supporté, Nom du pilote : 3c509
Cette carte utilise en fait le même jeu de puces que la 3c509. De
fait, Donald a placé des points d'entrée dans le pilote de la 3c509
pour vérifier l'existence de cartes MCA après la détection des cartes
EISA, et avant celle des cartes ISA, longtemps avant que le MCA soit
supporté par le noyau. Le code de détection MCA est inclus dans le
pilote livré avec le noyau 2.2.
On peut trouver plus de détails sur la page MCA pour Linux à l'adresse
http://glycerine.cetmm.uni.edu/mca/.
55..11..1100.. 33cc556622
Statut : Supporté, Nom du pilote : 3c589 (distribué séparément)
Cette carte PCMCIA est la combinaison d'une carte Ethernet 3c589B et
d'un modem. Le modem est vu comme un modem standard par l'utilisateur
final. La seule difficulté est d'arriver à faire en sorte que les deux
pilotes Linux partagent la même interruption. Il y a une série de
nouveaux registres et un peu de support de partage d'interruptions
matérielles. Vous aurez besoin d'utiliser un noyau 2.0 ou plus récent,
qui comporte ce qu'il faut pour le partage d'interruptions.
Merci de nouveau à Cameron pour l'obtention d'un exemplaire d'essai et
l'envoi d'une documentation à David Hinds. Consultez le paquetage
PCMCIA de David pour plus d'informations.
Consultez ``PCMCIA'' pour en savoir plus sur les jeux de puces PCMCIA,
les activateurs de sockets, etc.
55..11..1111.. 33cc557755
Statut : Inconnu
Un pilote pour cette carte PCMCIA est en cours de développement et
l'on peut espérer qu'il sera inclus dans le paquetage PCMCIA de David
dans le futur. Le mieux est de regarder dans le paquetage PCMCIA pour
voir ce qui s'y passe.
55..11..1122.. 33cc557799
Statut : Supporté, Nom du pilote : 3c509
La version EISA de la 509. La version EISA actuelle utilise la même
puce de largeur 16 bits plutôt qu'une interface 32 bits, et les
performances ne sont donc pas époustouflantes. Le code de détection
EISA a été ajouté dans 3c509.c pour la version 0.99pl14. Assurez-vous
que la carte est configurée pour le mode d'adressage EISA. Lisez la
section précédente sur la 3c509 pour des informations sur le pilote.
55..11..1133.. 33cc558899 // 33cc558899BB
Statut : Partiellement supporté, Nom du pilote : 3c589
Beaucoup de monde utilise cette carte PCMCIA depuis déjà un bon bout
de temps. Notez qu'elle n'est pas incluse (à l'heure actuelle) dans
l'arborescence par défaut du noyau. Le "B" dans le nom signifie la
même chose ici que dans le cas de la 3c509.
Les pilotes sont disponibles sur le site ftp de Donald, et dans le
paquetage PCMCIA de David Hinds. Vous aurez aussi besoin d'avoir un
chipset PCMCIA supporté. Allez faire un tour dans le ``Support
PCMCIA'' pour plus d'informations sur les pilotes, les chipsets
supportés, les activateurs de sockets, etc.
55..11..1144.. 33cc559900 // 33cc559955
Statut : Supporté, Nom du pilote : 3c59x
Ces cartes ``Vortex'' sont destinées aux machines à bus PCI, la 3c590
constituant l'offre à 10 Mb/s de 3Com et la 3c595 celle à 100 Mb/S.
Notez aussi que vous pouvez utiliser la 595 comme une 590
(c'est-à-dire en mode 10 Mb/s). Le pilote est inclus dans les sources
du noyau 2.0, mais est aussi continuellement mis à jour. Si vous
rencontrez des problèmes avec le pilote des noyaux 2.0, vous pouvez
obtenir un pilote à jour à partir de l'URL suivante :
Vortex
Notez qu'il existe en fait deux cartes 3c590, des modèles des premiers
temps ayant 32 Ko de mémoire, et des plus récents qui n'en ont que 8 .
Il y a des chances pour que vous ne puissiez plus acheter une 3c59x
neuve, car elles ont été remplacées par les 3c90x. Si vous achetez une
carte d'occasion, essayez d'obtenir la version 32 Ko. Les cartes 3c595
ont 64 Ko, car vous ne pouvez pas faire grand-chose avec seulement
8 Ko de mémoire vive à 100 Mb/s !
Grand merci à Cameron Spitzer et Terry Murphy de 3Com pour l'envoi de
cartes et de documentation à Donald afin qu'il puisse écrire le
pilote.
Donald a mis en place une liste de diffusion pour le support du pilote
Vortex. Pour vous abonner à la liste, vous n'avez qu'à faire :
echo subscribe | /bin/mail linux-vortex-request@cesdis.gsfc.nasa.gov
55..11..1155.. 33cc559922 // 33cc559977
Statut : Supporté, Nom du pilote : 3c59x
Ce sont les versions EISA des séries 3c59x. La 3c592/3c597 (aussi
connue sous le nom de Demon) devrait fonctionner avec le pilote Vortex
présenté au paragraphe précédent.
55..11..1166.. 33cc990000 // 33cc990055 // 33cc990055BB
Statut : Supporté, Nom du pilote : 3c59x
Ces cartes (aussi connues sous le nom de `Boomerang', ou encore
EtherLink III XL) ont été mises sur le marché pour remplacer les
cartes 3c590/3c595.
Le support pour la version à base de Cyclone 'B' a récemment été
ajouté. Pour utiliser cette carte avec les anciens noyaux 2.0, vous
devez obtenir le pilote 3c59x.c mis à jour sur le site de Donald :
Vortex
Si vous avez un doute, allez faire un tour sur la page WWW ci-dessus.
Donald a mis en place une liste de diffusion sur les annonces
concernant le support du pilote Vortex, entre autres. Pour vous
abonner à la liste, il suffit de faire :
echo subscribe | /bin/mail linux-vortex-request@cesdis.gsfc.nasa.gov
55..11..1177.. 33cc998855
Statut : Supporté, Nom du pilote : acenic
Ce pilote, par Jes Sorensen, est disponible dans les noyaux 2.2. Il
supporte plusieurs autres modèles de cartes Gigabit en plus du modèle
3Com.
55..22.. AAccccttoonn
55..22..11.. AAccccttoonn MMPPXX
Statut : Supporté, Nom du pilote : ne (+8390)
Ne vous laissez pas avoir par le nom. Cette carte est tout de même
supposée être une compatible NE2000, et devrait par conséquent
fonctionner avec le pilote du même nom.
55..22..22.. AAccccttoonn EENN11220033,, EENN11220077,, EEtthheerrDDuuoo--PPCCII
Statut : Supporté, Nom du pilote : de4x5, tulip
Une autre implémentation de la puce PCI 21040 de DEC. La carte EN1207
comporte le 21140, mais a aussi un connecteur 10Base-2, ce qui s'est
révélé source de problèmes pour certaines personnes en terme de
sélection de ce support. Par contre, l'utilisation de la carte avec du
10Base-T et du 100Base-T a fonctionné pour certaines autres. Donc,
comme pour tous les achats, vous devez d'abord essayer et vous assurer
que vous pourrez retourner la carte si elle ne fonctionne pas pour
vous.
Consultez ``DEC 21040'' pour plus d'informations sur ces cartes, et la
situation actuelle du pilote.
55..22..33.. AAddaappttaatteeuurr AAccccttoonn EENN22220099 ppoouurr ppoorrtt ppaarraallllèèllee ((EEtthheerrPPoocckkeett))
Statut : Partiellement supporté, Nom du pilote : ?
Un pilote pour ces adaptateurs sur port parallèle est disponible mais
ne fait pas encore partie des sources des noyaux 2.0 ou 2.1. Vous
pouvez obtenir ce pilote sur :
http://www.unix-ag.uni-siegen.de/~nils/accton_linux.html
55..22..44.. AAccccttoonn EENN22221122 PPCCMMCCIIAA
Statut : Partiellement supporté, Nom du pilote : ?
David Hinds a commencé à travailler sur un pilote pour cette carte, et
vous devriez de consulter la dernière version de son paquetage PCMCIA
pour savoir où il en est.
55..33.. AAlllliieedd TTeelleessyynn//TTeelleessiiss
55..33..11.. AATT11550000
Statut : Supporté, Nom du pilote : lance
Il s'agit d'une série de cartes Ethernet peu chères qui utilisent la
version 79C960 de la puce LANCE d'AMD. Ce sont des cartes utilisant le
contrôle du bus, et elles figurent donc parmi les cartes Ethernet ISA
les plus rapides.
La sélection du DMA et des informations sur la numérotation de la puce
se trouvent dans ``AMD LANCE''.
Plus d'informations techniques sur les cartes Ethernet basées sur
l'AMD LANCE sont disponibles dans ``Notes sur l'AMD...''.
55..33..22.. AATT11770000
Statut : Supporté, Nom du pilote : at1700
Notez que pour accéder à ce pilote lors du make config vous devez
encore répondre `Y' à la question ``Prompt for development and/or
incomplete code/drivers?'' au tout début. C'est simplement dû au
manque de retour d'informations sur la stabilité du pilote, étant
donné qu'il s'agit d'une carte relativement rare. Si vous avez des
problèmes avec le pilote qui est livré avec le noyau, vous serez peut
etre interessé par celui qui est disponible à : http://www.cc.hit-
u.ac.jp/nagoya/at1700/
Les cartes Ethernet Allied Telesis des séries AT1700 sont basées sur
la MB86965 de Fujitsu. Cette puce utilise une interface à E/S
programmées, et une paire de tampons de transmission à taille fixe.
Cela permet d'envoyer des petits groupes de paquets les uns à la suite
des autres, avec une courte pause pendant le changement de tampon.
Une fonctionnalité unique est la possibilité de piloter du câble STP
(Shielded Twisted Pair, paire torsadée blindée) 150 ohms couramment
installé pour le Token Ring, en plus du câble 100 ohms UTP (Unshielded
Twisted Pair, paire torsadée non-blindée) de 10BaseT. Une version
fibre optique de la carte (AT1700FT) existe également.
La puce Fujitsu utilisée sur l'AT1700 a un défaut de conception : elle
ne peut être remise complètement à zéro qu'en effectuant un cycle
d'allumage de la machine. Le fait d'appuyer sur le bouton de
redémarrage (`Reset') ne réinitialise pas l'interface du bus. Cela ne
serait pas gênant, si la carte ne pouvait être détectée qu'après
qu'elle ait été récemment réinitialisée. Le moyen de contourner le
problème est d'éteindre puis de rallumer la machine si le noyau a un
problème pour détecter l'AT1700.
Certaines séries de production de l'AT1700 ont un autre problème :
elles sont conçues pour utiliser de façon permanente le canal DMA 5.
Cela n'est pas documenté, il n'existe aucun cavalier pour désactiver
cette "fonctionnalité", et aucun pilote n'ose utiliser la possibilité
de DMA à cause de problèmes de compatibilité. Aucun pilote de
périphérique ne sera écrit pour utiliser la DMA si le fait d'installer
une seconde carte dans la machine casse les deux cartes, et le seul
moyen de désactiver le DMA est d'utiliser un couteau.
Certaines séries de l'AT1700 ont un autre problème : Elles sont
bloquées sur le canal DMA 5. Cela n'est pas documenté, et il n'y a pas
de cavaliers pour désactiver cette "fonctionnalité", et aucun pilote
n'ose utiliser le DMA a cause des problèmes de compatibilité. Aucun
pilote ne sera écrit pour utiliser le DMA a cause car le fait
d'installer une deuxième carte empêcherais les DEUX de marcher, et le
seul moyen de désactiver le DMA, c'est avec un couteau.
55..33..33.. AATT22445500
Statut : Supporté, Nom du pilote : pcnet32
La version PCI de l'AT1500, qui ne souffre pas des problèmes de la
carte PCI 79c970 de Boca. La sélection du DMA et des informations sur
la numérotation de la puce se trouvent dans ``AMD LANCE''.
Plus d'informations techniques sur les cartes Ethernet basées sur
l'AMD LANCE sont disponibles dans ``Notes sur l'AMD...''.
55..33..44.. AATT11550000
Statut : Partiellement supporté, Nom du pilote : rtl8139
Cette carte utilise la puce Realtek 8139, référez vous à la section
``Realtek 8139''
55..33..55.. AATT22554400FFXX
Statut : Partiellement supporté, Nom du pilote : eepro100
Cette carte utilise une puce i82557, et par conséquent,
pourrait / devrait fonctionner avec le pilote de la carte eepro100. Si
vous l'essayez, envoyez-nous quelques renseignements complémentaires
pour que cette section s'étoffe un peu.
55..44.. AAMMDD // AAddvvaanncceedd MMiiccrroo DDeevviicceess
Carl Ching d'AMD a eu la gentillesse de fournir une description très
détaillée de tous les produits Ethernet d'AMD cités, ce qui a permis
de clarifier cette section.
55..44..11.. AAMMDD LLAANNCCEE ((77999900,, 7799CC996600//996611//996611AA,, PPCCnneett--IISSAA))
Statut : Supporté, Nom du pilote : lance
Il n'existe en fait aucune carte Ethernet AMD. Vous êtes certainement
en train de lire ce paragraphe parce que les seules marques que vous
ayez pu trouver sur votre carte disent `AMD' et le numéro ci-dessus.
La 7990 est la puce `LANCE' d'origine, mais la plupart des documents
(y compris celui-ci) se réfèrent à toutes ces puces similaires sous la
dénomination de puces `LANCE' (...incorrectement, devrais-je ajouter).
Les numéros ci-dessus se réfèrent aux puces d'AMD qui sont le coeur de
nombreuses cartes Ethernet. Par exemple, l'AT1500 d'Allied Telesis
(voir ``AT1500''), et la NE1500/2100 (voir ``NE1500'') utilisent ces
puces.
La 7990/79c90 a été remplacée depuis bien longtemps par des versions
plus récentes. La 79C960 (aussi connue sous le nom de PCnet-ISA)
contient pour l'essentiel la base de la 79c90, avec tout le support
matériel complémentaire requis, ce qui permet de monter une solution
Ethernet en une seule puce. La 79c961 (PCnet-ISA+) est une version
``Plug and Play'', sans cavaliers, de la 960. La dernière puce des
séries ISA est la 79c961A (PCnet-ISA II), qui ajoute des capacités de
_f_u_l_l _d_u_p_l_e_x. Toutes les cartes comportant une de ces puces devraient
fonctionner avec le pilote lance.c, à l'exception de très vieilles
cartes qui utilisent la 7990 d'origine avec une configuration à
mémoire partagée. Ces cartes anciennes peuvent être repérées par
l'absence de cavaliers pour le choix d'un canal DMA.
Parmi les problèmes classiques, on rencontre le message `busmaster
arbitration failure'. Celui-ci s'affiche quand le pilote LANCE ne peut
pas obtenir un accès au bus après qu'un temps raisonnable se soit
écoulé (50 micro-secondes). Cela indique habituellement que
l'implémentation de la maîtrise de bus DMA de la carte-mère est
incorrecte, ou qu'un autre périphérique monopolise le bus, ou qu'il y
a un conflit de canal DMA. Si votre programme de configuration du BIOS
possède la `GAT option' (GAT pour Guaranteed Access Time, temps
d'accès garanti), essayez de modifier ce paramètre pour voir si cela
va mieux.
Notez aussi que le pilote ne cherche une carte valide qu'à ces
adresses : 0x300, 0x320, 0x340, 0x360, et qu'une adresse fournie par
un argument de démarrage ether= est ignorée sans qu'il en soit fait
mention (cela sera corrigé), donc assurez-vous que votre carte est
configurée pour l'une des adresses d'E/S ci-dessus, pour l'instant.
Le pilote fonctionnera encore correctement, même si plus de 16 Mo de
mémoire sont installés, car des tampons-relais en mémoire basse sont
utilisés au besoin (c'est-à-dire que toute donnée située au-delà de la
limite des 16 Mo est copiée dans un tampon en-dessous de la limite
avant d'être remis à la carte pour transmission).
Le canal DMA peut être configuré avec les bits (inutilisés en dehors
de ça) de la valeur de dev->mem_start (aussi connue comme PARAM_1
(voir ``PARAM_1''). S'il n'est pas fixé, il est testé en activant
chaque canal DMA tour à tour et en regardant si l'initialisation
réussit.
La carte HP-J2405A est une exception : avec cette carte, il est facile
de lire les valeurs stockées en EEPROM pour l'IRQ et le DMA.
Voir ``Notes on AMD...'' pour plus d'informations sur ces puces.
55..44..22.. AAMMDD 7799CC996655 ((PPCCnneett--3322))
Statut : Supporté, Nom du pilote : pcnet32
Il s'agit de la PCnet-32 -- une version 32 bits, à contrôle de bus, de
la puce LANCE originelle pour les systèmes VLB (Vesa Local Bus) et à
bus local. Bien que ces puces puissent être utilisée avec le pilote
lance.c standard, une version 32 bits (pcnet32.c) est aussi
disponible, laquelle n'a pas à se préoccuper des limitations à 16 Mo
liées au bus ISA.
55..44..33.. AAMMDD 7799CC997700//997700AA ((PPCCnneett--PPCCII))
Statut : Supporté, Nom du pilote : pcnet32
Il s'agit de la PCnet-PCI -- similaire à la PCnet-32, mais conçue pour
des systèmes basés sur le bus PCI. De nouveau, consultez les
informations ci-dessus sur la PCnet-32. Cela signifie que vous devez
construire un noyau comportant le support du BIOS PCI. La 970A ajoute
le support du mode _f_u_l_l _d_u_p_l_e_x ainsi que d'autres fonctionnalités par
rapport à la conception d'origine de la 970.
Notez que l'implémentation de Boca pour la 79C970 ne fonctionne pas
sur les machines Pentium rapides. Il s'agit d'un problème matériel,
puisqu'il affecte aussi les utilisateurs DOS. Consultez la section sur
Boca pour plus de détails.
55..44..44.. AAMMDD 7799CC997711 ((PPCCnneett--FFAASSTT))
Statut : Supporté, Nom du pilote : pcnet32
Il s'agit de la puce 100 Mbits d'AMD pour les systèmes PCI, qui
comporte elle aussi le mode _f_u_l_l _d_u_p_l_e_x. Elle a été introduite en juin
1996 sur le marché.
55..44..55.. AAMMDD 7799CC997722 ((PPCCnneett--FFAASSTT++))
Statut : Inconnu, Nom du pilote : pcnet32
Devrait marcher exactement comme la '971, mais reste à confirmer quand
même.
55..44..66.. AAMMDD 7799CC997744 ((PPCCnneett--SSCCSSII))
Statut : Supporté, Nom du pilote : pcnet32
Il s'agit de la PCnet-SCSI -- qui à la base est traitée comme une 970
du point de vue Ethernet. Consultez aussi les informations ci-dessus.
Ne demandez pas si la partie SCSI de la puce est supportée -- il
s'agit de l'_E_t_h_e_r_n_e_t_-_H_O_W_T_O, pas du _S_C_S_I_-_H_O_W_T_O.
55..55.. AAnnsseell CCoommmmuunniiccaattiioonnss
55..55..11.. AACC33220000 EEIISSAA
Statut : Partiellement supporté, Nom du pilote : ac3200
Notez que pour accéder à ce pilote lors du make config vous devez
encore répondre `Y' à la question ``Prompt for development and/or
incomplete code/drivers?'' au tout début. C'est simplement dû au
manque de retour d'informations sur la stabilité du pilote, étant
donné qu'il s'agit d'une carte relativement rare.
Ce pilote est inclus dans le noyau actuel comme étant en phase de test
`alpha'. Il est basé sur la classique puce NS8390 utilisée dans les
cartes NE2000 et WD80x3. Veuillez consulter ``Pilotes
`alpha''' dans le présent document pour des informations importantes
concernant les pilotes `alpha'.
Si vous l'utilisez, veuillez informer l'un d'entre nous de la façon
dont les choses fonctionnent, car nous avons eu peu de retour
d'informations, même si le pilote est dans le noyau depuis la version
1.1.25.
Si vous avez l'intention d'utiliser ce pilote comme module chargeable,
vous devriez lire ``Utilisation des pilotes Ethernet comme
modules'' pour des informations spécifiques aux modules.
55..66.. AApprriiccoott
55..66..11.. AApprriiccoott XXeenn--IIII OOnn BBooaarrdd EEtthheerrnneett
Statut : Supporté, Nom du pilote : apricot
Cette carte Ethernet sur carte-mère utilise une puce i82596 à contrôle
du bus. Elle ne peut se trouver qu'à l'adresse d'E/S 0x300. En
consultant le source du pilote, il apparaît que l'IRQ est
matériellement fixée à 10.
Les premières versions du pilote avaient une tendance à croire que
tout ce qui vivait en 0x300 était un adaptateur réseau Apricot.
Depuis, l'adresse matérielle est testée afin d'éviter ces détections
erronées.
55..77.. AArrccnneett
Statut : Supporté, Nom du pilote : arcnet (arc-rimi, com90xx,
com20020)
Avec le coût vraiment très bas et les meilleures performances
d'Ethernet, il est probable que la plupart des endroits disposant d'un
réseau vont se débarrasser de leur matériel Arcnet pour rien, ce qui
amènera un grand nombre de systèmes personnels à utiliser Arcnet.
Un avantage d'Arcnet est que toutes les cartes ont des interfaces
identiques, donc un seul pilote fonctionnera pour tout le monde. Il
comporte aussi une gestion intégrée des erreurs, et est donc supposé
ne jamais perdre un paquet. (Chouette pour le trafic UDP !)
Le pilote Arcnet d'Avery Pennarun est dans le noyau par défaut depuis
la version 1.1.80. Le pilote Arcnet utilise `arc0' comme nom au lieu
de l'`eth0' habituel pour les périphériques Ethernet.
Vous pouvez envoyer rapports de bogues et comptes-rendus victorieux
concernant Arcnet à :
apenwarr@foxnet.net
Le noyau standard comporte des fichiers d'information pour la
configuration des cavaliers et des aides plus générales.
Le pilote est également censé fonctionner avec les cartes ARCnet
100 Mb/s !
55..88.. AATT&&TT
Notez que le StarLAN d'AT&T est une technologie orpheline, comme le
LattisNet de SynOptics, et qu'elle ne peut pas être utilisée dans un
environnement 10Base-T standard, sans un hub qui `parle' les deux
protocoles.
55..88..11.. AATT&&TT TT77223311 ((LLaannPPAACCEERR++))
Statut : Non supporté
Ces cartes StarLAN utilisent une interface similaire à la puce i82586.
A une époque, Matthijs Melchior (matthijs.n.melchior@att.com) jouait
avec le pilote de la 3c507, et avait presque quelque chose
d'utilisable qui fonctionnait. Nous n'en avons pas entendu parler
beaucoup depuis lors.
55..99.. BBooccaa RReesseeaarrcchh
Oui, ils font autre chose que des cartes séries multi-ports. :-)
55..99..11.. BBooccaa BBEENN ((IISSAA,, VVLLBB;; PPCCII))
Statut : Supporté, Nom du pilote : pcnet32, lance
Ces cartes sont basées sur les puces PCnet d'AMD. Les acheteurs
exigeants doivent être prévenus que de nombreux utilisateurs ont eu
des problèmes sans fin avec ces cartes VLB/PCI. Les propriétaires de
systèmes Pentium rapides ont été tout particulièrement touchés. Notez
qu'il ne s'agit pas d'un problème de pilote, puisqu'il touche aussi
les utilisateurs de DOS/Windows/NT. Le numéro du support technique de
Boca est le 1 (407) 241-8088,
(NDT : Ce numéro est bien entendu aux États-Unis.)
et vous pouvez aussi les joindre à 75300.2672@compuserve.com. Les
anciennes cartes ISA ne semblent pas souffrir des mêmes maux.
Donald a réalisé un test comparatif entre les cartes PCI Boca et une
implémentation similaire d'Allied Telsyn avec la puce PCnet/PCI, qui
montrait que le problème se situe dans l'implémentation faite par Boca
de la puce PCnet/PCI. On peut consulter les résultats de ce test sur
le serveur WWW de Don :
Linux @ CESDIS
Boca offre une `réparation - garantie' aux propriétaires affectés par
ce problème qui entraîne l'ajout d'un des condensateurs manquants,
mais il semble que cette correction ne fonctionne pas à 100 % pour la
plupart des gens, bien que cela en aide quelques uns.
Si vous pensez _e_n_c_o_r_e acheter une de ces cartes, alors essayez au
moins d'obtenir une clause de retour inconditionnel sous 7 jours, pour
que vous puissiez la rendre si elle ne fonctionne pas correctement sur
votre système.
Des informations plus générales sur les puces AMD se trouvent
dans ``AMD LANCE''.
Plus d'informations techniques sur les cartes Ethernet basées sur
l'AMD LANCE sont disponibles dans ``Notes sur l'AMD...''.
55..1100.. CCaabblleettrroonn
Donald écrit : ``Oui, encore une autre de ces sociétés qui ne donnera
pas ses informations pour programmer. Ils ont attendu des mois avant
de confirmer qu'en fait toutes leurs informations étaient
propriétaires, gaspillant délibérément mon temps. Évitez leurs cartes
comme la peste si vous le pouvez. Notez aussi que certaines personnes
ont appelé Cabletron, et se sont entendues dire des choses comme `un
certain D. Becker travaille sur un pilote pour Linux' -- laissant
entendre que je travaillais pour eux. Ce N'est PAS le cas.''
Apparemment, Cabletron a changé sa politique à propos des informations
sur la programmation (tout comme Xircom) depuis que Donald a fait ce
commentaire il y a quelques années. Envoyez un e-mail à
support@ctron.com si vous voulez vérifier ce point précis, ou demander
des informations techniques. Toutefois, à l'heure actuelle, il y a
très peu de demandes pour des pilotes mis à jour pour les cartes E20xx
et E21xx.
55..1100..11.. EE1100****,, EE1100****--xx,, EE2200****,, EE2200****--xx
Statut : Partiellement supporté, Nom du pilote : ne (+8390)
Il s'agit de presque-clones de NEx000 qui fonctionnent avec les
pilotes NEx000 standard d'après les informations qui nous sont
revenues, grâce à un test spécial-Cabletron dans la procédure de
détection. S'il y a le moindre problème, il ne sera très certainement
pas résolu, car les informations de programmation ne sont pas
disponibles.
55..1100..22.. EE22110000
Statut : Partiellement supporté, Nom du pilote : e2100 (+8390)
Un fois de plus, on ne peut pas faire grand-chose quand les
informations de programmation sont propriétaires. La E2100 bénéficie
d'une conception lamentable. Dès qu'elle mappe sa mémoire partagée
pendant un transfert de paquet, elle le fait en utilisant _t_o_u_t_e _l_a
_z_o_n_e _d_e _1_2_8 _K_o ! Cela signifie que vous _n_e _p_o_u_v_e_z _p_a_s, sur cette
zone, utiliser de façon sécurisée un autre périphérique à mémoire
partagée géré par interruption, y compris une autre E2100. Cela
fonctionnera la plupart du temps, mais de temps à autre cela vous
sautera à la figure. (Oui, on pourrait éviter ce problème en inhibant
les interruptions pendant le transfert des paquets, mais dans ce cas-
là on perdra pratiquement à coup sûr des tops d'horloge). De plus, si
vous programmez incorrectement la carte, ou que vous arrêtez la
machine juste au mauvais moment, même le bouton de `reset' ne la
rendra pas à la vie. Vous _d_e_v_r_e_z éteindre la machine et _a_t_t_e_n_d_r_e
qu'elle se repose pendant 30 secondes.
La sélection du support physique est automatique, mais vous pouvez
outrepasser cette fonctionnalité en utilisant les bits de poids
faibles du paramètre dev->mem_end. Consultez ``PARAM_2''. Les
utilisateurs des modules peuvent spécifier une valeur xcvr=N comme
option dans le fichier /etc/conf.modules.
Ne prenez pas non plus la E2100 pour un clone de NE2100. L'E2100
repose sur une DP8390 de National Semiconductor à mémoire partagée, à
peu près similaire à une WD8013 avec des lésions cérébrales, tandis
que la NE2100 (et la NE1500) utilise une conception basée sur la puce
à contrôle du bus LANCE d'AMD.
Vous trouverez un pilote pour la E2100 dans le noyau standard.
Toutefois, au vu de l'indisponibilité des informations de
programmation, n'attendez pas des corrections de bogues. N'en utilisez
pas à moins d'en avoir une sur les bras.
Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter ``Utiliser les
pilotes Ethernet comme modules'' pour des informations spécifiques aux
modules.
55..1100..33.. EE2222****
Statut : Partiellement supporté, Nom du pilote : lance
Si l'on en croit les informations trouvées dans un bulletin technique
de Cabletron, ces cartes utilisent le jeu de puces standard PC-net
d'AMD (section ``AMD PC-Net'') et devraient fonctionner avec le pilote
générique lance.
55..1111.. CCooggeenntt
Voici où et comment les joindre :
Cogent Data Technologies, Inc.
175 West Street, P.O. Box 926
Friday Harbour, WA 98250, USA.
Cogent Sales (service commercial)
15375 S.E. 30th Place, Suite 310
Bellevue, WA 98007, USA.
Technical Support: (support technique)
Phone (360) 378-2929 between 8am and 5pm PST
(Téléphone entre 8h et 17h, heure de la côte
Pacifique)
Fax (360) 378-2882
Compuserve GO COGENT
Bulletin Board Service (360) 378-5405
Internet: support@cogentdata.com
55..1111..11.. EEMM110000--IISSAA//EEIISSAA
Statut : Partiellement supporté, Nom du pilote : smc9194
Ces cartes utilisent la puce SMC 91c100 et devraient fonctionner avec
le pilote SMC 91c92, mais cela reste à vérifier.
55..1111..22.. CCooggeenntt eeMMAASSTTEERR++,, EEMM110000--PPCCII,, EEMM440000,, EEMM996600,, EEMM996644
Statut : Supporté, Nom du pilote : de4x5, tulip
Il s'agit encore une fois d'une implémentation de la 21040 de DEC,
dont on peut espérer qu'elle fonctionne correctement avec le pilote
21040 classique.
L'EM400 et l'EM964 sont des cartes à quatre ports qui utilisent un
pont DEC 21050 et quatre puces 21040.
Consultez ``DEC 21040'' pour plus d'information sur ces cartes, et
l'état d'avancement actuel du pilote.
55..1122.. CCoommppaaqq
Compaq n'est pas vraiment dans le domaine de la conception et de la
fabrication de cartes Ethernet, mais beaucoup de leurs systèmes
comportent des contrôleurs Ethernet intégrés à la carte-mère.
55..1122..11.. CCoommppaaqq DDeesskkpprroo // CCoommppaaqq XXLL ((EEmmbbeeddddeedd AAMMDD CChhiipp))
Statut : Supporté, Nom du pilote : pcnet32
Des machines comme celles de la série XL ont une puce PCI 79c97x d'AMD
sur la carte-mère qui peut être utilisée avec le pilote LANCE
standard. Mais avant de pouvoir l'utiliser, vous devez faire quelques
manipulations pour que le BIOS PCI se trouve à une place où Linux peut
le voir. Frank Maas a été suffisamment sympa pour nous fournir les
détails :
``Le problème avec cette machine Compaq est que le point d'entrée du
bus PCI est chargé en mémoire haute, à un endroit où le noyau Linux ne
pourra pas (n'ira pas) le chercher. Résultat : la carte n'est jamais
détectée ni utilisable (en passant : la souris ne fonctionnera pas non
plus). La manière de contourner le problème (telle qu'elle est décrite
en détail dans http://www-c724.uibk.ac.at/XL/) est de charger MS-DOS,
de lancer un petit pilote que Compaq a écrit puis de charger le noyau
Linux en utilisant LOADLIN. Ok, je vous laisse le temps de dire
'beurk', mais pour l'instant c'est la seule solution qui fonctionne
que je connaisse. Le petit pilote se contente de déplacer le
répertoire PCI à un endroit où il est normalement stocké (et où Linux
peut le trouver).''
Des informations plus générales sur les puces AMD se trouvent
dans ``AMD LANCE''.
55..1122..22.. CCoommppaaqq NNeetttteelllliiggeenntt//NNeettFFlleexx ((EEmmbbeeddddeedd TThhuunnddeerrLLAANN CChhiipp))
Statut : Supporté, Nom du pilote : tlan
Ces systèmes utilisent une puce Texas Instrument ThunderLAN, pour plus
d'informations, référez vous à la section ``ThunderLAN''.
55..1133.. DDaannppeexx
55..1133..11.. DDaannppeexx EENN99440000
Statut : Supporté, Nom du pilote : de4x5, tulip
Encore une autre carte basée sur la puce 21040 de DEC, dont on sait
qu'elle fonctionne correctement, et à un prix relativement modéré.
Consultez ``DEC 21040'' pour plus d'information sur ces cartes, et
l'état d'avancement actuel du pilote.
55..1144.. DD--LLiinnkk
55..1144..11.. DDEE--110000,, DDEE--220000,, DDEE--222200--TT,, DDEE--225500
Statut : Supporté, Nom du pilote : ne (+8390)
Certaines des premières cartes D-Link ne possédaient pas la signature
0x57 en PROM, mais le pilote ne2000 en a connaissance. Pour les cartes
configurables par logiciel, vous pouvez obtenir le programme de ad hoc
sur www.dlink.com. Les cartes DE2** étaient celles les plus
fréquemment indiquées comme possédant des erreurs de correspondance
sur des fausses adresses de transfert avec les premières versions de
Linux. Notez qu'il existe aussi des cartes chez Digital (DEC, Digital
Equipment Corporation) nommées DE100 et DE200, mais la similitude
s'arrête là.
55..1144..22.. DDEE--552200
Statut : Supporté, Nom du pilote : pcnet32
Il s'agit d'une carte PCI qui utilise la version PCI de la puce LANCE
d'AMD. Des informations sur la sélection DMA et la numérotation des
puces se trouvent dans ``AMD LANCE''.
Des informations plus techniques sur les cartes Ethernet basées sur la
puce LANCE d'AMD sont disponibles dans ``Notes sur l'AMD...''.
55..1144..33.. DDEE--552288
Statut : Supporté, Nom du pilote : ne, ne2k-pci (+8390)
On dirait que D-Link a aussi commencé à fabriquer des clones de
NE2000.
55..1144..44.. DDEE--553300
Statut : Supporté, Nom du pilote : de4x5, tulip
Il s'agit d'une implémentation générique de la puce PCI 21040 de DEC,
dont on sait qu'elle fonctionne avec le pilote générique 21040
`tulip'.
Consultez ``DEC 21040'' pour plus d'information sur ces cartes, et
l'état d'avancement actuel du pilote.
55..1144..55.. DDEE--660000
Statut : Supporté, Nom du pilote : de600
Les utilisateurs de portables et autres personnes qui souhaitent un
moyen rapide de mettre leur ordinateur sur Ethernet pourront être
intéressés par ceci. Le pilote est inclus dans l'arborescence du noyau
par défaut. Bjorn Ekwall bj0rn@blox.se a écrit le pilote. Attendez-
vous à des taux de transfert de 180 Ko/s par le port parallèle. Vous
devriez lire le fichier README.DLINK dans l'arborescence du noyau.
(NDT : Ce fichier est bien entendu en anglais.)
Notez que le nom de périphérique que vous passez à ifconfig est
_m_a_i_n_t_e_n_a_n_t eth0 et non pas celui précédemment utilisé, dl0.
Si votre port parallèle _n_e se trouve _p_a_s à l'adresse standard 0x378,
il vous faudra recompiler le noyau. Bjorn écrit : ``Puisque le pilote
de la DE-620 essaie de supprimer la moindre microseconde dans les
boucles, j'ai défini l'IRQ et l'adresse du port comme des constantes
plutôt que comme des variables. Cela donne une vitesse utilisable,
mais cela signifie aussi que vous ne pouvez pas changer ces valeurs
depuis par exemple lilo ; vous _devez_ recompiler...'' Notez aussi
que certains portables implémentent le port parallèle interne à
l'adresse 0x3bc, ce qui est l'endroit où les ports parallèles
étaient/sont sur les cartes monochromes.
55..1144..66.. DDEE--662200
Statut : Supporté, Nom du pilote : de620
Même chose que pour la DE-600, avec seulement deux formats de sortie.
Bjorn a écrit un pilote pour ce modèle, pour les versions 1.1 et
supérieures du noyau. Consultez les informations ci-dessus à propos de
la DE-600.
55..1144..77.. DDEE--665500
Statut : Partiellement supporté, Nom du pilote : de650 ?
Des gens utilisent cette carte PCMCIA depuis quelque temps déjà avec
leur portable. Il s'agit d'une conception simple basée sur le 8390,
qui ressemble beaucoup à une NE2000. La carte PCMCIA `LinkSys' et
l'IC-Card Ethernet sont, de plus, supposées être des clones de DE-650.
Notez qu'à l'heure actuelle, ce pilote _n_e fait _p_a_s partie du noyau
standard, et que vous devrez donc appliquer quelques patches.
Consultez ``Support du PCMCIA'' dans ce document, et si vous le
pouvez, jetez un coup d'oeil à :
La page PCMCIA de Don
55..1155.. DDFFII
55..1155..11.. DDFFIINNEETT--330000 eett DDFFIINNEETT--440000
Statut : Supporté, Nom du pilote : ne (+8390)
Ces cartes sont maintenant détectées (depuis la version 0.99pl15)
grâce à Eberhard Moenkeberg (emoenke@gwdg.de) qui a noté qu'elles
utilisent `DFI' dans les trois premiers octets de la PROM, à la place
de 0x57 dans les octets 14 et 15, ce que font toutes les autres cartes
NE1000 et NE2000. (La 300 est un semblant de clone 8 bits de la
NE1000, et la 400 est un semblant de clone NE2000.)
55..1166.. DDiiggiittaall // DDEECC
55..1166..11.. DDEEPPCCAA,, DDEE110000//11,, DDEE220000//11//22,, DDEE221100,, DDEE442222
Statut : Supporté, Nom du pilote : depca
De la documentation incluse dans le fichier source depca.c comprend
des informations sur la façon d'utiliser plus d'une de ces cartes dans
une machine. Notez que la DE422 est une carte EISA. Ces cartes sont
toutes basées sur la puce LANCE d'AMD. Consultez ``AMD LANCE'' pour
plus d'informations. Au maximum, deux des cartes ISA peuvent être
utilisées, parce que leurs adresses d'E/S de base ne peuvent être
fixées qu'à 0x300 ou 0x200. Si vous avez l'intention de le faire,
veuillez lire les notes dans le fichier source du pilote, depca.c,
dans l'arborescence du noyau standard.
Ce pilote fonctionnera aussi sur les machines à processeur Alpha, et
il comprend différents ioctl() avec lesquels l'utilisateur peut
s'amuser.
55..1166..22.. DDiiggiittaall EEtthheerrWWoorrkkss 33 ((DDEE220033,, DDEE220044,, DDEE220055))
Statut : Supporté, Nom du pilote : ewrk3
Ces cartes utilisent une puce propriétaire de DEC, par opposition à la
puce LANCE utilisée dans les cartes antérieures comme la DE200. Ces
cartes peuvent fonctionner en mémoire partagée ou en E/S programmées,
bien que vous ayez un gain de performance de 50 % en utilisant le mode
PIO (E/S programmées). La taille de la mémoire partagée peut être
réglée à 2 Ko, 32 Ko, ou 64 Ko, mais seules les valeurs 2 et 32 ont
été testées avec ce pilote. David dit que les performances sont
virtuellement les mêmes entre le mode 2 Ko et le mode 32 Ko. Plus
d'informations (y compris l'utilisation du pilote comme module
chargeable) figurent en tête du fichier source du pilote, ewrk3.c,
ainsi que dans le fichier README.ewrk3. Ces deux fichiers se trouvent
dans la distribution standard du noyau. Ce pilote supporte les CPU
alpha tout comme le depca.c.
Le pilote standard a un certain nombre d'appels ioctl() intéressants
qui peuvent être utilisés pour lire ou effacer les statistiques sur
les paquets, lire/écrire l'EEPROM, changer l'adresse matérielle, et
d'autres choses du même genre. Les bidouilleurs pourront lire le code
source pour plus d'information à ce sujet.
David a aussi écrit un utilitaire de configuration pour cette carte
(outre les lignes du programme DOS NICSETUP.EXE) ainsi que d'autres
outils. Vous pouvez les trouver sur la majorité des sites Linux dans
le répertoire /pub/Linux/system/Network/management -- cherchez un
fichier ewrk3tools-X.XX.tar.gz.
(NDT : Le lecteur français aura bien entendu tout intérêt à utiliser
un site miroir, plus rapide. Par exemple :
ftp://ftp.lip6.fr/pub/linux/sunsite/system/Network/management)
55..1166..33.. DDEE442255 EEIISSAA,, DDEE443344,, DDEE443355,, DDEE550000
Statut : Supporté, Nom du pilote : de4x5, tulip
Ces cartes sont basées sur la puce 21040 mentionnée plus bas. La
DE500 utilise les puces 21140 pour fournir des connexions Ethernet
10/100Mb/s. Lisez la section sur la 21040 ci-dessous pour plus
d'informations. Il existe aussi quelques option de compilation qui
permettent aux cartes non conçues par DEC de fonctionner avec ce
pilote. Jetez un coup d'oeil à README.de4x5 pour les détails.
Toutes les cartes Digital réaliseront la détection automatique du
média (à l'exception, temporaire, de la DE500 à cause d'un problème de
brevet).
Ce pilote est aussi prêt à fonctionner avec les processeurs Alpha et
accepte d'être chargé comme module. Les utilisateurs peuvent accéder
aux fonctionnalités internes du pilotes par des appels ioctl() -- voir
l'outil ewrk3 et les sources de4x5.c pour des informations sur la
façon de procéder.
55..1166..44.. DDEECC 2211004400,, 2211004411,, 22111144xx,, TTuulliipp
Statut : Supporté, Nom du pilote : de4x5, tulip
La 21040 de DEC est une solution Ethernet en une seule puce à contrôle
proposée par Digital, similaire à la PCnet d'AMD. La 21040 est
spécifiquement conçue pour l'architecture à bus PCI. Les nouvelles
cartes PCI EtherPower de SMC l'utilisent.
Vous avez le choix entre _d_e_u_x pilotes pour les cartes basées sur cette
puce. Vous pouvez utiliser le pilote de la DE425 dont nous avons parlé
plus haut, et le pilote générique `tulip' pour 21040.
AAtttteennttiioonn :: Même si votre carte est basée sur cette puce, _l_e_s _p_i_l_o_t_e_s
_p_e_u_v_e_n_t _n_e _p_a_s _f_o_n_c_t_i_o_n_n_e_r _p_o_u_r _v_o_u_s. David C. Davies écrit : ``Il n'y
aucune garantie que SOIT tulip.c SOIT de4x5.c feront fonctionner une
autre carte basée sur le DC2114x que celles pour lesquelles ils ont
été écrit. POURQUOI ?? demandez-vous. Parce qu'il existe un registre,
le Registre multi-usages (General Purpose Register, CSR12) qui, primo,
dans la DC21140A est programmable par chaque fabricant et ils le font
tous d'une façon différente, et, secundo, dans la DC21142/3 est
maintenant un registre de contrôle SIA (façon DC21041). La seule
petite lueur d'espoir est que nous puissions décoder la SROM pour
aider à la configuration du pilote. Et encore, ce n'est pas une
solution garantie puisque chez certains constructeurs (par exemple la
carte 9332 de SMC) on ne suit pas le format de programmation SROM
recommandé par Digital Semiconductor.''
En termes non-techniques, cela signifie que si vous n'êtes pas sûr(e)
qu'une carte inconnue avec une puce DC2114x fonctionnera avec le(s)
pilote(s) Linux, alors vous devez vous assurer que vous pourrez rendre
la carte à votre revendeur _a_v_a_n_t de l'avoir payée.
La puce 21041 mise à jour, se trouve aussi à la place de la 21040 sur
la plupart des cartes récentes EtherPower de SMC. La 21140 est
destinée au support du 100Base-? et fonctionne avec les pilotes Linux
de la puce 21040. Pour utiliser le pilote de4x5 de David avec des
cartes non conçues par DEC, lisez le fichier README.de4x5 pour les
détails.
Donald a utilisé des cartes EtherPower-10/100 de SMC pour développer
le pilote `tulip'. Notez que le pilote qui se trouve dans
l'arborescence du noyau à l'heure actuelle n'est pas la version la
plus à jour. Si vous avez des problèmes avec ce pilote, vous devriez
récupérer la dernière version sur le site FTP/WWW de Donald.
Pilote Tulip
L'URL ci-dessus contient aussi une liste (non exhaustive) de
différents cartes/constructeurs qui utilisent la puce 21040.
Notez également que le pilote tulip est encore considéré comme un
pilote _a_l_p_h_a (voir ``Pilotes alpha'') actuellement, et qu'il doit donc
être traité comme tel. Pour l'utiliser, vous devrez éditer
arch/i386/config.in et enlever les commentaires qui entourent la ligne
sur le support CONFIG_DEC_ELCP.
Donald a même créé une liste de diffusion pour les annonces sur le
support du pilote tulip, etc. Pour vous y abonner, il vous suffit de
taper :
echo subscribe | /bin/mail linux-tulip-request@cesdis.gsfc.nasa.gov
55..1177.. FFaarraalllloonn
Farallon vend des adaptateurs et des transceivers EtherWave. Ce
périphérique permet de mettre en série plusieurs périphériques
10baseT.
55..1177..11.. EEtthheerrwwaavvee ddee FFaarraalllloonn
Statut : Supporté, Nom du pilote : 3c509
On rapporte qu'il s'agit d'un clone de 3c509 qui inclut le transceiver
EtherWave. Des gens les ont utilisés avec succès sous Linux avec la
version actuelle du pilote 3c509. C'est bien trop cher pour une
utilisation généralisée, mais c'est une bonne option pour des cas
particuliers. Les prix chez Hublet démarrent à 125 dollars (environ
750 francs), et l'EtherWave ajoute entre 75 et 100 dollars (450 à 600
francs) au prix de la carte -- c'est bien si vous avez tiré un câble
trop court, mais pas si vous avez deux réseaux qui tombent trop
courts.
55..1188.. FFuujjiittssuu
Contrairement à de nombreux fabricants de puces, Fujitsu a aussi
fabriqué et vendu des cartes réseau basées sur les leurs.
55..1188..11.. FFuujjiittssuu FFMMVV--118811//118822//118833//118844
Statut : Supporté, Nom du pilote : fmv18x
Si on en croit le pilote, ces cartes sont faites dans la lignée de
l'implémentation de la Fujitsu MB86965, ce qui les rend très
similaires aux cartes Allied Telesis AT1700.
55..1199.. HHeewwlleetttt PPaacckkaarrdd
Les cartes 272** utilisent des E/S programmées, similaires aux cartes
NE*000, mais le port de transferts de données peut être `éteint' quand
vous n'y accédez pas, ce qui évite les problèmes avec les pilotes qui
réalisent une détection automatique.
Merci à Glenn Talbott d'avoir aidé à éclaircir la confusion qui
régnait dans cette section en ce qui concerne les numéros de version
des matériels HP.
55..1199..11.. 2277224455AA
Statut : Supporté, Nom du pilote : hp (+8390)
Carte 8 bits 10BaseT basée sur le 8390, non recommandée pour toutes
les raisons des 8 bits. Elle a été repensée il y a quelques années
pour augmenter l'intégration, ce qui a causé des changements dans les
durées d'initialisation, qui affectent les programmes de test, mais
pas les pilotes réseau. (La nouvelle carte n'est pas `prête' aussi
vite que l'ancienne après être entrée ou sortie du mode en boucle
locale (_l_o_o_p_b_a_c_k)).
Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter ``Utiliser les
pilotes Ethernet comme modules'' pour des informations spécifiques aux
modules.
55..1199..22.. HHPP EEtthheerrTTwwiisstt,, PPCC LLaann++ ((2277224477,, 2277225522AA))
Statut : Supporté, Nom du pilote : hp+ (+8390)
La HP PC Lan+ est différente de la carte HP PC Lan standard. Ce pilote
a été ajouté à la liste des pilotes du noyau standard pendant le cycle
de développement des version 1.1.x. Il peut être utilisé soit en mode
PIO (E/S programmées) comme une ne2000, ou en mode mémoire partagée
comme une wd8013.
La 47B est une carte 16 bits 10BaseT avec AUI à base de 8390, et la
52A est une carte 16 bits ThinLAN avec AUI à base de 8390. Ces cartes
comportent 32 Ko de mémoire vive embarquée pour le tampon de
réception/transmission des paquets au lieu des 16 Ko habituels, et
elles offrent toutes les deux une fonction de détection automatique du
connecteur réseau.
Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter ``Utiliser les
pilotes Ethernet comme modules'' pour des informations spécifiques aux
modules.
55..1199..33.. HHPP--JJ22440055AA
Statut : Supporté, Nom du pilote : lance
Ces cartes sont meilleur marché, et légèrement plus rapides que la
27247/27252A, mais il leur manque certaines fonctionnalités, comme la
connectivité AUI ou ThinLAN (10Base2), et un support pour PROM de
démarrage (boot PROM). C'est une conception plutôt générique de la
LANCE, mais une décision mineure de conception la rend incompatible
avec un pilote générique `NE2100'. Un support spécial pour cette carte
(y compris la lecture du canal DMA sur la carte) est inclus grâce aux
informations fournies par Glenn Talbott de chez HP.
Plus d'informations techniques sur les cartes basée sur la puce AMD se
trouvent dans ``Notes sur AMD...''.
55..1199..44.. CCaarrttee EEtthheerrnneett eemmbbaarrqquuééee ddee ll''HHPP--VVeeccttrraa
Statut : Supporté, Nom du pilote : lance
L'HP-Vectra possède une puce PCnet d'AMD sur sa carte-mère. La
sélection du DMA et des informations sur la numérotation de la puce se
trouvent dans ``AMD LANCE''.
Plus d'informations techniques sur les cartes basées sur la puce AMD
se trouvent dans ``Notes sur AMD...''.
55..1199..55.. CCaarrtteess HHPP 1100//110000 VVGG AAnnyy LLaann ((2277224488BB,, JJ22557733,, JJ22557777,, JJ22558855,,
JJ997700,, JJ997733))
Statut : Supporté, Nom du pilote : hp100
Ce pilote supporte aussi certains produits Complex VG. Comme ce pilote
supporte les cartes ISA, EISA et PCI, il se trouve dans la section des
cartes ISA quand vous faites un make config dans les sources du noyau.
55..1199..66.. HHPP NNeettSSeerrvveerr 1100//110000TTXX PPCCII ((DD55001133AA))
Statut : Supporté, Nom du pilote : eepro100
Apparemment, ces cartes sont juste des cartes Intel EtherExpress Pro
10/100B card dont on a changé la marque. Allez voir la section sur
Intel pour plus de détails.
55..2200.. IIBBMM // IInntteerrnnaattiioonnaall BBuussiinneessss MMaacchhiinneess
55..2200..11.. IIBBMM TThhiinnkkppaadd 330000
Statut : Supporté, Nom du pilote : znet
Celui-ci est compatible avec le Z-note de Zénith, basé sur une puce
Intel. Voir ``Z-note''.
Ce site est supposé avoir une base de données exhaustive de choses
utiles pour les versions récentes du Thinkpad. Je ne l'ai pas vérifié
moi-même.
Thinkpad-info
Pour ceux d'entre vous qui n'ont pas de navigateur WWW à portée de la
main, essayez peipa.essex.ac.uk:/pub/tp750/.
55..2200..22.. EEtthheerrnneett dd''IIBBMM IIBBMM CCrreeddiitt CCaarrdd AAddaappttoorr ffoorr EEtthheerrnneett -- AAddaappttaa
tteeuurr ``CCrreeddiitt CCaarrdd'' ppoouurr
Statut : Partiellement supporté, Nom du pilote : ? (distribué
séparément)
Des personnes utilisent aussi cette carte PCMCIA avec Linux. Comme
déjà noté, vous aurez besoin d'un jeu de puces PCMCIA supporté par
Linux sur votre portable, et vous devrez mettre à jour le support
PCMCIA dans le noyau standard.
Consultez ``Support PCMCIA'' dans ce document, et si vous le pouvez
jetez un coup d'oeil à :
La page PCMCIA de Donald
55..2200..33.. IIBBMM TTookkeenn RRiinngg
Statut : Partiellement supporté, Nom du pilote : ibmtr
Le support de Token Ring nécessite plus que la simple écriture d'un
pilote, il faut aussi écrire les routines de routage source pour Token
Ring. C'est le routage par la source qui sera le plus long à écrire.
Peter De Schrijver a passé du temps sur Token Ring récemment, et a
travaillé avec des cartes Token Ring ISA et MCA d'IBM.
Le code Token Ring actuel a été inclus dans les premiers noyaux des
séries 1.3.x.
Peter dit qu'il a été testé à l'origine avec une carte Token Ring MCA
16/4 Megabit, mais qu'il devrait fonctionner avec d'autres cartes
basées sur Tropic.
55..2211.. CCaarrtteess EEtthheerrnneett IICCLL
55..2211..11.. IICCLL EEtthheerrTTeeaamm 1166ii//3322
Statut : Supporté, Nom du pilote : eth16i
Mika Kuoppala (miku@pupu.elt.icl.fi) a écrit ce pilote, qui a été
inclus dans les premiers noyaux 1.3.4x. Cette carte utilise la puce
MB86965 de Fujitsu qui est aussi utilisée dans les cartes AT1700.
55..2222.. CCaarrtteess EEtthheerrnneett IInntteell
Note : les noms de certaines cartes Intel sont ambigus au possible et
prêtent à confusion . Si vous avez un doute, vérifiez le numéro sur la
puce principale de la carte i8xxxx, ou, pour les cartes PCI, utilisez
les informations disponibles dans le repertoire /proc et ensuite,
comparez-les aux numéros listés ici.
55..2222..11.. EEtthheerr EExxpprreessss
Statut : Supporté, Nom du pilote : eexpress
Cette carte utilise l'Intel i82586. Les premières versions de ce
pilote (dans les noyaux 1.2) étaient classées en cours de test
`alpha', parce qu'elles ne fonctionnaient pas correctement pour la
plupart des gens. Le pilote des versions 2.0 du noyau semble
fonctionner bien mieux pour ceux qui l'ont essayé. Toutefois, les
sources le donnent comme étant toujours expérimental, et pose pas mal
de probleme sur les machines rapides.
Les commentaires au début du fichier source donnent la liste de
certains des problèmes (et solutions) associés à ces cartes.Il a été
rapporté que la bidouille de ralentissement qui consiste à remplacer
tous les outb par des outb_p dans le pilote a permis d'éviter des
blocages pour au moins une personne.
55..2222..22.. EEtthheerr EExxpprreessss PPRROO//1100
Statut : Supporté, Nom du pilote : eepro
Bao Chau Ha a écrit un pilote pour ces cartes, qui a été inclus dans
les premiers noyaux 1.3.x. Il peut aussi fonctionner avec certains des
systèmes Ethernet intégrés de Compaq, basés sur la puce i82595.
55..2222..33.. EEtthheerr EExxpprreessss PPRROO//1100 PPCCII ((EEIISSAA))
Statut : Partiellement supporté, Nom du pilote : ? (distribué
séparement)
John Stalba (stalba@ultranet.com) a écrit un pilote pour la version
PCI. Ces cartes utilisent la puce d'interface PCI PLX9036 avec la puce
contrôleur-réseau i82596 d'Intel. Si votre carte comporte la i82557,
alors vous _n_'_a_v_e_z _p_a_s cette carte, mais au contraire la version dont
il est question ci-dessous, qui nécessite par conséquent le pilote
EEPro100 plutôt que celui-ci.
Vous pouvez obtenir le pilote `alpha' pour les cartes PCI PRO/10,
ainsi que les instructions pour l'utiliser, à :
Pilote EEPro10
Si vous avez la carte EISA, vous devrez certainement bidouiller un peu
le pilote pour prendre en compte les différents mécanismes de
détection (PCI ou EISA) qui sont utilisés dans chaque cas.
55..2222..44.. EEtthheerr EExxpprreessss PPRROO 1100//110000BB
Statut : Supporté, Nom du pilote : eepro100
Notez que ce pilote _n_e fonctionnera _p_a_s avec les cartes 100A qui sont
plus anciennes. Les numéros de puces que gère le pilote sont
i82557/i82558.
Pour les mises à jour du pilote et / ou des informations, consultez :
Page de l'EEPro-100B
Pour vous inscrire à la liste de diffusion relative à ce pilote, tapez
la commande suivante :
echo subscribe | /bin/mail linux-eepro100-request@ces
dis.gsfc.nasa.gov
Apparemment Donald a été obligé de signer un accord de confidentialité
qui établit qu'il pouvait en fait communiquer le code-source du
pilote ! Comment prendre une telle preuve de bêtise de la part
d'Intel ?
55..2233.. KKiinnggssttoonn
Kingston fait plusieurs cartes, incluant des cartes à base de NE2000+,
AMD PCnet, et DEC tulip. La majorité des cartes devrait marcher avec
leurs pilotes respectifs. Voyez Kingston Web Page
pour plus de détails.
Il paraît que la carte à base de KNE40 DEC 21041 tulip fonctionne très
bien avec le pilote tulip générique
55..2244.. LLiinnkkSSyyss
LinkSys produit tout un tas de clones de NE2000, certains étant de
simple cartes ISA, d'autres des cartes ISA `plug and play' et même des
clones de NE2000 PCI basés sur l'un des jeux de puces NE2000-PCI
supportés. Il existe tout simplement trop de modèles pour pouvoir tous
les citer ici.
LinkSys aime bien Linux, ils ont une page WWW de support spécifique,
et Linux est imprimé sur les boîtes de certains de leurs produits.
Consultez :
http://www.linksys.com/support/solution/nos/linux.htm
55..2244..11.. CCaarrtteess LLiinnkkSSyyss EEtthheerrffaasstt 1100//110000..
Statut : Supporté, Nom du pilote : tulip
Notez que ces cartes ont connu quelques `révisions' (c-à-d différents
chipsets utilisés) mais toutes avaient le même nom. La première
utilisait le chipset DEC. La seconde, le contrôleur réseau Lite-On
PNIC 82c168 PCI, et le support pour celle-ci a été inclus dans le
pilote tulip standard (depuis la version 0.83). Plus d'informations
sur PNIC à :
http://cesdis.gsfc.nasa.gov/linux/drivers/pnic.html
Pour plus d'informations sur les différentes versions de ces cartes,
référez vous au site de LinkSys mentionné ci-dessus.
55..2244..22.. LLiinnkkSSyyss PPoocckkeett EEtthheerrnneett AAddaapptteerr PPlluuss ((PPEEAAEEPPPP))
Statut : Supporté, Nom du pilote : de620
On suppose qu'il s'agit d'un clone du DE-620, et il paraît que cela
fonctionne bien avec ce pilote. Consultez ``DE-620'' pour plus
d'information.
55..2244..33.. AAddaappttaatteeuurr LLiinnkkSSyyss PPCCMMCCIIAA
Statut : Supporté, Nom du pilote : de650 (?)
On suppose qu'il s'agit d'un DE-650 "recarrossé" avec une étiquette
différente. Consultez ``DE-650'' pour plus d'information.
55..2255.. MMiiccrrooddyynnee
55..2255..11.. MMiiccrrooddyynnee EExxooss 220055TT
Statut : Partiellement supporté, Nom du pilote : ?
Une autre carte basée sur l'i82586. Dirk Niggemann dirk-n@dircon.co.uk
a écrit un pilote qu'il classe dans la catégorie ``pré-alpha'' et dont
il aimerait bien que les gens le testent. Ecrivez-lui pour plus de
détails.
55..2266.. MMyylleexx
Mylex peut être joint aux numéros suivants, au cas où quelqu'un aurait
envie de leur demander quelque chose.
MYLEX CORPORATION, Fremont Ventes: 800-77-MYLEX, (510) 796-6100 FAX:
(510) 745-8016.
Ils ont aussi un site WWW: Site WWW de Mylex
55..2266..11.. MMyylleexx LLNNEE339900AA,, LLNNEE339900BB
Statut : supporté, Nom du pilote : lne390 (+8390)
Ces cartes EISA plutôt anciennes utilisent une implémentation à
mémoire partagée similaire aux wd80x3. Un pilote pour ces cartes est
disponible dans les noyaux 2.2. Assurez vous de bien spécifier une
zone de mémoire inférieure a 1 Mo ou alors, supérieure à la taille
totale de la RAM de votre ordinateur.
55..2266..22.. MMyylleexx LLNNPP110011
Statut : Supporté, Nom du pilote : de4x5, tulip
Il s'agit d'une carte PCI basée sur la puce 21040 de DEC. On peut
sélectionner les ports 10BaseT, 10Base2 ou 10Base5 (AUI). La carte
LNP101 a été testée et elle fonctionne avec le pilote 21040 générique.
Consultez la section sur la puce 21040 (``DEC 21040'') pour
plus d'information.
55..2266..33.. MMyylleexx LLNNPP110044
Statut : Partiellement supporté, Nom du pilote : de4x5, tulip
La LNP104 utilise la puce 21050 de DEC pour fournir _q_u_a_t_r_e ports
10BaseT indépendants. Elle devrait fonctionner avec les pilotes 21040
récents qui savent partager les IRQ, mais personne à ce jour n'a
indiqué l'avoir essayée (autant que je sache).
55..2277.. EEtthheerrnneett cchheezz NNoovveellll :: NNEExxxxxxxx eett lleess cclloonneess aassssoocciiééss..
Le préfixe `NE' vient de `Novell Ethernet'. Novell a suivi la
conception la moins chère décrite dans les documentations de National
Semiconductor, et a vendu les droits de fabrication à Eagle (s'en est
débarrassé ?), juste pour pouvoir mettre sur le marché des cartes
Ethernet à prix raisonnables. (La maintenant omniprésente carte
NE2000).
55..2277..11.. NNEE11000000,, NNEE22000000
Statut : Supporté, Nom du pilote : ne (+8390)
``NE2000'' est maintenant un nom générique pour une conception
minimaliste basée sur la puce 8390 de National Semiconductor. Ces
cartes utilisent des E/S programmées plutôt que la mémoire partagée,
ce qui amène une installation plus facile mais des performances
légèrement moins bonnes et quelques problèmes. Certains des problèmes
qui peuvent survenir avec les cartes NE2000 sont cités à ``Problèmes
avec...''.
Quelques clones de NE2000 utilisent la puce `AT/LANTic' 83905 de
National Semiconductor, qui offre un mode à mémoire partagée similaire
à celui de la wd8013 et une configuration logicielle via une EEPROM.
Le mode à mémoire partagée engendrera moins de charge processeur (et
sera donc plus efficace) que le mode à E/S programmées.
En général ce n'est pas une bonne idée de placer un clone de NE2000 à
l'adresse d'E/S 0x300 parce que pratiquement _t_o_u_s les pilotes de
périphériques testent cette adresse au démarrage. Certains clones de
NE2000 bas de gamme acceptent difficilement d'être titillés au mauvais
endroit, et ils répondront en bloquant votre machine. L'adresse 0x320
est également une mauvaise idée car les pilotes SCSI testent 0x330.
Donald a écrit un programme de diagnostic pour NE2000 (ne2k.c) qui
fonctionne pour toutes les cartes NE2000. Consultez ``Programmes de
diagnostic'' pour plus d'information.
Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter ``Utiliser les
pilotes Ethernet comme modules'' pour des informations spécifiques aux
modules.
55..2277..22.. NNEE22000000--PPCCII ((RReeaallTTeekk//WWiinnbboonndd//CCoommppeexx))
Statut : Supporté, Nom du pilote : ne, ne2k-pci (+8390)
Oui, croyez-le ou non, des gens fabriquent des cartes PCI basées sur
la vieille interface de la NE2000, conçue il y a plus de dix ans.
Actuellement, presque toutes ces cartes sont basées sur la puce 8029
de RealTek ou la puce 89c940 de Winbond. Les cartes Compex, KTI, VIA
et Netvin utilisent apparemment aussi ces puces, mais possèdent un une
signature PCI différente.
Le dernier noyau Linux 2.0 est capable de détecter automatiquement
toutes ces cartes et de les utiliser. (Si vous utilisez un noyau
version 2.0.34 ou plus ancien, vous devriez le mettre à jour pour vous
assurer que votre carte sera détectée). Il y a dorénavant deux pilotes
que vous pouvez utiliser, le pilote ISA/PCI originel ne.c et le pilote
PCI plus récent ne2k-pci.c.
Pour utiliser le pilote original, vous devez répondre `Y' à l'option
`Other ISA cards' (`Autres cartes ISA ?') lorsque vous exécutez make
config car en fait vous utilisez le même pilote NE2000 que celui des
cartes ISA. (Cela devrait accréditer l'idée que ces cartes ne sont en
aucune façon aussi intelligentes que, disons, une carte à base de
PCNet-PCI ou DEC 21040...).
Le récent pilote PCI diffère de la version ISA/PCI par le fait que le
support pour les cartes 8 bits NE1000 a été supprimé et que les
données transitent de/vers la carte en de plus gros paquets, sans les
pauses que les vieilles ISA NE2000 nécessitaient pour opérer de façon
fiable. Il en résulte un pilote légèrement plus petit, et légèrement
plus efficace, mais ne vous emballez pas trop vite, les différences ne
seront pas éclatantes en utilisation normale. (Si vous voulez beaucoup
d'efficacité avec peu de charge CPU, alors une NE2000 PCI est un très
mauvais choix). Des mises à jour ainsi que plus d'informations sont
disponibles à :
http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html
Si vous avez une carte PCI NE2000 qui _n_'_e_s_t _p_a_s détectée par le
dernier pilote, veuillez contacter le responsable du pilote NE2000 qui
est indiqué dans /usr/src/linux/MAINTAINERS, en lui joignant les
sorties d'un cat /proc/pci et de dmesg afin que le support pour votre
carte puisse être ajouté dans le pilote.
Notez aussi que pas mal de fabricants de cartes sont connus pour
mettre un autocollant `Compatible NE2000' sur les boîtes de leurs
produits même si c'est totalement différent (ex : PCNet-PCI ou RealTek
8139). En cas de doute, regardez la puce principale et comparez avec
ce qui est écrit ici.
55..2277..33.. NNEE--1100//110000
Statut : Non supporté
Il s'agit de cartes ISA 100Mb/s basées sur les puces DP83800 et
DP83840 de National Semiconductor. Il n'y a actuellement aucun support
logiciel, et personne n'a indiqué qu'il travaillait à un pilote.
Apparemment, la documentation de ces puces n'est pas disponible, à
part un bien pauvre PDF insuffisant pour créer un pilote.
55..2277..44.. NNEE11550000,, NNEE22110000
Statut : Supporté, Nom du pilote : lance
Ces cartes utilisent la puce 7990 LANCE originelle d'AMD et sont
supportées grâce au pilote Linux lance. Les clones de NE2100 plus
récents reposent sur la puce mise à jour PCnet/ISA d'AMD.
Des versions plus anciennes du pilote lance avaient des problèmes pour
obtenir la ligne d'IRQ via l'affectation automatique d'IRQ des
cartes 7990 originelles de Novell/Eagle. Heureusement cela est
maintenant résolu. Si ce n'est pas le cas, spécifiez l'IRQ via LILO,
et indiquez-nous si cela pose encore des problèmes.
La sélection du DMA et des informations sur la numérotation de la puce
se trouvent dans ``AMD LANCE''.
Des informations plus techniques sur les cartes Ethernet basées sur
l'AMD LANCE sont disponibles dans ``Notes sur l'AMD...''.
55..2277..55.. NNEE//22 MMCCAA
Statut : Partiellement supporté, Nom du pilote : ne2
Quelques cartes NE2000 MCA ont été fabriquées par diverses sociétés.
Ce pilote, disponible dans les noyaux 2.2 détectera les cartes
suivantes : Novell Ethernet Adapter NE/2, Compex ENET-16 MC/P, et
l'Ethernet Adapter AE/2 de chez Arco.
55..2277..66.. NNEE33220000
Statut : Non supporté
Cette vieille carte EISA utilise un 80186 à 8 MHz en compagnie d'un
i82586. Personne ne travaille à un support et de toute façon, il n'y a
ni documentation sur la carte, ni de vraie demande pour un pilote.
55..2277..77.. NNEE33221100
Statut : Supporté, Nom du pilote : ne3210 (+8390)
Cette carte EISA est complètement différente de la NE3200, car elle
utilise une puce National Semiconductor 8390. Le pilote se trouve dans
les noyaux 2.2. Assurez vous d'avoir réglé la mémoire partagée en
dessous de 1 Mo, ou au dessus de la plus grande adresse de mémoire
physique qui est installée sur la machine.
55..2277..88.. NNEE55550000
Statut : Supporté, Nom du pilote : pcnet32
Ce sont juste des cartes basées sur la puce PCnet-PCI ('970A) d'AMD.
Plus d'informations sur les cartes à base de LANCE/PCnet se trouvent
dans ``AMD LANCE''.
55..2288.. PPrrootteeoonn
55..2288..11.. PPrrootteeoonn PP11337700--EEAA
Statut : Supporté, Nom du pilote : ne (+8390)
Il s'agit apparemment d'un clone de NE2000, et il fonctionne
correctement avec Linux.
55..2288..22.. PPrrootteeoonn PP11667700--EEAA
Statut : Supporté, Nom du pilote : de4x5, tulip
Encore une autre carte PCI basée sur la puce Tulip de DEC. On rapporte
qu'elle fonctionne correctement avec Linux.
Consultez la section sur la puce 21040 (``DEC 21040'') pour
plus d'informations sur le pilote.
55..2299.. PPuurree DDaattaa
55..2299..11.. PPDDUUCC88002288,, PPDDII88002233
Statut : Supporté, Nom du pilote : wd (+8390)
Les séries PDUC8028 et PDI8023 de cartes PureData semblent fonctionner
correctement, grâce au code de détection spécial qu'a fourni Mike
Jagdis jaggy@purplet.demon.co.uk. Le support pour ces cartes est
intégré dans le pilote Western Digital (WD).
55..3300.. RRaaccaall--IInntteerrllaann
On peut joindre Racal-Interlan via le WWW à www.interlan.com. Je crois
qu'ils étaient connus sous le nom de MiCom-Interlan à une époque.
55..3300..11.. EESS33221100
Statut : Partiellement supporté, Nom du pilote : es3210
Il s'agit d'une carte EISA à mémoire partagée basée sur le 8390. Un
pilote expérimental pour les versions 2.2 du noyau est disponible. On
indique qu'il fonctionne correctement, mais la détection de l'IRQ EISA
et de l'adresse de mémoire partagée paraît ne pas fonctionner avec (au
moins) les premières révisions de ces cartes. (Ce problème n'est pas
spécifique à Linux d'ailleurs). Dans ce cas, vous devez les fournir au
pilote ; par exemple, pour une carte utilisant l'IRQ 5 et la mémoire
partagée en 0xd0000. Avec un pilote modulaire, ajoutez options es3210
irq=5 mem=0xd0000 à votre fichier /etc/conf.modules. Si le pilote est
intégré au noyau, donnez lui ether=5,0,0xd0000,eth0 au boot.
L'adresse de base d'E/S est détectée automatiquement et une valeur de
zéro doit donc être utilisée.
55..3300..22.. NNII55001100
Statut : Partiellement supporté, Nom du pilote : ni5110
Le pilote pour ces vieilles cartes 8 bits MiCom-Interlan était
disponible séparément, mais on le trouve maintenant en tant que pilote
expérimental dans les noyaux 2.2.
55..3300..33.. NNII55221100
Statut : Partiellement supporté, Nom du pilote : ni52
Cette carte utilise aussi les puces Intel et Michael Hipp a écrit un
pilote pour elle. Il est inclus dans le noyau standard en tant que
pilote en phase `alpha'. Michael aimerait recevoir des informations
des utilisateurs qui possèdent cette carte. Consultez ``Les pilotes
`Alpha''' pour des informations importantes sur l'utilisation des
pilotes Ethernet en phase de test `alpha' avec Linux.
55..3300..44.. NNII66551100 ((nnoott EEBB))
Statut : Partiellement supporté, Nom du pilote : ni65
Il existe également un pilote pour la NI6510 (basée sur la puce
LANCE), et il a aussi été écrit par Michael Hipp. Là aussi, il s'agit
d'un pilote `alpha'. Pour une raison inconnue, cette carte n'est pas
compatible avec le pilote LANCE générique. Consultez ``Les pilotes
`Alpha''' pour des informations importantes sur l'utilisation des
pilotes Ethernet en phase de test `alpha' avec Linux.
55..3300..55.. EEtthheerrBBllaasstteerr ((aakkaa NNII66551100EEBB))
Statut : Supporté, Nom du pilote : lance
Depuis le noyau 1.3.23, le pilote LANCE générique comprend un test
supplémentaire pour la signature 0x52, 0x44 spécifique de la NI6510EB.
D'autres ont indiqué que cette signature n'est pas la même pour toutes
les cartes NI6510EB, ce qui peut amener le pilote lance à ne pas
détecter votre carte. Si cela vous arrive, vous pouvez changer la
procédure de détection (aux environs de la ligne 322 de lance.c) pour
qu'elle printk() (affiche) quelles sont les valeurs pour votre carte,
puis utiliser ces valeurs à la place du 0x52, 0x44 donné par défaut.
Les cartes devraient probablement être placées en mode `hautes
performances' et non pas dans le mode compatible-NI6510 lorsque l'on
utilise le pilote lance.
55..3311.. RReeaallTTeekk
55..3311..11.. RReeaallTTeekk RRTTLL88000022//88001122 ((AATT--LLaann--TTeecc)) PPoocckkeett aaddaappttoorr
Statut : Supporté, Nom du pilote : atp
Il s'agit d'un adaptateur de poche générique, peu cher, développé en
OEM, vendu par AT-Lan-Tec, et (sans doute) par un certain nombre
d'autres fournisseurs. Un pilote est inclus dans le noyau standard.
Une quantité substantielle d'information est contenue dans le fichier
source du pilote, atp.c.
Notez que dans les premières versions de ce pilote, le nom de
périphérique que vous passiez à ifconfig _n_'_é_t_a_i_t _p_a_s eth0 mais atp0.
55..3311..22.. RReeaallTTeekk 88000099
Statut : Supporté, Nom du pilote : ne (+8390)
C'est un clone de NE2000 ISA, et il fonctionne très bien avec le
pilote NE2000 Linux. Le programme rset8009.exe peut être obtenu depuis
le site WWW de RealTek's http://www.realtek.com.tw - ou via ftp depuis
le même site.
55..3311..33.. RReeaallTTeekk 88001199
Statut : Support, Nom du pilote : ne (+8390)
Celle-ci est la version "Plug and Pray" de la précédente. Utilisez
l'utilitaire DOS pour désactiver le PnP et activez la configuration
logicielle. Attribuez une IRQ et des adresses d'E/S raisonnables, et
tout devrait aller pour le mieux. (Si vous utilisez les modules,
n'oubliez pas d'ajouter une option io=0xNNN au fichier
/etc/conf.modules. Le programme rset8009.exe peut être obtenu depuis
le site WWW de RealTek's http://www.realtek.com.tw -- ou via ftp
depuis le même site.
55..3311..44.. RReeaallTTeekk 88002299
Statut : Supporté, Nom du pilote : ne2k-pci
Il s'agit d'une implémentation PCI sur une seule puce d'un clone de
NE2000. Différents fournisseurs vendent maintenant des cartes
comportant cette puce. Consultez ``NE2000 PCI'' pour des informations
sur l'utilisation d'une de ces cartes. Notez qu'il s'agit d'un design
de plus de dix ans collé sur un bus PCI, et ce ne sera pas vraiment
meilleur que pour le pendant ISA.
55..3311..55.. RReeaallTTeekk 88112299//88113399
Statut : Partiellement supporté, Nom du pilote : rtl8139
Encore une autre solution Ethernet PCI sur une puce unique de RealTek.
Un pilote pour les cartes basées sur elle devrait être inclus dans la
version 2.0.34 du noyau Linux. Pour plus d'informations, consultez :
http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html
55..3322.. SSaaggeerr
55..3322..11.. SSaaggeerr NNPP994433
Statut : Partiellement supporté, Nom du pilote : 3c501
Il s'agit juste d'un clone de 3c501, avec un préfixe de S.A. PROM
différent. Je pense qu'elle est aussi cliniquement morte que la vraie
3c501, en passant. Le pilote vérifie la présence de l'identificateur
de la NP943 et la traite comme une 3c501 par la suite.
Consultez ``3Com 3c501'' pour toutes les bonnes raisons qui font que
vous ne devriez vraiment pas avoir ne serait-ce que l'intention
d'utiliser une de ces cartes.
55..3333.. SScchhnneeiiddeerr && KKoocchh
55..3333..11.. SSKK GG1166
Statut : Supporté, Nom du pilote : sk_g16
Ce pilote, écrit par PJD Weichmann et SWS Bern, a été inclus dans les
noyaux des versions 1.1. Il se trouve que la SK G16 est semblable à la
NI6510, en ce sens qu'elle est basée sur la première édition de la
puce LANCE (la 7990). Une fois de plus, cette carte semble ne pas
fonctionner avec le pilote LANCE générique.
55..3344.. SSEEEEQQ
55..3344..11.. SSEEEEQQ 88000055
Statut : Supporté, Nom du pilote : seeq8005
Ce pilote qui est l'oeuvre de Hamish Coleman a été inclus dans les
premiers noyaux 1.3.x. Peu d'informations sur la carte figurent dans
le pilote, et donc pas grand chose à en dire ici. Si vous avez une
question, vous aurez probablement tout intérêt à envoyer un message à
hamish@zot.apana.org.au.
55..3355.. SSMMCC ((SSttaannddaarrdd MMiiccrroossyysstteemmss CCoorrpp..))
La division Ethernet de Western Digital a été achetée par SMC il y a
bien longtemps lorsque les wd8003 et wd8013 étais les produits phares.
Depuis lors, SMC a continué de faire des cartes ISA basées sur le 8390
(Elite16, Ultra, EtherZ) et a aussi étoffé son catalogue de quelques
produits PCI.
Voici comment contacter SMC :
SMC / Standard Microsystems Corp., 80 Arkay Drive, Hauppage, New York,
11788, USA. Support technique par téléphone : 800-992-4762 (USA) ou
800-433-5345 (Canada) ou 516-435-6250 (Autres pays). Demandes de
documentation : 800-SMC-4-YOU (USA) ou 800-833-4-SMC (Canada) ou
516-435-6255 (Autres pays). Support technique par E-mail :
techsupt@ccmail.west.smc.com. Site FTP : ftp.smc.com. Site Web :
SMC .
55..3355..11.. WWDD88000033,, SSMMCC EElliittee
Statut : Supporté, Nom du pilote : wd (+8390)
Ce sont les versions 8 bits de la carte. La 8003 8 bits est légèrement
moins chère, mais ne vaut ces économies que pour une utilisation
légère. Notez que certaines des cartes sans EEPROM (des clones avec
des cavaliers, ou de vieilles _v_i_e_i_l_l_e_s vieilles cartes wd8003) n'ont
aucun moyen d'indiquer la ligne d'IRQ qu'elles utilisent. Dans ce cas,
l'affectation automatique d'IRQ est utilisée, et si cela échoue, le
pilote utilise l'IRQ 5 sans rien dire. Vous pouvez obtenir les
disquettes d'installation/de paramétrage de SMC sur leur site FTP.
Notez que certains des plus récents programmes 'SuperDisk' de SMC ne
réussiront pas à détecter les vraies vieilles cartes sans EEPROM. Le
fichier SMCDSK46.EXE semble être un bon choix passe-partout. Notez
aussi que les réglages des cavaliers pour toutes leurs cartes se
trouvent dans un fichier texte dans l'archive sus-mentionnée. La
dernière (meilleure ?) version peut être obtenue depuis ftp.smc.com.
Comme ces cartes sont fondamentalement les mêmes que leurs homologues
16 bits (WD8013 / SMC Elite16), vous devriez consulter la section
suivante pour en savoir plus.
55..3355..22.. WWDD88001133,, SSMMCC EElliittee1166
Statut : Supporté, Nom du pilote : wd (+8390)
Au fil des ans, la conception a ajouté plus de registres et une
EEPROM. (Les premières cartes wd8003 sont apparues il y a environ dix
ans !) Les clones portent en général un nom en `8013', et se passent
habituellement d'EEPROM au profit de cavaliers. Les cartes SMC dernier
modèle auront la puce SMC 83c690 au lieu de la DP8390 de National
Semiconductor que l'on trouvait sur les premières. Les cartes conçues
pour utiliser la mémoire partagée sont un peu plus rapides que celles
qui reposent sur les E/S programmées (PIO), spécialement avec des
paquets de taille importante. Plus important, du point de vue du
pilote, cela permet d'éviter quelques bogues du mode PIO du 8390, de
garantir un accès sûr au tampon de paquets sur un système multi-
thread, et de ne plus avoir un registre de données PIO qui bloque
votre machine pendant les procédures de détection après un redémarrage
à chaud.
Les cartes sans EEPROM qui ne peuvent pas lire l'IRQ sélectionnée
essaieront l'affectation automatique d'IRQ (auto-IRQ), et si cela
échoue, affecteront sans rien dire l'IRQ 10. (Les versions 8 bits
affecteront l'IRQ 5).
Pour les cartes qui n'ont pas une quantité de mémoire embarquée
standard, la taille de la mémoire peut être spécifiée au moment du
démarrage (ou dans le fichier /etc/conf.modules si vous utilisez les
modules). La taille mémoire standard est de 8 Ko pour une carte 8 bits
et de 16 Ko pour une carte 16 bits. Par exemple, les antédiluviennes
WD8003EBT peuvent être configurées par cavaliers pour utiliser 32 Ko.
Pour avoir un accès complet à cette mémoire, vous aurez recours à
quelque chose comme (pour une adresse d'E/S de base de 0x280 et
l'IRQ 9) :
______________________________________________________________________
LILO: linux ether=9,0x280,0xd0000,0xd8000,eth0
______________________________________________________________________
Consultez aussi ``Les problèmes des 8013'' pour certains des problèmes
les plus classiques et les questions qui reviennent le plus
fréquemment.
Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter ``Utiliser les
pilotes Ethernet comme modules'' pour des informations spécifiques aux
modules.
55..3355..33.. SSMMCC EElliittee UUllttrraa
Statut : Supporté, Nom du pilote : smc-ultra (+8390)
Cette carte Ethernet est basée sur la 83c790 de SMC, qui comporte
quelques nouveautés par rapport à la 83c690. Bien qu'elle possède un
mode similaire aux anciennes cartes Ethernet SMC, elle n'est pas
entièrement compatible avec les vieux pilotes WD80*3. Néanmoins, dans
ce mode le pilote partage la plupart de son code avec les autres
pilotes 8390, tout en étant légèrement plus rapide qu'un clone de
WD8013.
Puisqu'une partie de l'Ultra _r_e_s_s_e_m_b_l_e à une 8013, sa procédure de
détection est censée en trouver une avant que celle de la wd8013 n'ait
une chance de l'identifier par erreur.
Donald a mentionné qu'il est possible d'écrire un pilote séparé pour
le mode `Altego' de l'Ultra, qui permet d'enchaîner les transmissions
au coût d'une utilisation inefficace des tampons de réception, mais
cela n'arrivera probablement jamais.
Utilisateurs d'adaptateurs SCSI dotés du contrôle de bus, prenez
note : dans le manuel qui accompagne Interactive UNIX, il est
mentionné qu'une bogue dans la SMC Ultra cause des corruptions de
données avec des disques SCSI utilisés derrière un adaptateur
aha-154X. Cela touche certainement aussi des cartes compatibles
aha-154X, comme les BusLogic, et les adaptateurs SCSI AMI-FastDisk.
SMC a reconnu que le problème se produit avec Interactive, et des
anciens pilotes Windows NT. Il s'agit d'un conflit matériel avec des
révisions antérieures de la carte qui peut être contourné dans la
conception du pilote. Le pilote actuel de l'Ultra vous protège contre
ce problème en n'activant la mémoire partagée que lors des transferts
de données avec la carte. Assurez-vous que votre version de noyau soit
au moins la 1.1.84, ou que celle du pilote indiquée au démarrage est
au moins smc-ultra.c:v1.12, sinon vous êtes vulnérable à ce problème.
Si vous avez l'intention d'utiliser ce pilote sous la forme d'un
module chargeable, vous devriez probablement consulter ``Utiliser les
pilotes Ethernet comme modules'' pour des informations spécifiques aux
modules.
55..3355..44.. SSMMCC EElliittee UUllttrraa3322 EEIISSAA
Statut : Supporté, Nom du pilote : smc-ultra32 (+8390)
Cette carte EISA partage nombre de points communs avec son pendant
ISA. Un pilote qui fonctionne (et qui est stable) est inclus dans les
versions 2.0 et 2.2 du noyau. Les remerciements vont à Leonard Zubkoff
pour l'achat de quelques unes de ces cartes afin que le support Linux
pour celles-ci puisse être réalisé.
55..3355..55.. SSMMCC EEtthheerrEEZZ ((88441166))
Statut : Supporté, Nom du pilote : smc-ultra (+8390)
Cette carte utilise la puce 83c795 de SMC et supporte la spécification
Plug 'n Play. Elle comporte aussi un mode compatible _S_M_C _U_l_t_r_a qui lui
permet d'être utilisée avec le pilote Ultra de Linux. Pour de
meilleurs résultats, utilisez le programme provenant de chez SMC et
permettant de désactiver le PnP et de la configurer pour le mode à
mémoire partagée. Consultez les informations ci-dessus pour des notes
sur le pilote Ultra.
Pour les noyaux 1.2, la carte devait être configurée pour opérer en
mémoire partagée. Néanmoins, les noyaux 2.0 peuvent utiliser la carte
dans ce mode ou en E/S programmées. Celui-là sera légèrement plus
rapide, et requerra moins de ressources processeur, par ailleurs.
55..3355..66.. SSMMCC EEtthheerrPPoowweerr PPCCII ((88443322))
Statut : Supporté, Nom du pilote : de4x5, tulip
NB : L'EtherPower II est une carte totalement différente. Voir plus
bas !
Ces cartes sont une implémentation de base de la puce 21040 de DEC,
c'est-à-dire une grosse puce et quelques transceivers. Donald a
utilisé une de ces cartes pour son développement du pilote générique
21040 (aussi connu sous le nom de tulip.c). Merci de nouveau à Duke
Kamstra, d'avoir fourni une carte sur laquelle réaliser le
développement.
Certaines des dernières révisions de cette carte utilisent la récente
puce 21041 de DEC, ce qui peut causer des problèmes avec des versions
anciennes du pilote tulip. Si vous avez des problèmes, assurez-vous
d'utiliser la dernière version du pilote, qui peut ne pas encore se
trouver dans l'arborescence actuelle du noyau.
Consultez ``DEC 21040'' pour plus de détails sur l'utilisation d'une
de ces cartes, et l'état d'avancement actuel du pilote.
Apparemment, la toute dernière révision de la carte, l'EtherPower-II,
utilise la puce 9432. Il n'est pas certain pour l'instant que celle-ci
fonctionnera avec le pilote actuel. Comme d'habitude, si vous n'êtes
pas sûr, vérifiez que vous pourrez rendre la carte si elle ne
fonctionne pas avec le pilote Linux _a_v_a_n_t de payer.
55..3355..77.. SSMMCC EEtthheerrPPoowweerr IIII PPCCII ((99443322))
Statut : Partiellement supporté, Nom du pilote : epic100
Ces cartes, basées sur la puce 83c170 de SMC, sont complètement
différentes des cartes basées sur la Tulip. Un nouveau pilote est
inclus dans les noyau 2.0 et 2.2 pour les supporter. Pour plus de
détails, consultez :
http://cesdis.gsfc.nasa.gov/linux/drivers/epic100.html
55..3355..88.. SSMMCC 33000088
Statut : Non supporté
Ces cartes 8 bits sont basées sur la puce MB86950 de Fujitsu, qui est
une ancienne version de la MB86965 utilisée dans le pilote Linux de
l'at1700. Russ dit que vous devriez probablement pouvoir bidouiller un
pilote en regardant le code de at1700.c et son pilote DOS en mode
paquet pour la carte Tiara (tiara.asm). Ces cartes ne sont pas très
répandues.
55..3355..99.. SSMMCC 33001166
Statut : Non supporté
Il s'agit de cartes 16 bits à E/S mappées, à puce 8390, très
similaires à une carte NE2000 générique. Si vous pouvez obtenir les
spécifications chez SMC, alors réaliser un portage du pilote NE2000
sera certainement relativement facile. Ces cartes ne sont pas très
répandues.
55..3355..1100.. SSMMCC--99000000 // SSMMCC 9911cc9922//44
Statut : Supporté, Nom du pilote : smc9194
La SMC9000 est une carte VLB basée sur la puce 91c92. La 91c92
apparaît aussi sur un petit nombre de cartes d'autres marques, mais
est plutôt peu commune. Erik Stahlman (erik@vt.edu) a écrit ce pilote
qui se trouve dans les noyaux 2.0, mais pas dans les 1.2 plus anciens.
Vous devriez pouvoir l'intégrer à une arborescence de noyau 1.2 avec
un minimum de difficultés.
55..3355..1111.. SSMMCC 9911cc110000
Statut : Partiellement supporté, Nom du pilote : smc9194
Le pilote SMC 91c92 est supposé fonctionner pour les cartes basées sur
cette puce 100Base-T, mais à l'heure actuelle cela n'a pas été
vérifié.
55..3366.. TTeexxaass IInnssttrruummeennttss
55..3366..11.. TThhuunnddeerrLLAANN
Statut : Supporté, Nom du pilote : tlan
Ce pilote supporte beaucoup de cartes ethernet intégrées aux
ordinateurs Compaq, incluant les familles NetFlex et Netelligent. Il
supporte aussi les produits Olicom 2183, 2185, 2325 et 2326.
55..3377.. TThhoommaass CCoonnrraadd
55..3377..11.. TThhoommaass CCoonnrraadd TTCC--55004488
Encore une autre carte PCI basée sur la puce 21040 de DEC.
Consultez la section sur la puce 21040 (``DEC 21040'') pour
plus d'informations.
55..3388.. VVIIAA
Vous ne verrez probablement jamais une carte VIA, car VIA fabrique
plusieurs puces réseau qui sont ensuite utilisées par d'autres dans la
construction de leurs cartes ethernet. Ils ont un site WWW à :
http://www.via.com.tw/
55..3388..11.. VVIIAA 8866CC992266 AAmmaazzoonn
Statut : Supporté, Nom du pilote : ne, ne2k-pci (+8390)
Ce contrôleur est l'offre NE2000 PCI de VIA. Vous avez le choix entre
le pilote ISA/PCI ne.c ou le pilote PCI ne2k-pci.c. Référez vous à la
section NE2000 PCI pour plus de détails.
55..3388..22.. VVIIAA 8866CC110000AA RRhhiinnee IIII ((eett 33004433 RRhhiinnee II))
Statut : Supporté, Nom du pilote : via-rhine
Ce pilote relativement récent se trouve dans les noyaux 2.0 et 2.2.
Cette puce est une amélioration de la NE2000 86C926 dans la mesure où
elle gère les transferts par contrôle de bus, mais du fait de
l'obligation d'aligner les tampons sur 32 bits, les gains sont
limités. Pour plus de détails, et les mises à jour, référez vous à :
http://cesdis.gsfc.nasa.gov/linux/drivers/via-rhine.html
55..3399.. WWeesstteerrnn DDiiggiittaall
Référez vous à la section ``SMC'' pour plus d'informations sur les
cartes SMC. (SMC a racheté la section cartes réseau de Western Digital
il y a bien longtemps).
55..4400.. WWiinnbboonndd
Winbond ne fabrique, ni ne vend de cartes au grand public -- au lieu
de cela, ils font des puces pour cartes réseau tout en un, les vendent
à d'autres entreprises, qui les collent sur une carte PCI, ajoutent
leur nom et ensuite, les revendent.
55..4400..11.. WWiinnbboonndd 8899cc884400
Statut : Partiellement Supporté, Nom du pilote : winbond-840
Ce pilote n'est pas actuellement distribué avec le noyau, car il est
en phase de test. Il est disponible à :
http://cesdis.gsfc.nasa.gov/linux/drivers/test/winbond-840.c
55..4400..22.. WWiinnbboonndd 8899cc994400
Statut : Supporté, Nom du pilote : ne, ne2k-pci (+8390)
Cette puce est l'une des deux que l'on retrouve souvent sur les cartes
NE2000 PCI de bas de gamme vendues par beaucoup de fabriquants. Notez
que c'est toujours une idée vieille de plus de 10 ans collée sur un
bus PCI. Les performances ne seront pas meilleures que pour
l'équivalent ISA.
55..4411.. XXiirrccoomm
Depuis des temps immémoriaux, Xircom refusait de dévoiler les
informations nécessaires à l'écriture d'un pilote, à moins que vous ne
vous livriez à eux corps et âme. Apparemment, suffisamment
d'utilisateurs de Linux les ont harcelé pour obtenir du support pour
un pilote (ils prétendent supporter tous les systèmes d'exploitation
réseau populaires...), ce qui les a amenés à changer de politique afin
de permettre la diffusion de la documentation, sans avoir à signer un
accord de confidentialité. Certains ont dit qu'ils allaient distribuer
les sources du pilote SCO, alors que d'autres ont dit qu'ils ne
fournissaient plus de documentation sur les produits `obsolètes',
comme les premiers modèles PE. Si vous êtes intéressés et que vous
voulez vérifier par vous même, vous pouvez joindre Xircom au
1-800-874-7875, 1-800-438-4526 ou au +1-818-878-7600.
(NDT : les deux premiers numéros sont des numéros verts aux États-Unis
et ne sont pas accessibles depuis l'étranger. Le dernier est un numéro
international).
55..4411..11.. XXiirrccoomm PPEE11,, PPEE22,, PPEE33--1100BB**
Statut : Non supporté.
Ce n'est pas pour vous réconforter, mais si vous avez l'un de ces
adaptateurs sur port parallèle, vous pourrez peut-être l'utiliser sous
l'émulateur DOS avec les pilotes DOS fournis par Xircom. Vous devrez
autoriser l'accès de DOSEMU au port parallèle, et certainement jouer
avec SIG (le générateur d'interruptions stupides de DOSEMU, en anglais
_S_i_l_l_y _I_n_t_e_r_r_u_p_t _G_e_n_e_r_a_t_o_r).
55..4411..22.. CCaarrtteess XXiirrccoomm PPCCMMCCIIAA
Statut : Partiellement Supporté, Nom du pilote : ????
Les pilotes de certaines cartes Xircom PCMCIA sont disponibles dans le
paquetage PCMCIA de David Hinds. Vérifiez là-bas pour de plus amples
informations.
55..4422.. ZZeenniitthh
55..4422..11.. ZZ--NNoottee
Statut : Supporté, Nom du pilote : znet
L'adaptateur réseau intégré au Z-Note est basé sur la puce i82593
d'Intel, et utilise _d_e_u_x canaux DMA. Un pilote (alpha ?), est
disponible dans la version courante du noyau. Comme tous les
adaptateurs de poche ou portables, il se trouve dans la section
`Pocket and portable adaptors' lorsque vous exécutez make config.
Notez aussi que l'IBM ThinkPad 300 est compatible avec le Z-Note.
55..4433.. ZZnnyyxx
55..4433..11.. ZZnnyyxx ZZXX334422 ((DDEECC 2211004400 bbaasseedd))
Statut : Supporté, Nom du pilote : de4x5, tulip
Vous avez le choix entre _d_e_u_x pilotes pour les cartes basées sur cette
puce. D'une part le pilote DE425 écrit par David, d'autre part le
pilote 21040 générique écrit par Donald.
Notez que depuis la version 1.1.91, David a ajouté une option de
compilation qui permet aux cartes non-Digital (comme les cartes Znyx)
de fonctionner avec ce pilote. Jetez un coup d'oeil au fichier
README.de4x5 pour les détails.
Consultez ``DEC 21040'' pour plus d'informations sur ces cartes, et la
situation actuelle du pilote.
55..4444.. IIddeennttiiffiieerr uunnee ccaarrttee iinnccoonnnnuuee
OK, l'ami du voisin du cousin de votre oncle a un frère qui a trouvé
une vieille carte Ethernet ISA dans le boîtier de l'AT qui servait de
cage pour le hamster de son fils. D'une manière ou d'une autre vous
avez fini par vous retrouver avec cette carte et vous voudriez essayer
de l'utiliser avec Linux, mais personne n'a le commencement du début
d'une idée de ce qu'elle est et il n'y a aucune documentation.
Tout d'abord, cherchez n'importe quel numéro de modèle évident qui
pourrait fournir un indice. Un numéro de modèle qui contient 2000 sera
certainement un clone de NE2000. Une carte avec 8003 ou 8013 écrit
quelque part dessus sera une carte WD80x3 de Western/Digital ou une
SMC Elite, ou un clone de l'une d'elles.
55..4444..11.. CCoonnttrroolllleerr,, NNIICC)) IIddeennttiiffiieerr llee ccoonnttrrôôlleeuurr dd''iinntteerrffaaccee rréésseeaauu
((NNeettwwoorrkk IInntteerrffaaccee
Cherchez la plus grosse puce sur la carte. Ce sera le contrôleur
réseau (NIC) lui-même, et la plupart peuvent être identifiés par leur
référence. Si vous savez quel NIC se trouve sur la carte, ce qui suit
devrait vous aider à deviner de laquelle il s'agit.
Encore à l'heure actuelle, le NIC le plus courant est la puce DP8390
de National Semiconductor, alias NS32490, alias DP83901, alias
DP83902, alias DP83905, alias DP83907. Et il ne s'agit que de celles
fabriquées par National Semiconductor ! D'autres sociétés comme
Winbond et UMC produisent des clones de DP8390 et DP83905, comme la
89c904 de Winbond (un clone de DP83905) et la 9090 d'UMC. Si la carte
a quelque chose qui s'approche d'un 8390, il y a des chances pour
qu'il s'agisse d'un clone de NE1000 ou de NE2000. Parmi les cartes
basées sur le 8390, arrivent en deuxième position les wd80x3 (de
Western/Digital) et ses clones. Des cartes avec un DP83905 peuvent
être configurées pour être une NE2000 _o_u une wd8013. Les versions les
plus récentes des wd80x3 de base et des SMC Elite possèdent un 83c690
en lieu et place du DP8390 d'origine. Les cartes SMC Ultra ont un
83c790, et utilisent un pilote légèrement différent de celui des
cartes wd80x3. Les cartes EtherEZ de SMC ont un 83c795, et utilisent
le même pilote que la SMC Ultra. Toutes les cartes BNC basées sur un
genre de 8390 ou l'un de ses clones auront généralement un 8392 (ou un
83c692, ou un ???392) en boîtier DIP 16 broches tout près du
connecteur BNC.
L'Intel i82586 est un autre NIC courant que l'on trouve sur des cartes
plus anciennes. Parmi celles qui en comportent un, citons la 3c505, la
3c507, la 3c523, l'EtherExpress-ISA d'Intel, l'Exos-205T de Microdyne,
et la NI5210 de Racal-Interlan.
Le NIC d'origine de la carte LANCE d'AMD était numéroté AM7990, et les
révisions plus récentes incluent le 79c960, le 79c961, le 79c965, le
79c970, et le 79c974. La plupart des cartes ayant l'une de ces puces
fonctionnera avec le pilote LANCE de Linux, à l'exception des vieilles
cartes NI6510 de Racal-Interlan qui possèdent leur propre pilote.
Les cartes PCI plus récentes et qui comportent un NIC de DEC référencé
21040, 21041, 21140, ou un numéro approchant, devraient être capables
d'utiliser le pilote `tulip' ou le `de4x5' de Linux.
D'autres cartes PCI qui comportent une grosse puce marquée RTL8029,
89C940 ou 86C926 sont des clones de NE2000, et le pilote `ne' des
versions 2.0 et supérieures du noyau Linux devrait automatiquement les
détecter au démarrage.
55..4444..22.. IIddeennttiiffiieerr ll''aaddrreessssee EEtthheerrnneett
Chaque carte Ethernet possède sa propre adresse sur six octets qui lui
est unique et propre. Les trois premiers octets de cette adresse
Ethernet sont les mêmes pour chaque carte construite par un
constructeur donné. Par exemple, toutes les adresses des cartes de
SMC commencent par 00:00:c0. Les trois derniers octets sont affectés
par le constructeur de façon unique à chaque carte individuelle au fur
et à mesure de leur fabrication.
Si votre carte comporte un autocollant qui donne tous les six octets
de son adresse, vous pouvez identifier le constructeur à partir des
trois premiers. Toutefois, il est plus courant de ne trouver que les
trois derniers octets, imprimés sur un autocollant attaché à une PROM
montée sur la carte, ce qui ne vous indique rien du tout.
Vous pouvez déterminer quel constructeur possède quelles adresses à
partir de la RFC-1340. Apparemment il existe également une liste plus
à jour qui est disponible à divers endroits. Essayez de faire une
recherche WWW ou FTP sur EtherNet-codes ou Ethernet-codes et vous
trouverez quelque chose.
55..4444..33.. QQuueellqquueess aassttuucceess ppoouurr eessssaayyeerr dd''uuttiilliisseerr uunnee ccaarrttee iinnccoonnnnuuee
Si vous n'êtes toujours pas sûr(e) de quelle carte il s'agit, mais que
vous avez un peu réduit le champ des possibilités, alors vous pouvez
construire un noyau en y incluant tout un tas de pilotes, et voir si
l'un d'entre eux détecte automatiquement la carte lors du démarrage.
Si le noyau ne détecte pas la carte, il se peut que la carte ne soit
pas configurée à l'une des adresses que le pilote teste lorsqu'il en
recherche une. Dans ce cas, vous pourriez essayer de récupérer
scanport.tar.gz sur votre site FTP Linux préféré, et voir s'il peut
trouver l'adresse pour laquelle votre carte est configurée. Ce
programme parcourt l'espace d'adressage d'entrée/sortie de 0x100 à
0x3ff en cherchant des périphériques qui ne sont pas déjà enregistrés
dans /proc/ioports. S'il en trouve un qui soit inconnu et qui démarre
à une adresse donnée, vous pouvez alors explicitement diriger les
procédures de détection Ethernet vers cette adresse en utilisant un
argument de démarrage ether=.
Si vous arrivez à faire en sorte que la carte soit détectée, vous
pouvez alors deviner la fonction des cavaliers inconnus en les
modifiant un par un et en regardant à quelle adresse d'E/S de base et
à quelle IRQ la carte est détectée. Les paramètres d'IRQ peuvent aussi
habituellement être déterminés en suivants les traces au dos de la
carte jusqu'à l'endroit où les cavaliers sont soudés. En comptant les
`doigts d'or' sur la face arrière, depuis l'extrémité de la carte où
se situe la plaque métallique qui se fixe au coffret du PC, vous avez
les IRQ 9, 7, 6, 5, 4, 3, 10, 11, 12, 15, et 14 sur les `doigts' 4,
21, 22, 23, 24, 25, 34, 35, 36, 37, et 38 respectivement. Les cartes
huit bits ne comportent que les doigts 1 à 31.
Les cavaliers qui paraissent ne servir à rien ont généralement pour
fonction de sélectionner l'adresse mémoire d'une ROM de démarrage
(boot ROM) optionnelle. D'autres situés près des connecteurs BNC,
RJ-45 ou AUI servent généralement à sélectionner le support physique
de sortie. Ceux-ci se situent typiquement près des `boîtes noires' qui
contiennent les convertisseurs de tension, marquées YCL, Valor, ou
Fil-Mag.
Une collection intéressante de configurations de cavaliers pour
diverses cartes se trouve à l'URL suivante :
Paramétrage des cartes Ethernet
55..4455.. PPiillootteess ppoouurr ppéérriipphhéérriiqquueess NNoonn--EEtthheerrnneett
Quelques autres pilotes existent dans les sources Linux qui se
présentent _c_o_m_m_e un périphérique Ethernet vis-à-vis des programmes
réseaux, bien qu'ils ne soient pas réellement Ethernet. Les voici
brièvement présentés pour être complet.
dummy.c - Le but de ce pilote est de fournir un périphérique pour
désigner une route qui le traverse, mais sans transmettre réellement
de paquets.
eql.c - Load Equalizer (égaliseur de charge), qui regroupe plusieurs
périphériques esclaves (généralement des modems) et répartit la charge
en transmission entre eux tout en ne présentant qu'un seul
périphérique aux programmes réseau.
ibmtr.c - IBM Token Ring (anneau à jeton), qui n'est pas réellement de
l'Ethernet. L'anneau à `jeter' nécessite du routage par la source et
autres trucs dégoûtants.
loopback.c - Loopback (boucle locale), par lequel passent tous les
paquets émis par votre machine à destination de votre machine.
Essentiellement, il se contente de sortir les paquets de la file
d'attente d'émission et de les placer dans la file d'attente de
réception.
pi2.c - Interface Ottawa Amateur Radio Club PI et PI2.
plip.c - Parallel Line Internet Protocol (PLIP, IP sur port
parallèle), qui permet à deux ordinateurs de s'envoyer des paquets
l'un à l'autre via leurs ports parallèles, en mode point-à-point.
ppp.c - Point-to-Point Protocol (RFC1331), destiné à la transmission
de datagrammes multi-protocoles sur un lien point-à-point (de nouveau,
en général des modems).
(NDT : C'est le mode de connexion le plus couramment employé par les
fournisseurs d'accès Internet. Consultez le _P_P_P_-_H_o_w_t_o.)
slip.c - Serial Line Internet Protocol (SLIP, IP sur port série), qui
permet à deux ordinateurs de s'envoyer des paquets l'un à l'autre via
leurs ports série (généralement via des modems), en mode
point-à-point.
tunnel.c - Fournit un tunnel IP (dit aussi `IP over IP', `IP sur IP',
NDT) à travers lequel vous pouvez envoyer du trafic réseau de façon
transparente entre sous-réseaux.
(NDT : Pratique pour gérer certains problèmes délicats de politique de
routage, par exemple.)
wavelan.c - Un transceiver radio semblable à de l'Ethernet, contrôlé
par le coprocesseur 82586 d'Intel qui est utilisé sur d'autres cartes
Ethernet comme l'Intel EtherExpress.
66.. CCââbblleess,, CCooaaxxiiaall,, PPaaiirree TToorrssaaddééee
Si vous démarrez un réseau à partir de rien, vous aurez a choisir
entre l'Ethernet fin (du câble RG-58 co-axial avec des connecteurs
BNC) ou le 10BaseT (des câbles à paire torsadée avec des connecteurs
RJ-45 rectangulaires). Quant au `gros' Ethernet (thick Ethernet), du
câble RG-5 avec des connecteurs N, tombé en désuétude, on ne le
rencontre pratiquement plus.
Référez vous à ``Type de cable...'' pour une introduction sur les
câbles. Notez aussi que la Foire Aux Questions (FAQ) du groupe
_c_o_m_p_._d_c_o_m_._l_a_n_s_._e_t_h_e_r_n_e_t contient un tas d'informations utiles sur les
câbles et tout ce genre de choses. Jetez un coup d'oeil à :
Usenet FAQs
pour la FAQ de ce groupe de news.
(NDT : Le lecteur francophone utilisera bien entendu un site miroir
comme URL sur ibp à compléter.. ou tout
site équivalent proche de chez lui).
66..11.. EEtthheerrnneett ffiinn ((tthhiinnnneett))
Le cable Ethernet fin n'est pas cher. Si vous fabriquez vos câbles
vous-même, le câble RG58A à âme monobrin est à $0.27/m et le câble
multibrins RG58AU est à 3,40F/m. (NDT : Le prix du RG58A est en dollar
car je n'ai pas pu trouver de prix pour ce type de câble en France !)
Les connecteurs BNC à baïonnette sont à moins de deux dollars chacun.
(NDT : A sertir, environ 10 francs pièces, à souder un peu plus cher
mais vous n'avez pas besoin d'un outil spécial).
Les autres pièces diverses sont tout aussi bon marché.
Il est important que vous terminiez chaque extrémité du câble avec un
`bouchon' de 50 ohms (NDT : bouchon ou terminateur..), donc prévoyez
70 francs pour une paire. Il est aussi vital que votre câble ne
comporte pas de `patte qui pend' -- les connecteurs en `T' doivent
être raccordés directement aux cartes Ethernet, sans câble entre le
`T' et la carte.
Il y a quelques inconvénients à utiliser l'Ethernet fin. Le premier
est qu'il est limité a 10 Mbps -- pour 100 Mbps, il faut de la paire
torsadée. Le second point noir est que si vous avez un grand nombre de
machines raccordées entre elles, il suffit qu'un imbécile coupe le
réseau en débranchant un des câbles qui se trouvent sur les côtés de
son `T', et tout le réseau se retrouve par terre parce qu'il voit une
impédance infinie (circuit ouvert) au lieu de la terminaison à 50 ohms
qui est nécessaire. Notez que vous pouvez enlever la pièce en forme de
`T' de la carte Ethernet elle-même sans tuer tout le sous-réseau, pour
autant que vous n'enleviez pas les câbles du `T' lui-même. Bien
entendu cela perturbera la machine d'où vous venez d'enlever le `T'.
8-) Et notez aussi que si vous créez un petit réseau constitué de
seulement deux machines, vous devez _q_u_a_n_d _m_ê_m_e mettre en place les `T'
et les bouchons de 50 ohms. -- vous _n_e _p_o_u_v_e_z _p_a_s juste câbler les
deux machines entre elles !
NDT : Notez aussi que vous ne devez pas créer une boucle avec le câble
non plus, en reliant toutes les machines entre elles et en reliant la
dernière machine avec la première. La présence d'un bouchon de 50 ohms
à _c_h_a_q_u_e extrémité du câble (et il ne doit y avoir que deux extrémités
8-) ) est indispensable pour qu'Ethernet fonctionne correctement. (Fin
de la note)
Il existe aussi des systèmes de câblage rigolos qui _f_o_n_t _c_o_m_m_e _s_i un
seul fil arrivait à la carte, mais en fait les deux longueurs de câble
reposant côte-à-côte, recouvertes par une protection extérieure, ce
qui donne au fil une section de forme ovale. A l'extrémité de cette
boucle est inséré un connecteur BNC sur lequel se connecte votre
carte. Vous avez donc l'équivalent d'un aller-retour de câble et d'un
`T' BNC, mais avec ce type de câblage, il est impossible pour
l'utilisateur d'enlever un câble d'un seul côté du `T' et donc de
perturber le réseau.
(NDT : C'est une bonne idée, mais la réalisation du câblage entre les
prises de raccordement est délicate, et le moindre défaut amplifie
rapidement les problèmes de l'Ethernet fin. )
66..22.. PPaaiirree ttoorrssaaddééee
Les réseaux à paire torsadée nécessitent des hubs actifs, dont les
prix démarrent aux environ de 300 francs, et le prix du câble brut
peut être en fait supérieur à celui du Thinnet. Vous devriez ignorer
ceux qui disent que vous pouvez utiliser votre câblage téléphonique
existant, car il est rare de trouver une installation où c'est le cas.
(NdT : Ca c'est du pessimisme avéré. J'ai déjà fait pire. :])
D'un autre côté, les prix des hubs sont en chute libre, toutes les
propositions Ethernet 100 Mbps utilisent la paire torsadée, et la
plupart des installations professionnelles neuves utilisent la paire
torsadée.
(NDT : Euh, c'est peut-être aussi parce qu'avec un câblage banalisé on
peut faire de la voix (entendez : du téléphone), de la donnée
(entendez : du réseau), et de la vidéo, sur le même câble, ce qui
coûte quand même moins cher que trois câblages différents !)
De plus, Russ Nelson ajoute que `Les nouvelles installations devraient
utiliser du câblage Catégorie 5. Toute autre chose est une perte de
temps de votre installateur, car le 100Base-ce-que-vous-voulez
nécessitera du Cat. 5.'
(NDT : Pour être précis, c'est du Catégorie 5, Classe D qu'il faut
exiger. Un pour le type de câble, un pour la plage de fréquence. :))
Si vous n'avez que deux machines à raccorder, il est possible d'éviter
l'utilisation d'un hub, en croisant les paires émissions et réception
(1-2 et 3-6).
Si vous tenez le connecteur RJ-45 face à vous (comme si vous alliez le
brancher dans votre bouche) avec le petit clip de fixation vers le
haut, alors les broches sont numérotées de 1 à 8 de la gauche vers la
droite. L'utilisation des broches est la suivante :
Numéro de broche Utilisation
---------- ----------
1 Sortie des Données (+)
2 Sortie des Données (-)
3 Entrée des Données (+)
4 Réservé pour le téléphone
5 Réservé pour le téléphone
6 Entrée des Données (-)
7 Réservé pour le téléphone
8 Réservé pour le téléphone
Si vous souhaitez fabriquer un câble, ce qui suit devrait vous fournir
tous les détails voulus. Les paires de signaux différentiels doivent
se trouver sur la même paire torsadée afin d'obtenir l'impédance et
les pertes minimales requises d'un câble UTP. Si vous consultez la
table ci-dessus, vous constatez que 1+2 et 3+6 sont les ensembles de
paires de signaux différentiels. Pas 1+3 et 2+6 !!!!!! A 10 MHz, avec
des distances courtes, vous échapperez *peut-être* aux conséquences de
telles erreurs, si c'est vraiment sur une courte distance. Mais n'y
pensez même pas à 100 MHz.
Pour un cordon de brassage normal, avec les extrémités `A' et `B',
vous avez besoin d'un raccordement `droit', broche par broche,
l'entrée et la sortie utilisant chacune une paire de fils (pour des
problèmes d'impédance). Cela signifie donc que le 1 de A va au 1 de B,
que le 2 de A va au 2 de B, que le 3 de A va au 3 de B et que le 6 de
A va au 6 de B. Les fils qui joignent 1A-1B et 2A-2B doivent être sur
la même paire torsadée. De même, les fils qui joignent 3A-3B et 6A-6B
doivent être sur une autre paire torsadée.
Maintenant, si vous n'avez pas de hub, mais que vous voulez fabriquer
un `câble null' (ou câble croisé, NDT), ce que vous souhaitez faire
est que l'entrée de `A' devienne la sortie de `B', et que la sortie de
`A' devienne l'entrée de `B', sans changer la polarité. Cela signifie
donc raccorder 1A à 3B (sortie+ de A vers entrée+ de B) et 2A à 6B
(sortie- de A vers entrée- de B). Ces deux fils doivent être sur une
paire torsadée. Ils transportent ce que la carte/le connecteur `A'
considère comme la sortie, et ce qui est vu comme l'entrée par la
carte/le connecteur `B'. Puis raccordez 3A à 1B (entrée+ de A sur
sortie+ de B) et 6A à 2B (entrée- de A sur sortie- de B). Ces deux-là
aussi doivent être sur une paire torsadée. Ils transportent ce que la
carte/le connecteur `A' considère comme son entrée, et ce que la
carte/le connecteur `B' considère comme sa sortie.
Donc, si vous considérez un cordon de brassage normal, enlevez l'une
de ses extrémités, échangez les emplacements des paires de réception
et d'émission dans le nouveau connecteur, sertissez-le, et vous avez
un câble `null' (enfin, croisé, quoi ! NDT). Rien de bien compliqué.
Vous voulez juste que le signal transmis par une carte soit envoyé sur
le récepteur de la seconde, et vice versa.
Notez qu'avant que 10BaseT soit ratifié en tant que norme, il existait
d'autres formats de réseau qui utilisaient des connecteurs RJ-45, avec
le même principe de câblage que ci-dessus. Des exemples sont le
LattisNet de SynOptics et le StarLAN d'AT&T. Dans certains cas (comme
les premières cartes 3C503) vous pouvez positionner des cavaliers pour
que la carte puisse dialoguer avec des hubs de différents types, mais
dans la plupart des cas les cartes conçues pour ces anciens types de
réseaux ne fonctionneront pas avec un hub/un réseau 10BaseT standard.
(Notez que si les cartes ont aussi un port AUI, il n'y a aucune raison
que vous ne puissiez pas l'utiliser, combiné avec un transceiver AUI /
10BaseT).
66..33.. TThhiicckk EEtthheerrnneett -- LLee ``ggrrooss'' EEtthheerrnneett
Le `Thick ethernet' est pratiquement obsolète, et n'est généralement
utilisé que pour rester compatible avec une implémentation existante.
Vous pouvez outrepasser les règles et connecter des brins courts
d'Ethernet fin (ThinNet 10Base2) et épais (ThickNet 10Base5) ensemble
avec un connecteur passif N-vers-BNC à 15 francs, et c'est souvent la
meilleure solution pour étendre un réseau ThickNet existant. Une
solution correcte (mais plus chère) est d'utiliser un répéteur dans ce
cas.
77.. CCoonnffiigguurraattiioonn llooggiicciieellllee eett ddiiaaggnnoossttiiccss ddee ccaarrttee
Dans la plupart des cas, si la configuration est faite par logiciel,
et stockée dans une EEPROM, vous devrez démarrer DOS, et utiliser le
programme DOS fourni par le constructeur pour configurer l'IRQ, les
ports d'E/S, l'adresse mémoire et autres choses sur la carte. Du
reste, on peut espérer que c'est quelque chose que vous ne
configurerez qu'une seule fois. Si vous ne disposez pas du logiciel
DOS pour votre carte, essayez de chercher sur le site WWW du
constructeur de votre carte. Si vous ne connaissez pas le nom du site,
tentez de le deviner, par exemple `www.mon-constructeur.com' où `mon-
constructeur' est le nom du fabricant de la carte. Cela fonctionne
pour SMC, 3Com, et plein _p_l_e_i_n d'autres fabricants.
On trouve certaines cartes pour lesquelles des versions Linux des
utilitaires de configuration existent, et elles sont listées ici.
Donald a écrit quelques petits programmes de diagnostic qui
fonctionnent sous Linux. La plupart d'entre eux sont le résultat
d'outils de débogage qu'il a créés pendant l'écriture des divers
pilotes. Ne vous attendez pas à des interfaces rigolotes avec des
menus. Vous aurez besoin de lire le code-source pour utiliser la
plupart d'entre eux. Même si votre carte n'a pas de programme de
configuration correspondant, vous pouvez encore obtenir un peu
d'information juste en tapant cat /proc/net/dev -- à condition que
votre carte ait été au moins détectée au démarrage.
Dans tous les cas, vous devrez exécuter la plupart de ces programmes
en tant que root (pour permettre l'accès aux ports d'E/S) et vous
devrez certainement désactiver la carte réseau avant en tapant
ifconfig eth0 down en premier.
77..11.. PPrrooggrraammmmeess ddee ccoonnffiigguurraattiioonn ppoouurr ccaarrtteess EEtthheerrnneett
77..11..11.. CCaarrtteess WWDD8800xx33
Pour ceux d'entre vous qui ont des cartes wd80x3, il existe le
programme wdsetup qui peut être trouvé dans wdsetup-0.6a.tar.gz sur
les sites FTP linux. il n'est pas activement maintenu, et n'a pas été
mis à jour depuis déjà pas mal de temps. S'il fonctionne correctement
pour vous, c'est parfait, sinon, utilisez la version DOS que vous
devriez avoir obtenue avec votre carte. Si vous n'avez pas la version
DOS, vous serez heureux d'apprendre que les disquettes de
configuration et les pilotes SMC sont disponibles sur le site FTP de
SMC.
Bien entendu, vous _d_e_v_e_z avoir une carte avec EEPROM pour utiliser cet
utilitaire. Les vieilles, _v_i_e_i_l_l_e_s cartes wd8003, et certains clones
de wd8013 utilisent à la place des cavaliers pour configurer la carte.
77..11..22.. CCaarrtteess DDiiggiittaall // DDEECC
La carte EtherWorks 3 de Digital peut être configurée d'une façon
similaire au programme DOS NICSETUP.EXE. David C. Davies l'a écrit,
ainsi que certains autres outils pour l'EtherWorks 3, en conjonction
avec le pilote. Regardez sur metalab.unc.edu dans le répertoire
/pub/linux/system/Network/management un fichier qui s'appelle
ewrk3tools-X.XX.tar.gz.
(NDT : Le lecteur français aura tout intérêt à utiliser un site FTP
plus proche, comme par exemple :
ftp://ftp.lip6.fr/pub/linux/sunsite/system/Network/management)
77..11..33.. CCaarrtteess NNEE22000000++ oouu AATT//LLAANNTTIICC
Certaines implémentations de la puce DP83905 de National Semiconductor
(comme l'AT/LANTIC et la NE2000+) peuvent être configurées par
logiciel. (Notez que ces cartes peuvent aussi émuler une carte
wd8013 !) Vous pouvez récupérer le fichier
/pub/linux/setup/atlantic.c sur le serveur FTP de Donald,
cesdis.gsfc.nasa.gov, pour configurer cette carte. De plus, les
programmes de configuration pour les cartes DP83905 de Kingston
semblent fonctionner avec toutes les cartes, car ils ne vérifient pas
une adresse spécifique au constructeur avant de vous autoriser à les
utiliser. Suivez l'URL que voici :
Logiciel Kingston
et récupérez 20XX12.EXE et INFOSET.EXE.
Soyez attentif en configurant des cartes NE2000+, car vous pouvez leur
fournir des valeurs de paramètrage erronées qui causeront des
problèmes. Un exemple classique est d'activer accidentellement la ROM
de démarrage dans l'EEPROM (même si aucune ROM n'est installée) et de
fournir une valeur qui entre en conflit avec la carte VGA. Le résultat
est un ordinateur qui se contente de vous envoyer des `bip' quand vous
l'allumez et où rien n'apparaît à l'écran.
Vous pouvez typiquement vous sortir de ce mauvais pas en faisant ce
qui suit :
Enlevez la carte de la machine, redémarrez et entrez dans la
configuration CMOS. Changez le paramètre `Display Adapter' (carte
vidéo) en `Not Installed' (pas de carte vidéo) et changez le disque de
démarrage par défaut (`Default Boot Drive' ou `Boot Sequence', NDT) en
`A:' (votre lecteur de disquette). Changez aussi le paramètre `Wait
for F1 if any Error' (attendre un appui sur F1 en cas d'erreur) en
`Disabled' (désactivé). De cette façon, l'ordinateur devrait démarrer
sans intervention de l'utilisateur. Maintenant créez une disquette DOS
de démarrage (`format a: /s /u') et copiez le programme default.exe de
l'archive 20XX12.EXE sur cette disquette. Puis tapez echo default >
a:autoexec.bat afin que le programme qui remet la carte à des valeurs
par défaut cohérentes soit exécuté automatiquement quand vous démarrez
sur cette disquette. Eteignez la machine, réinstallez la carte
ne2000+, insérez votre nouvelle disquette de démarrage, et rallumez la
machine. Elle devrait certainement vous bipper de nouveau à la figure,
mais vous devriez voir la lumière du lecteur de disquette s'allumer
pendant qu'elle démarre à partir de la disquette. Attendez une minute
ou deux que le lecteur de disquette s'arrête, indiquant ainsi que la
machine a fini d'exécuter le programme default.exe, puis éteignez
votre ordinateur. Lorsque vous le rallumez, vous pouvez espérer avoir
un écran qui fonctionne de nouveau, ce qui vous permet de remettre les
paramètres CMOS à leurs anciennes valeurs, et de changer de nouveau
les paramètres de l'EEPROM de la carte pour les valeurs que vous
voulez.
Notez que si vous n'avez pas de DOS sous la main, vous pouvez utiliser
la méthode ci-dessus avec un disque de démarrage Linux qui exécute
automatiquement le programme atlantic de Donald (avec les bonnes
options sur la ligne de commande) au lieu d'une disquette de démarrage
DOS qui exécute automatiquement le programme default.exe.
77..11..44.. CCaarrtteess 33CCoomm
La famille des cartes Etherlink III de 3Com (c'est-à-dire les 3c5x9)
peut être configurée en utilisant un autre utilitaire de configuration
de Donald. Vous pouvez obtenir le fichier
/pub/linux/setup/3c5x9setup.c sur le serveur FTP de Donald,
cesdis.gsfc.nasa.gov, afin de configurer ces cartes. (Notez que
l'utilitaire de configuration DOS 3c5x9B peut comprendre plus
d'options se rapportant aux nouvelles séries ``B'' de la famille
Etherlink III).
77..22.. PPrrooggrraammmmeess ddee ddiiaaggnnoossttiicc ppoouurr ccaarrtteess EEtthheerrnneett
Tous les programmes de diagnostic que Donald a écrit peuvent être
obtenus à partir de cette URL.
Diagnostics pour cartes Ethernet
Allied Telesis AT1700 -- cherchez le fichier /pub/linux/diag/at1700.c
sur cesdis.gsfc.nasa.gov.
Cabletron E21XX -- cherchez le fichier /pub/linux/diag/e21.c sur
cesdis.gsfc.nasa.gov.
HP PCLAN+ -- cherchez le fichier /pub/linux/diag/hp+.c sur
cesdis.gsfc.nasa.gov.
Intel EtherExpress -- cherchez le fichier /pub/linux/diag/eexpress.c
sur cesdis.gsfc.nasa.gov.
Cartes NE2000 -- cherchez le fichier /pub/linux/diag/ne2k.c sur
cesdis.gsfc.nasa.gov. Il existe aussi une version PCI pour les clones
NE2000-PCI qui sont maintenant classiques.
Adaptateur de poche RealTek (ATP) -- cherchez le fichier
/pub/linux/diag/atp-diag.c sur cesdis.gsfc.nasa.gov.
Toutes les autres cartes -- essayez de taper cat /proc/net/dev et
dmesg pour savoir quelles informations utiles le noyau possède sur la
carte en question.
88.. IInnffoorrmmaattiioonnss TTeecchhnniiqquueess
Pour ceux d'entre vous qui souhaitent comprendre comment marche la
carte, ou jouer avec les pilotes actuels, ou même essayer de faire
leur propre pilote pour une carte qui n'est actuellement pas
supportée, ces informations peuvent se révéler utiles. Si vous
n'entrez pas dans cette catégorie de personne, vous devriez peut-être
sauter cette section.
88..11..
EEnnttrrééeess//SSoorrttiieess pprrooggrraammmmééeess ccoonnttrree mméémmooiirree ppaarrttaaggééee ccoonnttrree DDMMAA
Si vous savez déjà envoyer et recevoir des paquets les uns derrière
les autres, vous ne pouvez tout simplement pas mettre plus de bits sur
le fil. Toutes les cartes Ethernet modernes peuvent recevoir des
paquets les uns à la suite des autres. Les pilotes Linux DP8390
(wd80x3, SMC-ULTRA, 3c503, ne2000, etc) s'approchent très près de
l'envoi de paquets les uns derrière les autres (cela dépendra du temps
de latence d'interruption courant), et la 3c509 ou l'AT1500 n'ont
absolument aucun problème pour émettre des paquets les uns derrière
les autres.
Le bus ISA peut faire du 5,3 Mo/s (42 Mbit/s), ce qui semble plus que
nécessaire pour l'ethernet a 10 Mbps. En cas d'utilisations de cartes
100 Mbps, il est clair que vous aurez à utiliser un bus plus rapide
pour utiliser toute la bande passante.
88..11..11.. EEnnttrrééeess//SSoorrttiieess ((EE//SS)) pprrooggrraammmmééeess ((NNEE22000000,, 33cc550099,, eettcc..))
PPoouurr :: N'utilise aucune ressource système contrainte, juste quelques
registres d'E/S, et n'a pas de limite à 16 M.
CCoonnttrree :: Généralement le taux de transfert le plus faible, le
processeur attend tout le temps, et un accès entrelacé (_i_n_t_e_r_l_e_a_v_e_d en
anglais) aux paquets est habituellement difficile voire impossible.
88..11..22.. MMéémmooiirree ppaarrttaaggééee ((WWDD8800xx33,, SSMMCC--UUllttrraa,, 33cc550033,, eettcc..))
PPoouurr :: Simple, plus rapide que les E/S programmées, permet l'accès
aléatoire aux paquets. Les pilotes Linux calculent la somme de
contrôle (_c_h_e_c_k_s_u_m en anglais) des paquets IP entrants lorsqu'ils sont
copiés depuis la carte, ce qui entraîne une réduction supplémentaire
de la charge du processeur par rapport à une carte équivalente en E/S
programmées.
CCoonnttrree :: Utilise beaucoup d'espace mémoire (c'est important pour les
utilisateur sous DOS, cela n'a pratiquement pas d'importance sous
Linux), et charge encore le processeur.
88..11..33.. LLiinnuuxx !!)) AAccccèèss DDiirreecctt àà llaa MMéémmooiirree ((DDMMAA)) EEssccllaavvee ((nnoorrmmaall))
((pp..eexx.. :: aauuccuunnee ppoouurr
PPoouurr :: Libère le processeur pendant le transfert réel des données.
CCoonnttrree :: La vérification des conditions aux limites de blocs,
l'allocation de tampons (_b_u_f_f_e_r_s en anglais) contigus, et la
programmation des registres DMA en font la plus lente de toutes les
techniques. Elle utilise en plus un canal DMA (une ressource rare !)
et nécessite des tampons alignés en mémoire basse.
88..11..44.. DDMMAA eenn BBuuss MMaasstteerr ((pp..eexx.. :: LLAANNCCEE,, DDEECC 2211004400))
PPoouurr :: Libère le processeur pendant le transfert des données, peut
lier des tampons entre eux, peut nécessiter peu voire pas de perte de
temps processeur sur le bus ISA. La majorité des pilotes bus-mastering
pour linux utilisent un schéma 'copybreak' où les gros paquets sont
directements placés dans les tampons réseau du noyau par la carte, les
petits paquets étant copiés par le CPU qui est plus rapide pour ce
type de traitements.
CCoonnttrree :: (seulement pour les cartes ISA) Nécessite des tampons en
mémoire basse et un canal DMA pour les cartes. Tout Maître de Bus aura
des problèmes avec les autres Maîtres de Bus qui sont des goinfres,
comme certaines cartes SCSI primitives. Quelques jeux de puces pour
cartes-mères mal pensés ont des problèmes avec les maîtres de bus. Et
une raison pour n'avoir _a_u_c_u_n type de périphérique DMA est d'utiliser
un processeur 486 conçu pour être inséré (ou monté) en lieu et place
d'un 386: ces processeurs doivent vider leur cache à chaque cycle DMA.
(Ceci inclus les Cx486DLC, Ti486DLC, Cx486SLC, Ti486SLC, etc.)
88..22.. ÉÉccrriittuurree dd''uunn ppiilloottee ddee ccaarrttee
La seule chose indispensable pour utiliser une carte Ethernet sous
Linux est le pilote approprié. Pour que cela soit possible, il est
essentiel que le constructeur diffuse les informations techniques
nécessaires à la programmation de ce pilote à destination du public
sans que vous (ou quelqu'un d'autre) ne soyez obligé de leur vendre
votre âme. Une bonne indication des chances d'obtenir de la
documentation (ou, si vous ne programmez pas, des chances que
quelqu'un d'autre puisse écrire ce pilote dont vous avez vraiment,
vraiment besoin) est la disponibilité du pilote en mode paquet de
Crynwr (ex Clarkson). Russ Nelson dirige cette opération, et il a été
d'un grand service par son aide au cours du développement de certains
pilotes pour Linux. Vous pouvez essayer cette URL pour consulter le
programme de Russ :
Pilote en mode paquet de Russ Nelson
Une fois la documentation obtenue, vous pouvez écrire un pilote pour
votre carte et l'utiliser sous Linux (du moins en théorie). Rappelez-
vous néanmoins que certains matériels anciens qui ont été créés pour
des machines XT ne fonctionneront pas bien dans un environnement
multitâches comme Linux. Leur utilisation entraînera des problèmes
importants si votre réseau est raisonnablement chargé.
La plupart des cartes possèdent des pilotes pour des interfaces MS-DOS
comme NDIS ou ODI, mais ceux-ci sont inutiles pour Linux. De
nombreuses personnes ont suggéré de les intégrer directement ou de
réaliser une traduction automatique, mais c'est quasiment impossible.
Les pilotes MS-DOS s'attendent à travailler en mode 16 bits et à
utiliser des `interruptions logicielles', deux notions incompatibles
avec le noyau Linux. Cette incompatibilité est en fait un avantage,
puisque certains pilotes pour Linux sont considérablement meilleurs
que leur équivalent MS-DOS. Par exemple, la série des pilotes `8390'
utilise des zones tampon de transmissions en ping-pong, qui commencent
seulement à apparaître dans le monde MS-DOS.
(`Des zones tampon de transmissions en ping-pong' signifie que l'on
utilise au moins deux zones de la taille maximale d'un paquet pour
transmettre les paquets. L'une des zones est chargée pendant que la
carte est en train de transmettre l'autre. Le deuxième paquet est
alors transmis dès que le premier est parti, etc. De cette manière, la
plupart des cartes sont capables d'envoyer des paquets à la dos à dos
sur le câble).
Bon. Vous avez donc décidé d'écrire un pilote pour la carte Ethernet
Machin, puisque vous avez les informations nécessaires à sa
programmation, et que personne d'autre ne l'a encore fait (... ce sont
les deux conditions principales ;-) ). Vous devriez commencer avec le
squelette du pilote réseau qui est fourni avec la distribution source
du noyau Linux. Il se trouve dans le fichier
/usr/src/linux/drivers/net/skeleton.c dans tous les noyaux récents.
Jetez aussi un coup d'oeil sur le `Kernel Hackers Guide' à l'URL
suivante :
KHG
88..33.. IInntteeffaaccee dduu ppiilloottee aavveecc llee nnooyyaauu
Voici quelques notes sur les fonctions que vous devrez écrire si vous
créez un nouveau pilote. Lisez-les en gardant sous la main le
squelette de pilote décrit ci-dessus : cela simplifiera les choses.
88..33..11.. DDéétteeccttiioonn ddee llaa ccaarrttee ((PPrroobbee))
Appelée au démarrage pour vérifier l'existence de la carte. Meilleure
si elle peut vérifier en douceur en lisant la mémoire etc. Peut aussi
lire les ports d'E/S. Ecrire au démarrage sur les ports d'E/S pour
détecter la carte n'est _p_a_s _b_i_e_n parce que cela risque de tuer un
autre périphérique. Certaines parties de l'initialisation du
périphérique sont habituellement faites à ce niveau (allouer l'espace
d'E/S, les IRQ, remplir les champs de dev->???, etc.) Vous avez
besoin de savoir à quels ports d'E/S et à quelles zones mémoire la
carte peut être configurée, comment autoriser l'utilisation de mémoire
partagée (si besoin), comment sélectionner et mettre en oeuvre la
génération d'interruptions, etc.
88..33..22.. GGeessttiioonnnnaaiirree dd''iinntteerrrruuppttiioonnss ((IInntteerrrruupptt hhaannddlleerr))
Appelé par le noyau quand la carte déclenche une interruption. A la
responsabilité de déterminer pourquoi la carte a déclenché
l'interruption, et d'agir en conséquence. Les conditions habituelles
d'interruption sont l'arrivée de données, la fin d'une transmission,
l'indication de conditions d'erreur. Vous avez besoin de connaître les
bits d'informations liés à une interruption afin de pouvoir agir en
conséquence.
88..33..33.. FFoonnccttiioonn ddee ttrraannssmmiissssiioonn ((TTrraannssmmiitt ffuunnccttiioonn))
Est liée à dev->hard_start_xmit() et est appelée par le noyau quand ce
dernier désire envoyer des données par l'intermédiaire du
périphérique. Envoie les données sur la carte et déclenche la
transmission. Vous avez besoin de savoir comment empaqueter les
données et comment les faire parvenir sur la carte (copie en mémoire
partagée, transfert sur les ports d'E/S, DMA ?) et au bon endroit sur
la carte. Puis vous devez savoir comment dire à la carte d'envoyer
les données sur le câble, et (éventuellement) émettre une interruption
quand ce sera fini. Quand le périphérique ne peut plus accepter de
paquets supplémentaires, il doit armer le drapeau dev->tbusy. Quand de
la place est devenue disponible, en général au cours d'une
interruption de fin de transmission, dev->tbusy doit être désarmé et
les niveaux supérieurs doivent être informés en utilisant
mark_bh(INET_BH).
88..33..44.. FFoonnccttiioonn ddee rréécceeppttiioonn ((RReecceeiivvee ffuunnccttiioonn))
Appelée par le gestionnaire d'interruptions du noyau quand la carte
indique que des données sont disponibles. Récupère les données de la
carte, les empaquette dans un sk_buff et informe le noyau de la
présence des données en effectuant un netif_rx(sk_buff). Vouz devez
savoir comment mettre en oeuvre le déclenchement d'interruptions à la
réception de données, comment vérifier les bits d'informations
correspondant à la réception, et comment récupérer les données depuis
la carte (là encore, par mémoire partagée, ports d'E/S, DMA, etc.)
88..33..55.. FFoonnccttiioonn dd''oouuvveerrttuurree ((OOppeenn ffuunnccttiioonn))
Est liée à dev->open. Est appelée par les couches réseau quand
quelqu'un fait ifconfig eth0 up - cela doit mettre le périphérique en
route et l'autoriser à recevoir et transmettre des données. Toute
incantation spéciale liée à l'initialisation et qui n'aurait pas été
réalisée dans la séquence de détection (autoriser la génération d'IRQ,
etc.) trouvera sa place ici.
88..33..66.. FFoonnccttiioonn ddee ffeerrmmeettuurree ((ffaaccuullttaattiivvee)) ((CClloossee ffuunnccttiioonn))
Met la carte dans un état propre quand quelqu'un effectue ifconfig
eth0 down. Doit libérer les IRQ et les canaux DMA si le matériel le
permet, et éteindre tout ce qui pourrait économiser de l'énergie
(comme le transmetteur).
88..33..77.. AAuuttrreess ffoonnccttiioonnss
Des éléments comme une fonction de réinitialisation, afin que, si les
choses se dégradent, le pilote puisse essayer de réinitialiser la
carte en dernier recours. Généralement fait quand une transmission
dépasse son temps maximal ou quelque chose du genre. Ou encore une
fonction pour lire les registres qui contiennent les statistiques sur
la carte, si elle en comporte.
88..44.. IInnffoorrmmaattiioonnss tteecchhnniiqquueess ddee 33CCoomm
Si vous êtes intéressé(e) par l'écriture de pilotes pour les cartes
3Com, vous pouvez obtenir de la documentation technique de 3Com.
Cameron a été suffisamment gentil pour nous dire comment y parvenir :
Les adaptateurs Ethernet de 3Com sont documentés pour les auteurs de
pilotes dans nos `Références Techniques' (Technical References, TRs).
Ces manuels décrivent les interfaces du programmeur avec la carte,
mais elles ne parlent pas des diagnostics, des programmes
d'installation, etc., que l'utilisateur final peut voir.
Le département marketing de la Division Adaptateurs Réseaux (Network
Adapter Division) est responsable de la diffusion des TRs. Pour que ce
programme reste efficace, nous le centralisons dans une entité appelée
`CardFacts'. C'est un système téléphonique automatisé. Vous l'appelez
avec un téléphone à fréquences vocales et il vous envoie des choses
par télécopie. Pour obtenir un TR, appelez CardFacts au 408-727-7021.
(NDT : Cela ne fonctionne qu'aux Etats-Unis.) Demandez le formulaire
de commande du développeur (Developer's Order Form), le document
numéro 9070. Ayez votre numéro de fax sous la main lorsque vous
appelez. Complétez le formulaire de commande et envoyez-le par
télécopie au 408-764-5004. Les manuels sont expédiés par le service
J+2 de Federal Express.
Il y a des gens ici qui pensent que nous sommes trop libéraux avec les
manuels, et qui cherchent des preuves que le système est trop onéreux,
ou prend trop de temps et d'effort. Jusqu'à présent, les clients de
3Com ont été très bien sur ce point, et il n'y a pas de problème avec
le niveau de demandes que nous avons obtenu. Nous avons besoin que
votre coopération et votre retenue se maintiennent pour continuer
ainsi.
88..55..
NNootteess ssuurr lleess ccaarrtteess bbaassééeess ssuurr llaa ppuuccee PPCCnneett // LLAANNCCEE dd''AAMMDD
La puce LANCE (Local Area Network Controller for Ethernet, Contrôleur
de Réseau Local pour Ethernet) d'AMD constituait l'offre initiale, et
a depuis été remplacée par la puce `PCnet-ISA', aussi connue en tant
que 79C960. Notez que le nom `LANCE' est resté, et certaines personnes
se réfèrent à la nouvelle puce en utilisant l'ancien nom. Dave Roberts
de la Division des Produits Réseaux (Network Products Division) d'AMD
a eu l'amabilité de nous fournir les informations suivantes concernant
cette puce :
`Fonctionnellement, elle est équivalente à une NE1500. Le jeu de
registres est identique à celui de la vieille LANCE avec les additions
de l'architecture 1500/2100. Les vieux pilotes 1500/2500
fonctionneront avec la PCnet-ISA. L'architecture NE1500 et NE2100 est
la même à la base. Initialement Novell l'a appelé la 2100, mais
ensuite a essayé de distinguer entre cartes coax et 10Base-T. Tout ce
qui était purement 10Base-T devait être numéroté dans la série 1500.
C'est la seule différence.
De nombreuses sociétés offrent des produits basés sur la PCnet-ISA, y
compris HP, Racal-Datacom, Allied Telesis, Boca Research, Kingston
Technology, etc. Les cartes sont à la base les mêmes, excepté que
certains constructeurs ont ajouté des fonctionnalités `sans-cavaliers'
(`jumperless') qui permettent à la carte d'être configurée par
logiciel. La plupart n'en ont pas. AMD offre un paquetage de
conception standard pour une carte qui utilise la PCnet-ISA et de
nombreux fabricants utilisent notre conception sans changement. Cela
signifie que n'importe qui souhaitant écrire des pilotes pour la
plupart des cartes basées sur la puce PCnet-ISA peut se contenter
d'obtenir la documentation technique auprès d'AMD. Appelez notre
centre de distribution documentaire au (800)222-9323 et demandez la
documentation de l'Am79C960, PCnet-ISA. Elle est gratuite.
Un moyen rapide pour savoir si la carte est une carte `générique' est
simplement de la regarder. Si elle l'est, elle doit juste comporter
une grosse puce, un quartz, une petite PROM d'adresse IEEE,
éventuellement un support pour une ROM de démarrage, et un connecteur
(1, 2 ou 3, selon les options de média offertes). Notez que s'il
s'agit d'une carte coax, elle comportera aussi quelques composants
pour le transceiver, mais ils devraient être près du connecteur et
éloignés de la PCnet-ISA.'
Une note pour les bidouilleurs potentiels de cartes est que
différentes implémentations de la LANCE effectuent le `redémarrage' de
différentes façons. Certaines reprennent où elles s'étaient arrêtées
dans l'anneau, et d'autres démarrent directement au début de l'anneau,
comme si elles venaient d'être initialisées.
88..66.. MMuullttiiccaasstt eett MMooddee ``PPrroommiissccuuoouuss''
Une des autres choses sur lesquels Donald a travaillé est
l'implémentation des points d'entrée pour le multicast et le mode
`promiscuous'. Tous les pilotes ISA _p_u_b_l_i_é_s (c'est-à-dire ppaass les
pilotes au stade `alpha') supportent aujourd'hui le mode promiscuous.
Donald écrit : Je commencerai par parler du mode `promiscuous', qui
est conceptuellement facile à implémenter. Pour la plupart des
matériels, vous n'avez qu'à positionner un bit de registre, et à
partir de ce moment-là vous obtenez tous les paquets qui passent sur
le fil. Bon, ce n'est pas vraiment aussi simple que cela ; pour
certains matériels, vous devez arrêter la carte (en perdant
potentiellement quelques paquets), la reconfigurer, puis la réactiver.
Ok, ça c'est facile, donc je passe à quelque chose qui n'est pas aussi
évident : le _m_u_l_t_i_c_a_s_t. On peut le réaliser de deux façons :
1. Utiliser le mode promiscuous, et un filtre de paquets comme celui
de Berkeley (Berkeley packet filter, BPF). Le BPF est un langage à
pile de comparaison de modèles (pattern matching stack), avec
lequel vous écrivez un programme qui extrait les adresses qui vous
intéressent. Son avantage est qu'il est très général et
programmable. Son inconvénient est qu'il n'existe pas de moyen
général pour le noyau d'éviter d'avoir à mettre en route le mode
promiscuous et de passer chaque paquet qui circule sur le fil à
travers tous les filtres de paquets qui se sont enregistrés.
Consultez ``Le Berkeley Packet Filter'' pour plus d'informations.
2. Utiliser le filtre multicast que la plupart des puces Ethernet
possèdent.
Je crois que je devrais donner une liste de ce que quelques cartes ou
puces Ethernet fournissent :
Puce/carte Promiscuous Filtre Multicast
-----------------------------------------
Seeq8001/3c501 Oui Filtre binaire (1)
3Com/3c509 Oui Filtre binaire (1)
8390 Oui Hashage à six bits Autodin II (2) (3)
LANCE Oui Hashage à six bits Autodin II (2) (3)
i82586 Oui Hashage à six bits Autodin II caché (2) (4)
1. Ces cartes prétendent avoir un filtre, mais il s'agit d'un simple
oui/non `accepte tous les paquets multicast', ou `n'accepte aucun
paquet multicast'.
2. AUTODIN II est le polynôme standard de contrôle Ethernet (somme de
contrôle/checksum CRC). Dans ce principe, les adresses multicast
sont hashées et recherchées dans une table de hashage. Si le bit
correspondant est activé, ce paquet est accepté. Les paquets
Ethernet sont conçus de telle façon que la partie matérielle pour
réaliser ceci est triviale -- vous mémorisez juste (habituellement)
six bits du circuit CRC (qui est nécessaire de toute façon pour la
vérification d'erreur) après les six premiers octets (l'adresse de
destination), et vous les utilisez comme index dans la table de
hashage (six bits -- une table de 64-bits).
3. Ces puces utilisent le hashage à six bits, et nécessitent que la
table soit calculée et chargée par l'hôte. Cela signifie que le
noyau doit comprendre le code pour le CRC.
4. Le 82586 utilise le hashage à six bits de façon interne, mais il
calcule la table de hashage lui-même à partir d'une liste
d'adresses multicast à accepter.
Notez qu'aucune de ces puces ne réalise un filtrage parfait, et nous
avons encore besoin d'un module de niveau intermédiaire pour réaliser
le filtrage final. Notez aussi que dans chaque cas nous devons
conserver une liste complète des adresses multicast acceptées pour
recalculer la table de hashage quand elle change.
88..77..
LLee ffiillttrree ddee ppaaqquueettss ddee BBeerrkkeelleeyy ((BBeerrkkeelleeyy PPaacckkeett FFiilltteerr ---- BBPPFF))
L'idée générale des développeurs est que la fonctionnalité du BPF ne
doit pas être fournie par le noyau, mais doit se trouver dans une
bibliothèque de compatibilité (dont on espère qu'elle servira peu).
Pour ceux qui ne seraient pas au courant : BPF (le Berkeley Packet
Filter) est un mécanisme destiné à spécifier aux couches réseau du
noyau quels paquets vous intéressent. Il est implémenté sous la forme
d'un interpréteur d'un langage à pile spécialisé construit dans un
niveau bas du code réseau. Une application passe un programme écrit
dans ce langage au noyau, et le noyau exécute le programme sur chaque
paquet entrant. Si le noyau possède plusieurs applications BPF, chaque
programme est exécuté sur chaque paquet.
Le problème est qu'il est difficile de déduire quel type de paquet
intéresse réellement l'application à partir du programme de filtrage,
donc la solution est de toujours exécuter le filtre. Imaginez un
programme qui enregistre un programme BPF pour extraire un flux de
données de faible débit envoyé à une adresse multicast. La plupart des
cartes Ethernet possèdent un filtre d'adresses multicast implémenté
sous la forme d'une table de hashage à 64 entrées qui ignore la
plupart des paquets multicast non souhaités, donc les capacités
existent pour faire de cette opération une opération peu coûteuse en
ressources. Mais avec le BPF, le noyau doit passer l'interface en mode
promiscuous, recevoir ttoouuss les paquets, et les passer à travers ce
filtre. D'ailleurs, c'est un travail qu'il est très difficile de
comptabiliser dans le processus qui a demandé les paquets.
99.. FFaaiirree dduu rréésseeaauu aavveecc uunn ppoorrttaabbllee
Il existe plusieurs façons de mettre votre portable en réseau. Vous
pouvez utiliser le code SLIP (et tourner aux vitesses d'une liaison
série). Vous pouvez employer un portable avec un slot PCMCIA intégré,
ou bien avec une station d'accueil et y mettre une carte Ethernet ISA.
Vous pouvez encore utiliser un adaptateur Ethernet sur port parallèle.
99..11.. UUttiilliisseerr SSLLIIPP ((SSeerriiaall LLiinnee IIPP,, IIPP ssuurr lliiaaiissoonn sséérriiee))
C'est la solution la moins chère, mais de loin la plus difficile. En
plus, vous n'obtiendrez pas des taux de transfert très élevés. Comme
SLIP n'est pas vraiment lié aux cartes Ethernet, nous n'en parlerons
pas plus ici. Consultez le _N_E_T_-_2 _H_o_w_t_o.
99..22.. SSuuppppoorrtt PPCCMMCCIIAA
Essayez de déterminer exactement de quel matériel vous disposez
(c'est-à-dire le fabricant de la carte, celui du contrôleur de puces
PCMCIA) puis demandez sur la liste LAPTOPS. En tout état de cause, ne
vous attendez pas à ce que les choses soient très simples. Attendez-
vous à chercher et à tourner un peu en rond, à patcher les noyaux,
etc. Peut-être qu'un jour vous serez capable de taper `make
config' 8-).
A l'heure actuelle, les deux jeux de puces PCMCIA qui sont utilisables
avec Linux sont le TCIC/2 de Databook et l'i82365 d'Intel.
Il existe un certain nombre de programmes sur tsx-11.mit.edu dans le
répertoire /pub/linux/packages/laptops/ qui pourront se révéler
utiles.
(NDT : Bien entendu, le lecteur français se rapportera à l'un des
miroirs de tsx-11, comme par exemple
ftp://ftp.lip6.fr/pub/linux/tsx-11/packages/laptops/.)
Cela va des pilotes pour cartes Ethernet PCMCIA aux programmes qui
communiquent avec la puce du contrôleur PCMCIA. Notez que ces pilotes
sont en général liés à une puce PCMCIA spécifique (c'est-à-dire la
82365 d'Intel ou la TCIC/2).
Pour les cartes compatibles NE2000, certaines personnes ont réussi
juste en configurant la carte sous DOS, puis en démarrant Linux depuis
l'invite de commande DOS via loadlin.
Les choses évoluent pour les utilisateurs de Linux qui souhaitent un
support PCMCIA, car des progrès substantiels ont été réalisés. Le
dernier paquetage de David Hinds, qui en est l'un des artisans, se
trouve sur
PCMCIA Package
Cherchez un fichier comme pcmcia-cs-X.Y.Z.tgz où X.Y.Z est le dernier
numéro de version. Vous devriez aussi pouvoir le trouver sur le site
FTP tsx-11.mit.edu (ou son miroir le plus proche, NDT).
Notez que le logiciel d'accès PCMCIA de Donald fonctionne en tant que
processus utilisateur, alors que David Hinds propose une solution au
niveau du noyau. Vous serez certainement mieux servi(e) par le
paquetage de David car il est plus couramment employé, et en constant
développement.
99..33.. CCaarrttee EEtthheerrnneett IISSAA ddaannss llaa ssttaattiioonn dd''aaccccuueeiill..
Les stations d'accueil (_d_o_c_k_i_n_g _s_t_a_t_i_o_n_s en anglais, ou encore _d_o_c_k,
NDT) coûtent typiqement environ 1500 francs et fournissent deux slots
ISA standard, deux ports série et un port parallèle. La plupart
d'entre elles sont alimentées par les batteries du portable, et
quelques unes permettent d'en ajouter dans la station même, pour peu
que vous utilisiez des cartes ISA courtes. Ainsi, vous pouvez
utiliser une carte réseau économique et profiter des performances
d'Ethernet à pleine vitesse.
99..44.. AAddaappttaatteeuurrss ddee ppoocchhee eett ssuurr ppoorrtt ppaarraallllèèllee..
Les adaptateurs Ethernet `de poche' peuvent aussi répondre à vos
besoins. Notez que la vitesse de transfert ne sera pas aussi
importante que ça (peut-être 200 Ko/s en pointe ?) à cause des
limitations du port parallèle.
La plupart d'entre eux vont vous entraver avec une alimentation qui
ressemble a un gros pavé. Vous pourrez parfois vous passer du pavé des
adaptateurs en achetant ou en fabriquant un câble qui prend
l'alimentation sur le port clavier du portable (voir ``alimentation du
clavier'').
Consultez ``DE-600 / DE-620'' et ``RealTek'' pour deux adaptateurs de
poche utilisables sous Linux.
1100.. QQuueessttiioonnss ddiivveerrsseess..
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à.
1100..11.. PPaassssaaggee ddeess aarrgguummeennttss EEtthheerrnneett aauu nnooyyaauu
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
1100..11..11.. LL''aarrgguummeenntt eetthheerr
La commande ether= est utilisée en conjonction avec le pilote compilé
dans le noyau. Le ether= n'aura _a_b_s_o_l_u_m_e_n_t _a_u_c_u_n _e_f_f_e_t 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.
IIRRQQ:: 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.
AADDRR__DDEE__BBAASSEE:: 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.
PPAARRAAMM__11:: 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.
PPAARRAAMM__22:: 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.
NNOOMM:: 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' en commençant à `eth0'. Les cartes supplémentaires, non-
LANCE, devaient être affectées à `eth', et le test habituel de
`eth0' devait alors être désactivé avec quelque chose comme
`ether=0,-1,eth0'. (Oui, c'est bogué.)
1100..11..22.. LLaa ccoommmmaannddee rreesseerrvvee
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 _f_i_g_e 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.
1100..22.. UUttiilliissaattiioonn ddeess ppiillootteess EEtthheerrnneett ccoommmmee mmoodduulleess
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 _p_a_s 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 _R_E_Q_U_I_S ou du moins
_F_O_R_T_E_M_E_N_T _R_E_C_O_M_M_A_N_D_É 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.
1100..33.. DDooccuummeennttss aassssoocciiééss
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 _H_o_w_t_o _N_E_T_-_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
_c_o_m_p_._s_y_s_._i_b_m_._p_c_._h_a_r_d_w_a_r_e_._n_e_t_w_o_r_k_i_n_g. 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
1100..44.. DDééssiisstteemmeenntt ddee rreessppoonnssaabbiilliittéé eett CCooppyyrriigghhtt
Ce document _n_'_e_s_t _p_a_s 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 _L_i_n_u_x _H_O_W_T_O 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'_E_t_h_e_r_n_e_t_-_H_O_W_T_O est fournie ici :
This document is _n_o_t 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 _H_O_W_T_O _L_i_n_u_x traduits en français. Vous
pouvez trouver une liste à jour de ces documents à l'adresse
Les _H_O_W_T_O _L_i_n_u_x font partie du _L_i_n_u_x _D_o_c_u_m_e_n_t_a_t_i_o_n _P_r_o_j_e_c_t (LDP). Si
vous souhaitez participer au LDP ou à sa traduction en français, vous
pouvez consulter ou contacter Eric Dumas, dumas@linux.eu.org.
Cette version française a été réalisée par Mathieu Arnold
, Stéphane Alnet é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 _d_a_n_s _l_a _t_r_a_d_u_c_t_i_o_n en français, merci
d'en informer le traducteur. Vos remarques seront prises en compte
pour la prochaine version de la traduction.
1100..55.. CCoonncclluussiioonn
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