/usr/share/doc/HOWTO/fr-html/Multi-Ethernet.html is in doc-linux-fr-html 2013.01-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>Mini-HOWTO Machines Multi-Ethernet</title>
</head>
<body>
<h1>Mini-HOWTO Machines Multi-Ethernet</h1>
<h2>Don Becker, <code>becker@cesdis.gsfc.nasa.gov</code></h2>
5 août 1995
<hr>
<em>Ce mini-Howto explique comment configurer Linux pour qu'il
reconnaisse plusieurs cartes Ethernet sur une même
machine.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>Dans le cas de la plupart des distributions classiques de Linux,
il suffit d'ajouter la ligne suivante au début de votre
fichier <code>/etc/lilo.conf</code> et de relancer
<code>lilo</code> :</p>
<pre>
append = "ether=0,0,eth1"
</pre>
<p>C'est tout ce que vous avez à faire. Lors du prochain
redémarrage de la machine, Linux devrait reconnaître
la seconde carte.</p>
<h2><a name="s2">2. Les différentes solutions</a></h2>
<p>Par défaut, le noyau Linux ne recherche qu'une seule
carte Ethernet, et ne va pas plus loin dès qu'il en a
trouvé une. Il y a trois façons de contraindre le
noyau à rechercher des cartes supplémentaires. Par
ordre de simplicité (et de souplesse) croissante :</p>
<ul>
<li>fournir des paramètres au noyau lors du
démarrage ;</li>
<li>configurer le chargeur pour qu'il fournisse lui-même
systématiquement ces paramètres au noyau ;</li>
<li>modifier les tables de détection des cartes Ethernet du
noyau dans le fichier <code>drivers/net/Space.c</code> (et
recompiler le noyau après coup).</li>
</ul>
<p>Dans la plupart des cas, c'est la deuxième solution qui
convient le mieux, et correspond à ce que nous avons
décrit en introduction. Les deux premières solutions
reposent sur le passage de paramètres au noyaux et sont
décrites dans la section suivante. La troisième
solution est décrite ensuite.</p>
<h2><a name="s3">3. Transmettre des paramètres au
noyau</a></h2>
<p>Le noyau Linux admet qu'on lui fournisse un certain nombre de
paramètres lors de son lancement. Le plus souvent ces
paramètres décrivent des aspects de la configuration
qui ne peuvent être déterminés qu'au moment du
démarrage. Pour les cartes réseaux, le
paramètre est le suivant :</p>
<pre>
ether=IRQ,adresse-E/S,param1,param2,nom
</pre>
<p>Les valeurs numériques admises peuvent être
exprimées en décimal, en octal
(précédées par un '0') ou en
hexadécimal (précédées par '0x'). Le
premier argument qui n'est pas une valeur numérique est pris
comme <em>nom</em> du périphérique (ici une carte
réseau). Les paramètres vides (entre virgules) ont
zéro comme valeur par défaut, et les
paramètres manquants avant le nom ne sont pas
modifiés.</p>
<dl>
<dt><b><code>IRQ</code></b></dt>
<dd>
<p>Ce paramètre indique l'IRQ (ligne d'interruption)
à configurer (pour les cartes admettant un
paramétrage logiciel de l'IRQ) ou à utiliser (pour
celles où l'IRQ est configurée avec des cavaliers sur
la carte). Une valeur nulle (0) indique de demander à la
carte quelle IRQ utiliser (si elle le permet) ou d'utiliser
l'autoIRQ si la carte ne le permet pas.</p>
</dd>
<dt><b><code>adresse-E/S</code></b></dt>
<dd>
<p>Ce paramètre indique l'adresse d'entrée/sortie
à tester. Une valeur nulle (0) demande le test de toutes les
adresses d'entrée/sortie raisonnables. Celles-ci sont
déterminées d'après une carte des zones
d'entrée/sortie habituelles pour les différents types
de périphérique. Cette carte des zones est
ignorée si une adresse d'entrée/sortie est
spécifiée. Utilisé avec le paramètre
<code>reserve=<em>base</em>,<em>taille</em>,</code>...</p>
<blockquote>Se reporter à la documentation
<em>Lilo</em>.</blockquote>
ceci permet d'empêcher l'auto-test d'une zone
d'entrée/sortie par d'autres pilotes et d'éviter
ainsi le dysfonctionnement d'un périphérique qui se
trouverait pertubé par ces tests.</dd>
<dt><b><code>param1,param2</code></b></dt>
<dd>
<p>Au départ, ces paramètres permettaient d'indiquer
l'adresse d'une zone de mémoire partagée pour les
cartes qui utilisaient cette technique, comme la WD8013. Leur
utilisation a ensuite été étendue à la
transmission d'autres informations propres aux différents
types de cartes.</p>
</dd>
<dt><b><code>nom</code></b></dt>
<dd>
<p>Ce paramètre indique le nom d'un
périphérique prédéfini. Le noyau
standard définit ainsi au moins "<code>eth0</code>",
"<code>eth1</code>", "<code>eth2</code>" et "<code>eth3</code>".
D'autres noms peuvent être prédéfinis (pour
PPP, SLIP, etc.) mais ils ont une sémantique
différente (pour toute précision, se reporter aux FAQ
et HOWTO correspondants).</p>
</dd>
</dl>
<p>Deux méthodes peuvent être utilisées pour
fournir ces paramètres au noyau Linux lors de son lancement.
La méthode habituelle est de les indiquer directement
après le nom de l'image noyau à charger. L'exemple
suivant permet de tester les quatre emplacements
possibles :</p>
<pre>
linux ether=0,0,eth1 ether=0,0,eth2 ether=0,0,eth3
</pre>
<p>Pour éviter d'avoir à taper ceci à chaque
démarrage, il est plus pratique de configurer votre
chargeur.</p>
<h2><a name="ss3.1">3.1 Configurer votre chargeur</a></h2>
<p>Il est supposé dans ce qui suit que vous utilisez le
chargeur Linux standard <em>Lilo</em>.</p>
<p>Il est bien évidemment pénible d'avoir à
taper une série de paramètres lors de chaque
démarrage, et de plus cela empêcherait tout
redémarrage involontaire de s'effectuer correctement</p>
<blockquote>Bien que ce type de redémarrage ne se produise
pas sous Linux <code>;-)</code>(<em>N.D.T.</em>).</blockquote>
. L'ajout d'une ligne <code>append</code> à votre fichier de
configuration <em>Lilo</em> (<code>/etc/lilo.conf</code>) vous
permet de fournir automatiquement ces paramètres au noyau
(n'oubliez pas de relancer <code>lilo</code> pour mettre à
jour votre configuration).
<pre>
append = "ether=0,0,eth1 ether=0,0,eth2 ether=0,0,eth3"
</pre>
<p>Cet exemple est équivalent au précédent
(test des quatre emplacements), en utilisant cette fois
<em>Lilo</em> pour transmettre à chaque démarrage ces
paramètres au noyau.</p>
<h2><a name="s4">4. Modifier le noyau</a></h2>
<p>Si vous pouvez configurer votre système sans toucher au
code source du noyau, nous vous recommandons fortement de faire
ainsi (cf. supra). Il est difficile de garder une trace d'une
modification apportée au code source et cela complique
grandement les mises à jour du noyau. Toutefois, cela
s'impose dans les situations suivantes :</p>
<ul>
<li>lorsque vous avez besoin de plus de quatre cartes (seules
<code>eth0</code> à <code>eth3</code> sont définies
dans le source <code>drivers/net/Space.c</code>) ;</li>
<li>vous devez resteindre les types de périphériques
recherchés à un sous-ensemble précis de types
de cartes quand, par exemple, le mécanisme de
détection confond des types de cartes
différents ;</li>
<li>quand vous voulez utiliser un nom de périphérique
différent de <code>eth</code><em>x</em>.</li>
</ul>
<h2><a name="s5">5. Notes sur la détection de quelques
cartes particulières</a></h2>
<h2><a name="ss5.1">5.1 Cartes Lance/PCNET</a></h2>
<p>Le pilote Lance a besoin de tampons DMA en mémoire basse,
ce qui fait que la procédure de détection des cartes
Lance est spécifique à ce type de cartes, et
effectuée avant la détection des autres
périphériques réseaux. L'avantage est que les
cartes Lance multiples sont automatiquement détectées
par cette procédure, l'inconvénient est que le pilote
Lance ignore (pour le moment) les paramètres <em>Lilo</em>
telle l'IRQ.</p>
<h2><a name="ss5.2">5.2 La 3C509 en mode ISA</a></h2>
<p>La 3C509 présente la caractéristique unique de
permettre une détection vraiment sûre par le bus ISA.
C'est une caractéristique intéressante, mais
malheureusement pour les situations qui nous intéressent
ici, cela ne fait pas très bon ménage avec les autres
mécanismes de détection.</p>
<p>Le problème le plus important est qu'il est difficile de
savoir quelle carte sera reconnue en premier, l'ordre
dépendant de l'adresse Ethernet des cartes. Cela signifie
que la carte avec l'adresse la plus basse se verra affectée
à <code>eth0</code>, et ainsi de suite. Si la carte
correspondant à <code>eth0</code> est retirée, toutes
les autres cartes voient leur nom de périphérique
décalé d'une unité vers <code>eth0</code>.</p>
<p>Un problème lié est qu'il n'est pas possible de
laisser une première carte inactive, ou une carte active
à une adresse ou à une IRQ différentes de
celles indiquées dans l'EEPROM, ou encore de configurer une
carte à une adresse spécifique.</p>
<h2><a name="ss5.3">5.3 La 3C579 EISA et la 3C509 en mode
EISA</a></h2>
<p>Les noyaux de version antérieure à la 1.1.25 ne
détecteront pas correctement les cartes multiples en mode
EISA. Si plusieurs périphériques
<code>eth</code><em>x</em> sont indiqués, la
<em>même</em> carte 3C509 sera détectée
plusieurs fois. La solution est de spécifier l'adresse
d'entrée/sortie directement. Les noyaux de version
ultérieure détecteront correctement plusieurs cartes
en mode EISA, et détecteront aussi des cartes en mode ISA
supplémentaires, une fois toutes les adresses potentielles
de cartes en mode EISA testées.</p>
<blockquote>Don Becker,
<code>becker@cesdis.gsfc.nasa.gov</code></blockquote>
</body>
</html>
|