This file is indexed.

/usr/share/doc/HOWTO/fr-html/Multi-Ethernet.html is in doc-linux-fr-html 2013.01-3ubuntu1.

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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.72">
<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>&nbsp;:</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&nbsp;:</p>
<ul>
<li>fournir des paramètres au noyau lors du démarrage&nbsp;;</li>
<li>configurer le chargeur pour qu'il fournisse lui-même
systématiquement ces paramètres au noyau&nbsp;;</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&nbsp;:</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&nbsp;:</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&nbsp;:</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>)&nbsp;;</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&nbsp;;</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>