ifconfig
et
route
. Consultez le Network Howto pour ce type
d'informations.
L'Ethernet-Howto indique quelles cartes vous devriez ou ne devriez pas acheter; comment les configurer, comment en utiliser plusieurs en m�me temps et d'autres probl�mes et questions classiques. Il contient des informations d�taill�es sur le niveau actuel du support pour toutes les cartes Ethernet parmi les plus courantes disponibles.
Il ne couvre pas l'aspect logiciel des choses, tel qu'il
est d�crit dans le NET-3-Howto. Notez aussi que les questions
g�n�rales sur Ethernet, non li�es sp�cifiquement � Linux, ne sont pas
trait�es dans ce document (ou du moins ne le devraient pas l'�tre).
Pour ce genre de questions, consultez l'excellent ensemble
d'informations de la FAQ du groupe comp.dcom.lans.ethernet
. Vous
pouvez l'obtenir par FTP depuis rtfm.mit.edu
de la m�me mani�re
que vous obtenez les FAQs des autres forums.
La pr�sente version couvre les noyaux de distribution jusqu'� la version 2.2.7 incluse.
L'Ethernet-Howto est de :
Paul Gortmaker, p_gortmaker@yahoo.com
La principale source d'information pour la premi�re version, en ASCII pur de l'Ethernet-Howto �tait :
Donald J. Becker, becker@cesdis.gsfc.nasa.gov
que nous devons aussi remercier pour l'�criture de la vaste majorit� des
pilotes de cartes Ethernet qui sont aujourd'hui disponibles pour
Linux. Il est aussi l'auteur du serveur NFS originel. Merci Donald !
Ce document est Copyright (c) 1993-1999 Paul Gortmaker, et 1998-1999 Mathieu Arnold pour la version fran�aise. Consultez le d�sistement de responsabilit� (section D�sistement de responsabilit� et Copyright) et les informations sur la copie � la fin de ce document pour avoir plus d'informations sur la redistribution de ce document ainsi que tout le tremblement habituel sur 'nous ne sommes pas responsables de ce que vous pouvez r�ussir a casser...'.
La version fran�aise est de :
Mathieu Arnold, arn_mat@club-internet.fr
.
Les nouvelles versions de ce document peuvent �tre rapatri�es depuis :
Sunsite HOWTO ArchiveCeci est l'emplacement officiel de ce document, il peut aussi �tre r�cup�r� depuis divers sites miroirs WWW/FTP de Linux.
(NDT : En France, vous pr�f�rerez utiliser le site suivant pour le document originel :
ou, mieux, la version fran�aise :
Archive des HOWTO fran�ais sur LIP6
Archive des HOWTO fran�ais chez Freenix)
Des mises � jour seront r�alis�es au fur et � mesure de l'arriv�e de nouvelles informations et/ou de nouveaux pilotes. Si la copie que vous �tes en train de lire date de plus de 6 mois, alors, vous devriez aller v�rifier qu'une nouvelle version n'est pas disponible.
Ce document est consultable sous divers formats (postscript, dvi, ASCII, HTML...). Je recommanderai de consulter ce document sous sa forme HTML (� l'aide d'un navigateur WWW) ou sa forme Postscript/DVI. Ces deux formats contiennent des r�f�rences crois�es qui ne sont pas incluses dans le format texte ASCII.
Comme ce guide devient de plus en plus gros, vous n'avez certainement pas l'intention de passer la fin de votre apr�s-midi � le lire en entier. Et la bonne nouvelle est que vous n'�tes pas oblig�(e) de le lire du tout. Les versions HTML, postscript et dvi poss�dent une table des mati�res qui vous permettra de trouver plus vite l'information que vous cherchez.
Il y a des chances pour que vous lisiez ce document parce que vous n'arrivez pas � faire marcher le tout, et que vous ne savez pas quoi faire ou quoi v�rifier. La prochaine section ( Au secours - Ca ne marche pas~!) est destin�e aux n�ophytes de Linux et vous indiquera la bonne direction.
Typiquement, les m�mes probl�mes et les m�mes questions sont pos�s sans arr�t par des personnes diff�rentes. Il y a des chances que votre probl�me ou votre question sp�cifique soit l'une de ces questions fr�quemment pos�es, et qu'elle trouve sa r�ponse dans la partie FAQ (NDT : Foire Aux Questions) de ce document. (Voir La Foire Aux Questions). Tout le monde devrait y jeter un coup d'oeil avant d'envoyer un message demandant de l'aide.
Si vous n'avez pas encore de carte Ethernet, vous devriez commencer par en choisir une. (Voir Quelle carte dois-je acheter...)
Si vous avez d�j� une carte Ethernet mais que vous n'�tes pas s�r(e) de pouvoir l'utiliser avec Linux, lisez donc la section qui contient les informations sp�cifiques � chaque constructeur, et � ses cartes. (Voir Informations Sp�cifiques...)
Si vous �tes int�ress�(e) par l'un des aspects techniques des pilotes de p�riph�riques de Linux, allez donc consulter la section Informations Techniques qui contient ces informations.
Bon, ne paniquez pas. Cette section va vous indiquer le chemin � suivre pour que les choses fonctionnent, m�me si vous n'avez pas de connaissances pr�alables sur Linux ou le mat�riel Ethernet.
La premi�re chose � faire est de trouver quel est le mod�le de votre carte, afin de pouvoir d�terminer si Linux dispose d'un pilote pour cette carte-l�. Des cartes diff�rentes sont typiquement contr�l�es de fa�on diff�rente par l'ordinateur qui les accueille, et le pilote de p�riph�rique de Linux (s'il en existe un) contient ces informations de contr�le qui permettent � Linux d'utiliser la carte.
Si vous n'avez pas de manuel ou de document de ce genre pour vous indiquer quel est le mod�le de la carte, vous pouvez alors essayer la m�thode d�crite dans la section Identifier une carte inconnue, qui vous aidera sur les cartes myst�rieuses.
Maintenant que vous savez quel type de carte vous avez, lisez les d�tails concernant celle-ci dans la section destin�e aux cartes (section Informations Sp�cifiques...), qui liste par ordre alphab�tique les constructeurs de carte, les num�ros de chaque carte, et pr�cise s'il existe un pilote pour Linux ou non. Si votre carte est indiqu�e comme `Non-support�e', vous pouvez pratiquement vous arr�ter d�s maintenant. Si vous ne pouvez pas trouver votre carte dans la liste, v�rifiez alors si le manuel de celle-ci ne l'indique pas comme `compatible' avec un autre type de carte connu. Par exemple, il existe des centaines, si ce n'est des milliers de cartes diff�rentes qui ont �t� con�ues pour �tre compatible avec le mod�le d'origine NE2000 de Novell.
Supposons que vous avez trouv� un pilote sous Linux pour votre carte, vous n'avez plus qu'� le r�cup�rer et � l'utiliser. Ce n'est pas parce que Linux poss�de un pilote pour votre carte que celui-ci est pour autant install� dans tous les noyaux. (Le noyau est le coeur du syst�me d'exploitation qui est charg� en premier au d�marrage et qui contient entre autres choses, les drivers de divers p�riph�riques). Selon la distribution de Linux que vous utilisez, il peut n'y avoir que tr�s peu de noyaux tout pr�ts, et tout un tas de pilotes sous la forme de modules s�par�s, ou il peut y avoir tout un tas de noyaux, qui couvrent un grand nombre de combinaisons de pilotes pr�compil�s.
La majorit� des distributions actuelles de linux sont livr�es avec beaucoup de petits modules qui sont les divers pilotes. Les modules requis sont g�n�ralements charg�s lors du d�marrage, ou � la demande pour pouvoir acc�der � un p�ripherique particulier. Vous aurez besoin d'attacher ce module au noyau apr�s qu'il ait d�marr�. Consultez les informations de votre distribution sur l'installation et l'utilisation des modules, ainsi que la section sur les modules du pr�sent document (section Utilisation des pilotes Ethernet comme modules).
Si vous n'avez pas trouv� de noyau pr�compil� avec votre pilote, ni de pilote sous la forme d'un module, il y a des chances pour que vous ayez une carte particuli�rement peu banale, et vous allez �tre oblig�(e) de construire votre propre noyau en incluant ce pilote. Une fois que Linux est install�, construire un noyau personnalis� n'est pas difficile du tout. Vous r�pondez essentiellement oui ou non � ce que vous souhaitez que le noyau comprenne, et ensuite vous lui dites de le construire. Il existe un Kernel-HowTo qui vous aidera dans cette op�ration.
(NDT : et sa version fran�aise, accessible sur
Arriv� � ce point, vous devriez �tre parvenu d'une fa�on ou d'une autre � d�marrer un noyau avec votre pilote int�gr�, ou � charger ce pilote comme un module. A peu pr�s la moiti� des probl�mes que les gens rencontrent est li�e au fait que le pilote n'a pas �t� charg� d'une mani�re ou de l'autre, donc vous devriez constater que tout fonctionne, maintenant.
Si cela ne fonctionne toujours pas, il vous faut alors v�rifier si le
noyau a bel et bien d�tect� la carte. Pour ce faire, vous devez taper
dmesg | more
une fois logg�, apr�s que le syst�me a d�marr� et
que tous les modules ont �t� charg�s. Cela vous permettra de consulter
les messages que le noyau a fait d�filer sur l'�cran durant le processus
de d�marrage. Si la carte a �t� d�tect�e, vous devriez voir quelque part
dans cette liste un message du pilote de votre carte commen�ant par
eth0
, et indiquant le nom du pilote et les param�tres mat�riels
(r�glage d'interruption (IRQ), de ports d'entr�e-sorties (E/S), etc.)
pour lesquels la carte est r�gl�e. (Note : lors du boot, le noyau de
Linux donne la liste de toutes les cartes PCI, qu'il ait le pilote ou
non - ne le confondez pas avec la d�tection des pilotes qui intervient
apr�s !)
Si vous ne voyez pas de message d'identification de ce type, alors le pilote n'a pas d�tect� votre carte, et c'est pour cela que cela ne fonctionne pas. Consultez la FAQ (section La Foire Aux Questions) pour savoir quoi faire si votre carte n'est pas d�tect�e. Si vous avez une carte compatible NE2000, vous y trouverez aussi des astuces sp�cifiques pour faire d�tecter une NE2000.
Si la carte a �t� d�tect�e, mais que le message de d�tection indique une quelconque erreur, telle qu'un conflit de ressources, alors le pilote ne s'est probablement pas correctement initialis� et la carte n'est toujours pas utilisable. La plupart des messages d'erreur de ce type sont eux aussi list�s dans la FAQ, ainsi que leur solution.
Si le message de d�tection para�t correct, v�rifiez de nouveau les ressources indiqu�es par le pilote en les comparant avec celles pour lesquelles la carte est physiquement configur�e (soit � l'aide de petits `cavaliers' noirs sur la carte, soit par un logiciel utilitaire fourni avec la carte par son constructeur). Les ressources doivent correspondre exactement. Par exemple, si votre carte est configur�e (physiquement ou par logiciel) pour utiliser l'IRQ 15 et que le pilote indique IRQ 10 dans les messages de d�marrage, quelque chose ne va pas. La FAQ �voque les cas les plus courants o� un pilote ne d�tecte pas correctement les informations de configuration de diverses cartes.
A ce stade, vous �tes arriv�(e) � faire d�tecter votre carte avec tous
les param�tres corrects, et l'on peut esp�rer que tout fonctionne. Si ce
n'est pas le cas, vous avez alors soit une erreur de configuration
logicielle, soit une erreur de configuration mat�rielle. Une erreur de
configuration logicielle serait de ne pas avoir configur� la bonne
adresse de r�seau pour l'une des commandes ifconfig
ou
route
(ou les deux !); la mani�re de proc�der est d�crite en
d�tail dans le Network HowTo et le `Guide de l'Administrateur
R�seau' (`Network Administrator's Guide' (NAG) en anglais) qui se
trouvent certainement tous les deux sur le CD-ROM d'installation.
Une erreur de configuration mat�rielle se produit quand un type de
conflit de ressources ou une mauvaise configuration (que le pilote n'a
pas d�tect� au d�marrage) emp�che la carte de fonctionner
correctement. Vous pouvez typiquement observer cela sous plusieurs
formes diff�rentes. (1) Vous obtenez un message d'erreur lorsque
ifconfig
essaie d'ouvrir le p�riph�rique pour l'utiliser, du
genre ``SIOCSFFLAGS: Try again
''. (2) Le pilote indique des
messages d'erreur sur eth0
(que vous pouvez voir avec dmesg |
more
) ou des incoh�rences �tranges � chaque fois qu'il essaie
d'envoyer ou de recevoir des donn�es. (3) Le fait de taper cat
/proc/net/dev
donne un nombre non nul dans l'une des colonnes
errs
, drop
, fifo
, frame
ou carrier
pour eth0
. (4) Taper cat /proc/interrupts
donne un nombre
d'interruptions �gal � z�ro pour la carte. La plupart des erreurs de
configuration mat�rielle typiques sont elles aussi abord�es dans la FAQ.
Eh bien, si vous �tes parvenu � ce point et que cela ne marche toujours
pas, lisez la section FAQ de ce document, voyez le paragraphe sp�cifique
� votre carte dans la section ``Informations Sp�cifiques..'', et si
cela ne fonctionne toujours pas alors vous pourrez recourir � un
envoi de message dans un groupe de news appropri� pour demander
de l'aide. Si vous devez poster un message, veuillez d�tailler toute
information int�ressante dans ce message, comme la marque de la carte,
la version du noyau, les messages du pilote au d�marrage, le r�sultat de
cat /proc/net/dev
, une description claire du probl�me, et bien
entendu ce que vous avez d�j� essay� en vue de faire fonctionner
l'ensemble.
Vous serez surpris de voir le nombre de personnes qui envoient des choses totalement inutiles comme ``Est-ce que quelqu'un peut m'aider ? Mon Ethernet ne fonctionne pas.'' et rien d'autre. Les lecteurs des groupes de news ont tendance � ignorer des messages aussi idiots, alors qu'une description d�taill�e et instructive du probl�me pourra permettre � un `gourou-Linux' de r�soudre tout de suite votre probl�me.
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.
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.
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.
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
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
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 polling. 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, in ``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.)
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 transceiver 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.
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.
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 Donpour localiser le pilote que vous cherchez. (Prenez garde aux navigateurs 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 `Yes', `Oui') �
cette question si vous souhaitez �tre interrog�(e) sur l'inclusion d'un
pilote alpha ou exp�rimental.
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/
).
Avec le pilote charg� en module : 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.
Avec le pilote compil� dans le noyau : 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 une 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 surfant sur le r�seau, vous pourrez jeter un coup d'oeil � un mini-HOWTO que Donald a sur son site WWW. Consultez :
Plusieurs Cartes Ethernet.
ether=
n'a rien chang�. Pourquoi ?
Comme il a �t� dit pr�c�demment, la commande ether=
ne marche
que 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 devez
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.
Probl�me : Une carte PCI clone NE2000 n'est pas d�tect�e au d�marrage avec un noyau 2.0.x.
Raison :
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.
Solution : 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.
Probl�me :
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.
Raison : 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.
Solution : 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�.
Probl�me : 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.
Raison : 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�.
Solution :
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).
Probl�me :
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.
Raison : Votre carte et/ou le lien vers le bus PCI ne sait pas g�rer les optimisations d'E/S du pilote.
Solution :
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.
Probl�me : Ma carte ISA Plug and Play NE2000 (telle que la RealTek 8019) n'est pas d�tect�e.
Raison : A l'origine, les sp�cifications de NE2000 (et par cons�quent le pilote linux NE2000) ne supportent pas le PnP.
Solution :
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 isapnptools. 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 :
Probl�me :
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.
Raison : 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.
Solution :
Vous pouvez indiquer au pilote que vous poss�dez une mauvaise
carte (bad card) 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 devez 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
Probl�me : Ma carte NE*000 bloque la machine au premier acc�s r�seau.
Raison : 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.
Solution :
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.
Probl�me :
Ma carte Ethernet NE*000 � l'adresse 0x360
n'est pas d�tect�e.
Raison :
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.
Solution :
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.
Probl�me : Le r�seau `dispara�t' � chaque fois que j'imprime quelque chose (NE2000).
Raison : 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.
Probl�me :
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)
Raison :
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.
Solution : 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.
Probl�me :
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.
Solution :
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.
Raison : 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.
Probl�me : La machine se bloque pendant la d�tection du SCSI au d�marrage.
Raison :
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
.
Probl�me : La machine se bloque pendant la d�tection de la carte son au d�marrage.
Raison : Non, en fait c'est pendant la d�tection silencieuse du SCSI, et c'est le m�me probl�me que ci-dessus.
Probl�me : Ma carte NE2000 n'est pas d�tect�e au d�marrage. Il n'y a aucun message pendant le d�marrage.
Solution : 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 Howto) 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.
Probl�me : Vous obtenez des messages semblables � :
eth0: bogus packet size: 65531, status=0xff, nxpg=0xff
Raison : Il y a un probl�me de m�moire partag�e.
Solution :
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 'shadow ROM' pour cette zone, ou encore de faire fonctionner le bus ISA 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.
Probl�me : Une carte EtherEZ de SMC ne fonctionne pas en mode de m�moire non-partag�e (PIO).
Raison : Les versions les plus anciennes du pilote Ultra ne pouvaient utiliser la carte que dans le mode de travail � m�moire partag�e.
Solution : 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.
Probl�me : Une vieille wd8003 et/ou une wd8013 configurable par cavaliers ont toujours la mauvaise IRQ.
Raison : 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.
Solution : 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).
Probl�me : 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.
Raison : 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.
Solution : 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.
Probl�me : 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 ?
Solution :
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
, <une valeur
ignor�e>, 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 via LILO.
LILO: linux ether=9,0x300,0,1,eth0
Ce qui suit s�lectionne l'IRQ 3, d�tecte l'adresse de base, <une
valeur ignor�e>, et le port par d�faut (if_port
) num�ro 0 (le
transceiver interne).
LILO: linux ether=3,0,0,0,eth0
Probl�me :
3c503: configured interrupt X invalid, will use autoIRQ.
(3c503: l'interruption X configur�e est invalide, d�tection automatique
de l'IRQ)
Raison :
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.
Solution : Utilisez l'une des IRQ valides donn�es ci-dessus, ou autorisez la d�tection automatique en ne pr�cisant aucune ligne d'IRQ.
Probl�me : 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 ?
Solution :
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.
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=
.
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.
ifconfig
indique la mauvaise adresse d'E/S pour la carte.Non, ce n'est pas vrai. C'est vous qui l'interpr�tez de mani�re
erron�e. Ce n'est pas 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.
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.
0xffff
)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.
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.
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
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�.
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.
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.
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.
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.
Pour les derni�res informations � propos des Sparc, essayez donc l'URL suivante :
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.
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 !)
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.
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.
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 en cours
d'utilisation. 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 (Try again en
anglais) avec ifconfig
.
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.
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
gros
nombre BLANC errors 0
BLANC dropped 0
BLANC 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.
/dev/
pour cartes EthernetJ'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.
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.
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.
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.
M�me une carte 8 bits est capable de recevoir des paquets qui se suivent (back-to-back paquets 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).
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'importe quelle 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.
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 <comme_d_habitude> ... window <largeur_de_fenetre>
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
fonctionnant � 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 Ethernet. 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.
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 pouvez 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).
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 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
.
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
).
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 fortement d�conseill�e ! Encore plus avec un noyau IP `multicast', puisque vous allez aboutir � un arr�t pendant que vous �coutez chacun des paquets `multicast'. Lisez les commentaires au d�but du code source pour plus de d�tails.
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' (disable 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 ifconfig
ur�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.
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.
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.
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 `plug and play', et de
d�terminer le support de sortie dont ils ont besoin. Le pilote Linux
n'est pas capable aujourd'hui d'utiliser la fonctionnalit� de
d�tection automatique du support physique, donc vous devez
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
toujours 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.
Statut : Support�, Nom du pilote : 3c515
Il s'agit de l'offre 100 Mb/s de 3Com en ISA, nom de code ``CorkScrew'' (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
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/
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.
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/
.
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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
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.
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 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....
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.
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....
Statut : Partiellement support�, Nom du pilote : rtl8139
Cette carte utilise la puce Realtek 8139, r�f�rez vous � la section Realtek 8139
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.
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.
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
full duplex. 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.
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.
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 full duplex 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.
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 full duplex. Elle a �t� introduite en juin 1996 sur le march�.
Statut : Inconnu, Nom du pilote : pcnet32
Devrait marcher exactement comme la '971, mais reste � confirmer quand m�me.
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'Ethernet-HOWTO, pas du SCSI-HOWTO.
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.
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.
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 !
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.
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.
Oui, ils font autre chose que des cartes s�ries multi-ports. :-)
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 encore 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....
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.
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.
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 toute la zone de 128 Ko ! Cela signifie que vous ne pouvez pas, 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 devrez �teindre la machine et attendre 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.
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
.
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
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.
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.
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.
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.
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.
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.
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�.
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....
Statut : Support�, Nom du pilote : ne, ne2k-pci (+8390)
On dirait que D-Link a aussi commenc� � fabriquer des clones de NE2000.
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.
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
maintenant eth0
et non pas celui pr�c�demment utilis�,
dl0
.
Si votre port parall�le ne se trouve pas � 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.
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.
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 ne fait pas 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
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.)
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.
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
)
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.
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 deux 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.
Attention : M�me si votre carte est bas�e sur cette puce, les
pilotes peuvent ne pas fonctionner pour vous. 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 avant 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
alpha (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
Farallon vend des adaptateurs et des transceivers EtherWave. Ce p�riph�rique permet de mettre en s�rie plusieurs p�riph�riques 10baseT.
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.
Contrairement � de nombreux fabricants de puces, Fujitsu a aussi fabriqu� et vendu des cartes r�seau bas�es sur les leurs.
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.
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.
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 (loopback)).
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.
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.
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....
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....
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.
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.
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/
.
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
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.
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.
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.
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.
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.
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'avez pas 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.
Statut : Support�, Nom du pilote : eepro100
Notez que ce pilote ne fonctionnera pas 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@cesdis.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 ?
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
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
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.
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.
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.
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.
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
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.
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.
Statut : Partiellement support�, Nom du pilote : de4x5, tulip
La LNP104 utilise la puce 21050 de DEC pour fournir quatre 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).
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).
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 tous 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.
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'est pas 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.
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.
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....
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.
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.
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.
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.
Statut : Support�, Nom du pilote : ne (+8390)
Il s'agit apparemment d'un clone de NE2000, et il fonctionne correctement avec Linux.
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.
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).
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.
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.
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.
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.
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.
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
.
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'�tait pas
eth0
mais atp0
.
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.
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.
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.
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
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.
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.
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
.
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.
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 vieilles 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.
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.
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 ressemble � 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.
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�.
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 SMC Ultra 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.
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 avant de payer.
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
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.
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.
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.
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�.
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.
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.
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/
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.
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
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).
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.
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
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.
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).
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 Silly Interrupt Generator).
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.
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 deux 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.
Statut : Support�, Nom du pilote : de4x5, tulip
Vous avez le choix entre deux 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.
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.
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 ou 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.
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.
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
Quelques autres pilotes existent dans les sources Linux qui se pr�sentent comme 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 PPP-Howto.)
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.
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 comp.dcom.lans.ethernet 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).
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 quand m�me mettre en place les `T' et les bouchons de 50 ohms. -- vous ne pouvez pas 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 � chaque 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 font comme si 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. )
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).
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.
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 plein 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.
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 devez avoir une carte avec EEPROM pour utiliser cet utilitaire. Les vieilles, vieilles cartes wd8003, et certains clones de wd8013 utilisent � la place des cavaliers pour configurer la carte.
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
)
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 Kingstonet 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
.
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).
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.
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.
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.
Pour : N'utilise aucune ressource syst�me contrainte, juste quelques registres d'E/S, et n'a pas de limite � 16 M.
Contre : G�n�ralement le taux de transfert le plus faible, le processeur attend tout le temps, et un acc�s entrelac� (interleaved en anglais) aux paquets est habituellement difficile voire impossible.
Pour : 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 (checksum 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.
Contre : 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.
Pour : Lib�re le processeur pendant le transfert r�el des donn�es.
Contre : La v�rification des conditions aux limites de blocs, l'allocation de tampons (buffers 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.
Pour : 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.
Contre : (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 aucun 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.)
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
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.
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 pas bien 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.
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.
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)
.
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.)
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.
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).
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.
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 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.
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.
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 publi�s (c'est-�-dire pas 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 multicast. On peut le r�aliser de deux fa�ons :
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)
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.
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 tous 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.
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.
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 NET-2 Howto.
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.
Les stations d'accueil (docking stations en anglais, ou encore dock, 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.
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.
Tout ce qui se rapporte � Ethernet et qui ne rentrait pas ailleurs se retrouve ici. Ce n'est peut-�tre pas significatif, ni int�ressant pour tout le monde, mais de totue fa�on, c'est l�.
Voici deux commandes g�n�riques du noyau qui peuvent �tre pass�es au
noyau au moment du d�marrage (ether
et reserve
). Vous
pouvez le faire avec LILO, loadlin, ou tout autre utilitaire de
d�marrage qui accepte des arguments optionnels.
Par exemple, si la commande �tait `blabla' et qu'elle attende trois arguments (disons 123, 456 et 789), alors, avec LILO, vous pourriez taper au d�marrage :
LILO: linux blabla=123,456,789
Pour plus d'informations, ainsi qu'une liste compl�te, sur les arguments de d�marrage, veuillez consulter le
BootPrompt-HOWTO
ether
La commande ether=
est utilis�e en conjonction avec le pilote
compil� dans le noyau. Le ether=
n'aura absolument aucun
effet sur un pilote modulaire. Sous sa forme la plus g�n�rique, elle
ressemble � quelque chose comme :
ether=IRQ,ADR_DE_BASE,PARAM_1,PARAM_2,NOM
Tous les arguments sont optionnels. Le premier argument non-num�rique est consid�r� comme le NOM.
IRQ: Evident. Une valeur d'IRQ de `0' (habituellement la valeur par d�faut) signifie affectation automatique de l'IRQ. C'est un accident de l'Histoire que le param�tre d'IRQ soit en premier plut�t que l'adresse de base -- cela sera corrig� lorsque quelque chose d'autre changera.
ADR_DE_BASE: Evident aussi. Une valeur de `0' (habituellement la valeur par d�faut) signifie de tester une liste d'adresses sp�cifiques � ce type de carte pour essayer de d�tecter une carte Ethernet.
PARAM_1: Utilis� � l'origine comme une valeur qui passe outre l'adresse de d�part de la zone m�moire pour une carte Ethernet � m�moire partag�e, comme la WD80*3. Certains pilotes utilisent les quatre bits de poids faible de cette valeur pour fixer le niveau de message de d�bogage. 0 -- d�faut, 1-7 -- niveaux 1 � 7 (7 �tant le niveau le plus bavard), 8 -- niveau 0 (pas de messages). Le pilote LANCE utilise les quatre bits de poids faible de cette valeur pour s�lectionner le canal DMA. Sinon il utilise l'affectation automatique du DMA.
PARAM_2: Le pilote 3c503 l'utilise pour choisir entre le transceiver interne et le transceiver externe. 0 -- d�faut/interne, 1 -- AUI externe. Les cartes E21XX de Cabletron utilisent les quatre bits de poids faible de PARAM_2 pour choisir le support physique. Sinon il est d�tect� automatiquement.
NOM: S�lectionne le p�riph�rique r�seau auquel les valeurs se r�f�rent. Le noyau standard utilise les noms `eth0', `eth1', `eth2' et `eth3' pour les cartes Ethernet attach�es au bus, et `atp0' pour l'adaptateur `de poche' sur port parall�le. Le pilote ARCnet utilise le nom `arc0'. Le comportement par d�faut est de tester une seule carte Ethernet pour `eth0'. Vous ne pouvez activer plusieurs cartes qu'en fixant de fa�on explicite leur adresse de base avec les param�tres de LILO. Le noyau 1.0 consid�rait les cartes Ethernet bas�es sur la puce LANCE comme un cas sp�cial. Les arguments de LILO �taient ignor�s, et les cartes LANCE recevaient toujours des noms `eth<n>' en commen�ant � `eth0'. Les cartes suppl�mentaires, non-LANCE, devaient �tre affect�es � `eth<n+1>', et le test habituel de `eth0' devait alors �tre d�sactiv� avec quelque chose comme `ether=0,-1,eth0'. (Oui, c'est bogu�.)
reserve
Cette autre commande LILO est utilis�e exactement comme la commande
`ether=
' ci-dessus, c'est-�-dire que l'on ajoute son nom aux
options sp�cifi�es dans lilo.conf
:
reserve=IO-base,extent{,IO-base,extent...}
Sur certaines machines, il peut �tre n�cessaire d'emp�cher les pilotes de p�riph�rique de tester des p�riph�riques (auto-d�tection) dans une zone sp�cifique. Cela peut �tre le cas � cause d'un mat�riel mal con�u qui fige le d�marrage (comme certaines cartes Ethernet), qui est identifi� par erreur, dont l'�tat a �t� chang� par une proc�dure de d�tection pr�c�dente, ou plus encore d'un mat�riel que vous ne souhaitez pas voir initialis� par le noyau.
L'argument de d�marrage reserve
r�pond � cette attente en
sp�cifiant une r�gion de port d'E/S qui ne doit pas �tre test�e. Cette
r�gion est r�serv�e dans la table d'enregistrement des ports du noyau
comme si un p�riph�rique avait d�j� �t� trouv� dans cette r�gion. Notez
que ce m�canisme ne devrait pas �tre n�cessaire sur toutes les
machines. C'est seulement lorsqu'il y a un probl�me ou un cas sp�cial
que son utilisation peut se r�v�ler n�cessaire.
Les ports d'E/S dans la zone sp�cifi�e sont prot�g�s contre les
proc�dures de d�tection de p�riph�riques. Nous avons montr� que cela est
n�cessaire lorsqu'un pilote se bloque sur une carte NE2000, ou identifie
de fa�on erron�e un autre p�riph�rique comme �tant le sien. Un pilote de
p�riph�rique correct ne devrait pas tester une zone r�serv�e, � moins
qu'un autre argument de d�marrage ne sp�cifie explicitement qu'il doive
le faire sur cette zone. Cela implique que reserve
sera le plus
souvent utilis� avec un autre argument de d�marrage. Donc si vous
sp�cifiez une zone de reserve
pour prot�ger un p�riph�rique
donn�, vous devez g�n�ralement sp�cifier explicitement une d�tection
pour ce p�riph�rique. La plupart des pilotes ignorent la table
d'enregistrement des ports si on leur fournit une adresse explicite.
Par exemple, la ligne de d�marrage
LILO: linux reserve=0x300,32 ether=0,0x300,eth0
oblige tous les p�riph�riques � l'exception des pilotes Ethernet � ne
pas tester la plage 0x300-0x31f
.
Comme d'habitude avec les sp�cificateurs de d�marrage, il existe une
limite de 11 param�tres, donc vous ne pouvez sp�cifier que 5 zones
r�serv�es par mot-cl� reserve
. Plusieurs sp�cificateurs
reserve
fonctionneront si vous avez une requ�te inhabituellement
compliqu�e.
La majorit� des distributions disponibles ont des noyaux avec tr�s peu
de pilotes int�gr�s. Les pilotes sont fournis comme modules chargeables
dynamiquement. Ces pilotes modulaires sont normalement charg�s par
l'administrateur via la commande modprobe(8)
dans certains cas,
ils sont automatiquement charg�s par le noyau via kerneld
(pour
les 2.0) ou kmod
(pour les 2.1) qui eux-m�mes font appel �
modprobe
.
Votre distribution offre peut �tre de jolis outils graphiques pour configurer les modules ethernet. Si possible, essayez de les utiliser avant tout. La description qui suit explique ce qui se cache derri�re ces jolis petits programmes et ce que'ils changent.
Les informations qui d�terminent quels modules doivent �tre utilis�s et
les options qui leur sont associ�es sont en principe stock�es dans le
fichier /etc/conf.modules
. Les deux options qui y ont le plus
d'inter�t (pour les cartes ethernet) sont alias
et
options
. La commande modprobe
consulte ce fichier pour
obtenir des informations sur les modules.
Les modules utilis�s sont normalement stock�s dans un r�pertoire nomm�
/lib/modules/`uname -r`/net
o� la commande uname -r
retourne la version du noyau (ex : 2.0.34). Vous pouvez aller y faire un
tour pour savoir quels modules correspondent � votre carte.
La premi�re chose � mettre dans votre /etc/conf.modules
est une
ligne indiquant � modprobe
o� se trouve le pilote � utiliser avec
eth0
(et eth1
, ...), ceci gr�ce � un alias. Par exemple,
si vous avez une carte ISA SMC EtherEZ qui utilise le module
smc-ultra.o
, vous aurez besoin de cr�er un alias entre ce pilote
et eth0
en ajoutant cette ligne :
alias eth0 smc-ultra
Vous pourrez aussi avoir � ajouter une ligne d'options
indiquant
lesquelles doivent �tre utilis�es avec tel module (ou alias de
module). Continuons l'exemple ci-dessus : avec la ligne alias
seule, le noyau vous pr�viendrait (cf. dmesg
) que l'autod�tection
des cartes ISA n'est pas une bonne id�e. Pour supprimer cet
avertissement, il suffirait d'ajouter une ligne donnant au module
l'adresse d'E/S de votre carte, dans ce cas, l'adresse hexad�cimale
0x280
.
options smc-ultra io=0x280
La plupart des modules ISA acceptent des arguments comme io=0x340
et irq=12
sur la ligne de commande d'insmod
. Il est
REQUIS ou du moins FORTEMENT RECOMMAND� que vous
fournissiez ces param�tres pour �viter la d�tection automatique de la
carte. A la diff�rence des p�riph�riques PCI et EISA, il n'existe pas de
moyen vraiment s�r de r�aliser une d�tection automatique de la majorit�
des p�riph�riques ISA, et cela doit donc �tre �vit� quand on utilise les
pilotes sous la forme de modules chargeables.
Une liste de toutes les options accept�es par chaque module se trouve dans le fichier :
/usr/src/linux/Documentation/networking/net-modules.txt
Vous avez int�r�t � le lire pour trouver les options � utiliser pour votre carte. Notez que quelques modules permettent les listes d'options s�par�es par des virgules, ils sont capables de g�rer plusieurs cartes depuis un seul module, par exemple les cartes � base de 8390, ainsi que le pilote PLIP.
option 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1
La commande ci-dessus permet � un seul et m�me module de contr�ler quatre cartes 3c503, les cartes 2 et 4 utilisant le transceiver externe. Ne mettez pas d'espace autour des '=' ou des virgules.
Notez aussi que les modules utilis�s
ne peuvent �tre supprim�s de
la m�moire. Cela signifie que vous aurez � faire un ifconfig eth0
down
(arr�ter la carte ethernet) avant de pouvoir les supprimer.
La commande lsmod
vous dira quels sont les modules qui sont
charg�s, s'ils sont utilis�s, et rmmod
les supprimera.
La plupart des informations que vous trouvez dans ce document
proviennent de messages sauvegard�s des groupes de
comp.os.linux.*
, ce qui montre qu'il s'agit d'une vraie source
d'informations. D'autres renseignements tr�s utiles proviennent de tout
un tas de petits fichiers de Donald lui-m�me.
Bien entendu, si vous configurez une carte Ethernet, vous voudrez configurer les logiciels que vous allez utiliser, et vous lirez pour cela le Howto NET-3. Ou encore, si vous vous sentez pousser des ailes de ``hacker'', vous pourrez toujours grapiller des informations suppl�mentaires directement dans les fichiers sources des pilotes. Ils comportent en g�n�ral un paragraphe ou deux d�crivant les points importants, avant que le code ne d�marre...
Pour ceux d'entre vous qui recherchent des informations qui ne sont pas
sp�cifiques � Linux (comme : qu'est-ce que 10BaseT, qu'est-ce qu'AUI,
que fait un hub, etc.) je vous recommande fortement d'utiliser le groupe
de news comp.dcom.lans.ethernet
et/ou
comp.sys.ibm.pc.hardware.networking. Les archives de news tels
que deja.com
sont aussi une source intarissable de r�ponses. Vous
pouvez aussi r�cup�rer les FAQ de ces groupes de news sur par exemple :
Les FAQ de Usenet
Vous pouvez aussi consulter la `Page d'accueil d'Ethernet' pour ainsi dire, qui se trouve � l'URL suivante :
La page d'accueil d'Ethernet
Ce document n'est pas la bible. Toutefois, il s'agit certainement de la source d'informations la plus � jour que vous pourrez trouver. Personne n'est responsable de ce qui arrive � votre mat�riel hormis vous-m�me. Si votre carte Ethernet ou tout autre partie mat�rielle de votre ordinateur part en fum�e (...bien que ce soit pratiquement impossible !) nous n'en prenons aucune responsabilit�. LES AUTEURS NE SONT RESPONSABLES D'AUCUN DOMMAGE ENCOURU CONS�CUTIF A DES ACTIONS EFFECTU�ES EN SE BASANT SUR LES INFORMATIONS COMPRISES DANS CE DOCUMENT.
Ce document est Copyright (c) 1993-1997 by Paul Gortmaker. Il est permis de faire et de distribuer des copies compl�tes de ce manuel � condition que la notice de copyright et que cette notice de permission soient pr�serv�es dans toutes les copies.
Il est permis de copier et de distribuer des versions modifi�es de ce document sous les m�mes conditions que la copie compl�te, � condition que cette notice de copyright soit incluse exactement telle qu'elle l'est dans l'original, et que le travail d�riv� r�sultant, dans son int�gralit�, soit distribu� sous les termes d'une notice de permission identique � celle-ci.
Il est permis de copier et de distribuer des traductions de ce document dans d'autres langues, sous les m�mes conditions que ci-dessus pour les versions modifi�es.
Si vous avez l'intention d'int�grer ce document dans un travail destin� � la publication, contactez-moi (par courrier �lectronique) afin de pouvoir obtenir les informations les plus � jour possible. Par le pass�, des versions d�pass�es de documents Linux HOWTO ont �t� publi�es, causant aux d�veloppeurs le pr�judice ind� d'�tre empoisonn�s par des questions dont les r�ponses figuraient d�j� dans les versions � jour.
En accord avec cette notice, la version originale (en anglais) telle qu'elle appara�t dans l'Ethernet-HOWTO est fournie ici :
This document is not gospel. However, it is probably the most up to date info that you will be able to find. Nobody is responsible for what happens to your hardware but yourself. If your ethercard or any other hardware goes up in smoke (...nearly impossible!) we take no responsibility. ie. THE AUTHORS ARE NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE INFORMATION INCLUDED IN THIS DOCUMENT.
This document is Copyright (c) 1993-1997 by Paul Gortmaker. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that this copyright notice is included exactly as in the original, and that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions.
A hint to people considering doing a translation. First,
translate the SGML source (available via FTP from the HowTo
main site) so that you can then generate other output formats.
Be sure to keep a copy of the original English SGML source that
you translated from! When an updated HowTo is released,
get the new SGML source for that version, and then a simple
diff -u old.sgml new.sgml
will show you exactly what has
changed so that you can easily incorporate those changes into
your translated SMGL source without having to re-read or
re-translate everything.
If you are intending to incorporate this document into a published work, please make contact (via e-mail) so that you can be supplied with the most up to date information available. In the past, out of date versions of the Linux HowTo documents have been published, which caused the developers undue grief from being plagued with questions that were already answered in the up to date versions.
Ce document fait partie des HOWTO Linux traduits en fran�ais. Vous pouvez trouver une liste � jour de ces documents � l'adresse http://www.freenix.org/unix/linux/HOWTO/Liste-des-HOWTO.html
Les HOWTO Linux font partie du Linux Documentation Project
(LDP). Si vous souhaitez participer au LDP ou � sa traduction en
fran�ais, vous pouvez consulter
http://www.freenix.org/unix/linux/HOWTO/Liste-des-HOWTO.html
ou contacter Eric Dumas, dumas@linux.eu.org
.
Cette version fran�aise a �t� r�alis�e par Mathieu Arnold
<arn_mat@club-internet.fr>
, St�phane Alnet
<alnet@u-picardie.fr>
�tait l'ancien traducteur. Elle est
Copyright (c) 1997-1998, Mathieu Arnold, selon les termes de la notice
ci-dessus.
Si vous constatez des erreurs dans la traduction en fran�ais, merci d'en informer le traducteur. Vos remarques seront prises en compte pour la prochaine version de la traduction.
Si vous avez trouv� une faute de frappe �naurme, ou des informations d�pass�es dans ce document, merci d'envoyer un courrier �lectronique. Il est �norme, et il est facile de rater certaines choses. Si vous avez envoy� un courrier � propos d'une modification, et qu'elle n'a pas �t� incluse dans la version suivante, n'h�sitez pas � la r�-envoyer, car elle a pu se perdre dans le flot habituel de SPAM et de prospectus que je re�ois.
Merci !
Paul Gortmaker, p_gortmaker@yahoo.com