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 Lilo telle l'IRQ.
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.
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 à eth0
, et ainsi de suite. Si la
carte correspondant à eth0
est retirée, toutes les autres
cartes voient leur nom de périphérique décalé d'une unité vers eth0
.
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.
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 eth
x sont indiqués, la même
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.
Don Becker, becker@cesdis.gsfc.nasa.gov