Token-Ring HOWTO Mike Eckhoff (meckhoff@zaphod.wayne.esu1.k12.ne.us). Version française et adaptation : Etienne BERNARD (eb@via.ecp.fr) v1.0, 22 Octobre 1996 Version 3, 5 Juillet 1995 _________________________________________________________________ _L'Ethernet-HOWTO fait référence au driver Token Ring qui est en cours d'écriture. Ce Howto a été créé dans le but de vous aider à installer le patch pour le noyau et aussi essayer de mettre en évidence les points à surveiller. Je suggère que vous lisiez, au moins rapidement, ce document, avant d'essayer d'installer quelque partie que ce soit du driver Token Ring pour Linux._ _________________________________________________________________ 1. Introduction 1.1 Remerciements Remerciements à Mark Swanson, Peter De Schrijver, David Morris et toutes les autres personnes que j'aurais pu oublier qui ont rendu possible le support Token Ring pour Linux. Remerciements aussi à Larry Sanders (lsanders@iadfw.net) qui m'a aidé à corriger ce document. 1.2 Mise en garde Nous ne garantissons pas que ce Howto sera valable pour votre système. De nombreuses personnes l'ont utilisé avec de très bons résultats pour installer Linux sur un réseau Token Ring. VOUS UTILISEZ CE DOCUMENT A VOS PROPRES RISQUES ! ... Nous ne sommes responsables d'aucun des problèmes pouvant vous arriver en utilisant ce Howto. Si vous avez un quelconque problème qui n'est pas signalé dans ce document, envoyez moi un mail à meckhoff@zaphod.wayne.esu1.k12.ne.us. Ce document est copyright © 1995 Michael Eckhoff. Vous pouvez faire des copies de ce document (en entier ou certaines portions du document), sur quelque support physique ou électronique que ce soit, du moment que cette notice de copyright soit incluse dans chaque copie. Une redistribution commerciale est autorisée et encouragée ; cependant, veuillez me tenir au courant afin que je vérifie que vous avez la dernière version. 2. Exigences matérielles Vérifiez que vous avez une carte Token Ring qui est supportée par le driver. Jusqu'à présent, les seules cartes supportées sont celles qui utilisent le chipset Tropic. Les cartes qui sont réputées marcher sous Linux sont : * IBM Token Ring 16/4 Adapter ; * IBM Token Ring Adapter ; * IBM Token Ring Adapter II (4 Mégabit seulement) ; * Carte IBM 16/4 ISA Token Ring (16 bit) ; * Carte IBM 16/4 ISA Token Ring (8 bit) ; * 3Com TokenLink Adapter (mode IBM et 3Com) ; * HyperRing Classic 16/4. Veuillez noter qu'IBM fabrique une carte IBM Token-Ring Network 16/4 Adapter II. Cette carte _n'est pas reconnue sous Linux_. Il ne faut pas la confondre avec la carte IBM Token Ring Adapter II (4mbit), qui elle est supportée. Si vous trouvez une autre carte qui fonctionne sous Linux, envoyez-moi un mail décrivant la marque et le type de la carte afin que je puisse l'inclure dans la liste précédente (meckhoff@zaphod.wayne.esu1.k12.ne.us). 3. Les logiciels requis Si vous utilisez une version du noyau Linux de la série 1.3 ou supérieur, le support pour le Token Ring y est déjà inclus. Sinon, je vous encourage vivement à mettre à jour votre noyau Linux vers un de ceux de la série 2.0 ou supérieur. 4. Installation et configuration Installez la carte Token Ring dans l'ordinateur et configurez-la pour les réglages que vous voulez utiliser. Il est conseillé de vérifier que la carte fonctionne sous Dos ou Windows avant d'essayer de l'utiliser sous Linux. Si elle marche sous Dos ou Windows, il y a de fortes chances pour que cela marche sous Linux. Configurez votre noyau Linux pour l'utilisation de la carte Token Ring. cd /usr/src/linux make config Répondre ''y'' (yes) à la question : Token Ring support (CONFIG_TR) [N/y/?] Ainsi qu'à la question : IBM Tropic chipset based adaptor support (CONFIG_IBMTR) [N/y/m/?] (NEW) Reconstruire le noyau avec les commandes : make dep make clean make zImage Il faut ensuite reconfigurer lilo pour démarrer sur ce nouveau noyau. Pour cela, il faut d'abord renommer votre noyau /vmlinuz en /vmlinuz.old et copier le nouveau en /vmlinuz. Sur mon système, cela revient à copier /usr/src/linux/arch/i386/boot/zImage en /vmlinuz et à éditer /etc/lilo.conf pour démarrer sur ce noyau. N'oubliez pas de lancer lilo (avec la commande lilo) afin que les changements de noyau soient pris en compte. Si ce n'est pas déjà fait, lancez le programme ``netconfig'' sur votre système. Configurez votre machine comme si celle-ci se trouvait sur un réseau Ethernet. Editez votre fichier /etc/rc.d/rc.inet1 (ou un fichier dans /etc/init.d pour certaines distributions) et changez toutes les références à eth0 en tr0. Vous devriez avoir une ligne ressemblant à /sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK} qu'il faut changer en /sbin/ifconfig tr0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK} Vous devriez maintenant pouvoir rebooter votre système et utiliser la carte Token Ring avec votre ordinateur. 5. Problèmes connus J'ai personnellement eu quelques petits problèmes avec ce driver. Selon Peter De Schrijver, un des problèmes principaux avec ce driver est le routage. From: Peter de Schrijver La cause principale du problème est le routage. Si vous ne pouvez pas atteindre un noeud du réseau situé derrière un pont, vous avez un problème de routage. Contactez-moi si vous rencontrez ce problème, et j'essaierai de faire ce que je peux. Je n'ai pas moi-même accès à un anneau comportant un pont, il devrait donc être difficile de résoudre le problème. Peter. Notre réseau, ici, à la Wayne Community Schools est constitué de deux anneaux et d'un réseau Ethernet dont le pont est réalisé par des IBM 8229. Je n'ai eu aucun problème de routage avec ces ponts. J'ai aussi testé le driver sur un réseau constitué de 7 ponts, reliés par une combinaison d'IBM 8229 et d'IBM PC utilisant le logiciel IBM. Aucun problème là non plus. 6. Questions Voici quelques questions que j'ai reçues par mail à propos du Token Ring sous Linux. * Au démarrage, j'ai le message tr0: Can't assign device to adapter Lorsque c'est le seul message produit au démarrage, cela signifie que la requête PIO d'information sur l'adaptateur est tellement en dehors de l'intervalle qu'il n'y a pas de carte à cette adresse d'entrée-sortie (voir segment = inb(PIOaddr) dans ibmtr.c). * Ma carte est une Olicom 16/4 Adapter. J'ai le message suivant dans /var/log/messages : May 2 10:03:14 linux kernel: tr0: Unable to assign adapter to device. May 2 10:03:14 linux kernel: tr1: Unable to assign adapter to device. Cette carte ne doit pas utiliser le chipset Tropic. Essayez d'utiliser une des cartes de la liste du début du document. * J'ai une carte Token Ring IBM, mais j'ai les messages suivants au démarrage : May 2 16:23:07 linux kernel: tr0: PIOaddr: a20 seg/intr: b8 mmio base: 000dc000 intr: 0 May 2 16:23:07 linux kernel: tr0: Channel ID string not found for PIOaddr: a2 0 May 2 16:23:07 linux kernel: tr0: Expected for ISA: 5049434f3631313039393020 May 2 16:23:07 linux kernel: tr0: found: 000902003021111000182000 May 2 16:23:07 linux kernel: tr0: Expected for MCA: 4d4152533633583435313820 May 2 16:23:07 linux kernel: tr0: Unable to assign adapter to device. May 2 16:23:07 linux kernel: tr1: Unable to assign adapter to device. Ce message indique soit un conflit mémoire soit une carte Token Ring qui n'est pas reconnue (la signature de cette carte n'est en tout cas pas connue). * Je trouve dans mon fichier /var/log/messages des dizaines de lignes de ce type : May 3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec. Donald resets adapter, but resetting May 3 15:11:47 linux kernel: the IBM tokenring adapter takes a long time. It might not even help when the May 3 15:11:47 linux kernel: ring is very busy, so we just wait a little longer and hope for the best. Ces messages apparaissent lorsque j'essaye un telnet, un rlogin ou un ftp sur une machine distante. La connexion est alors bloquée pendant longtemps. Certaines personnes travaillent à la correction de ce problème. Je mettrai à jour cette réponse lorsqu'une solution sera trouvée.