Page suivantePage pr�c�denteTable des mati�res

9. Connexion PLIP entre Dos et Linux

Apr�s la premi�re version de ce Mini-HOWTO, plusieurs personnes m'ont �crites pour avoir des informations au sujet de la connexion entre une machine sous Linux et une autre sous Dos (ou Windows). Cet int�r�t me conduit donc � ajouter cette section qui, je l'esp�re, viendra en aide � chacun.

Cette section provient d'un article que j'ai trouv� dans la Linux Gazette dont l'auteur est James McDuffie mcduffie@scsn.net. Il couvre l'installation de base d'une connexion PLIP entre deux machines, l'une sous Linux, l'autre sous Dos utilisant Windows et Trumpet Winsock. Il donne aussi l'adresse d'un programme int�ressant qui permet d'ouvrir des fen�tres X-Window sous Windows.

La partie suivante est un ensemble de notes envoy�es par James Vahn jvahn@short.circuit.com o� il d�crit en profondeur comment installer cette connexion et comment r�soudre plusieurs probl�mes.

Pour toute question au sujet de cette section, s'il vous plait contactez James Vahn, pas moi.

9.1 Configuration d'une connexion entre Dos et Linux

Je suppose que vous avez d�j� installer correctement le support PLIP du cot� de la machine Linux et que vous avez le bon c�ble. Sinon retournez aux chapitres pr�c�dents.

Maintenant, du cot� du Dos, vous avez, avant tout, besoin d'un pilote de paquets Ethernet. Vous pouvez en trouver un � cette adresse :

ftp://ftp.crynwr.com/drivers/plip.zip

Le programme s'ex�cute sous Dos et joue le r�le d'un pilote de paquets Ethernet. Si vous voulez utiliser PLIP sous Windows, vous avez �galement besoin de Trumpet Winsock. Il sert d'interface TCP/IP. Sinon, vous pouvez probablement trouver un logiciel TCP/IP pour Dos.

Maintenant retournez � l'ordinateur sous Linux et ajoutez l'adresse de l'ordinateur sous Dos dans le fichier /etc/hosts. Si votre machine Dos n'a pas de d'adresse IP enregistr�e, vous pouvez choisir n'importe quelle adresse (Rappelez vous toutefois l'avertissement de la section Configuration des fichiers au sujet des adresses IP).

Supposons que vous choisissez le nom linux pour la machine sous Linux et dos pour la machine sous Dos. Vous devez taper :

ifconfig plip1 linux pointopoint dos arp up
route add dos

Bien s�r si vous voulez que ce soit fait � chaque d�marrage de Linux, vous devez ajouter ces lignes dans le fichier /etc/rc.d/rc.inet :


/sbin/ifconfig plip1 linux pointopoint dos arp up
/sbin/route add dos

Ces lignes configurent l'interface et lui ajoutent ensuite une route. Bien s�r, si vous utilisez le second port parall�le, vous devez �crire plip2 � la place de plip1.

Retournez � la machine sous Dos/Windows et �ditez le fichier autoexec.bat, vous devez ajouter les lignes suivantes :


c:\plip\plip.com 0x60
c:\tcpip\winsock\winpkt.com 0x60

Je suppose que vous avez mis plip.com (le pilote de paquets) dans le r�pertoire c:\plip et winpkt.com dans c:\tcpip, sinon vous devez mettre le bon chemin.

Ces lignes configurent le programme plip.com sur le vecteur de paquets 0x60 et chargent ensuite le programme winpkt.com qui vient sur le m�me vecteur que le programme Trumpet Winsock. Si le c�ble est sur un autre port que LPT1, vous devrez donner � plip.com le num�ro d'IRQ et l'adresse d'E/S. Pour que le programme winpkt.com puisse tourner, Windows doit avoir acc�s au vecteur de paquets. A partir de maintenant, nous allons sous le programme de configuration de Trumpet Winsock. Vous n'avez qu'� d�s�lectionner SLIP ou PPP et d'entrer 60 dans la bo�te nomm� Packet vector. Puis indiquez lui l'adresse IP que vous donnez � la machine sous Dos, celle de l'ordinateur sous Linux comme la passerelle par d�faut et le Serveur de Nom comme l'IP de votre ordinateur, ou votre adresse d'ISP pour son serveur de nom (si vous allez vous connecter � l'Internet, voir ci-dessous). Fermez le programme de configuration, relancez Winsock, et ce devrait �tre bon ! Mettez Winsock dans le groupe de d�marrage et il se lancera automatiquement � chaque d�marrage de Windows.

Si vous voulez acc�der � l'Internet � partir de la machine sous Windows, par l'interm�diaire de la machine sous Linux, vous avez besoin de configurer l'IP Masquerading. Pour plus d'informations dessus, lisez NET-2-HowTo. Votre ordinateur sous Windows utilise l'adresse IP de la machine sous Linux.

J'ai aussi trouv� un programme qui vous permet de lancer de programmes X-Window sous Windows ! Il se trouve � l'adresse http://www.tucows.com/.

Configurez-le en fonction des directions, puis vous n'avez plus qu'� faire un telnet depuis votre machine Windows et rediriger l'affichage sur votre machine (DISPLAY=duncan:0.0 par exemple). Vous pouvez alors lancer le programme d�sir�.

Il n'y a rien de plus sympa que de faire tourner xv sous Windows ! J'esp�re que tout ceci vous a aid�.

9.2 Exp�rience pratique de connexion PLIP entre Dos et Linux

NB : J'ai re�u ce document de James Vahn jvahn@short.circuit.com et je le mets ici sans le modifier. Ainsi, pour les questions au sujet de cette section, il est beaucoup plus qualifi� que moi. Il vaut donc mieux le contacter par courrier �lectronique. Son exp�rience de connexion PLIP entre un ordinateur sous Dos n'ayant qu'un lecteur de disquettes et une machine sous Linux est le parfait exemple de la mani�re d'aborder les probl�mes couramment rencontr�s.

Derni�re mise � jour : 11 juillet 1996

Ma machine Dos qui ne poss�de qu'un lecteur de disquette est en r�seau par une connexion PLIP sur le deuxi�me port parall�le sur la machine Linux. Une imprimante est branch�e sur le premier port parall�le. Les deux machines sont connect�es en permanence et la machine sous Dos effectue un telnet sur Linux. Voici mes notes sur ma mani�re de l'obtenir.

Quand le noyau recherche les ports d'imprimantes, il les r�cup�re tous, � moins que vous ayez sp�cifier de ne pas en rechercher un. Sinon PLIP ne pourrait pas trouver de port libre. Une m�thode consiste � charger les pilotes comme des modules lorsque c'est n�cessaire...

gniibe@mri.co.jp �crit :

Je recommande d'utiliser PLIP/LP comme des modules du noyau, pour les raisons suivantes :

Avec PLIP/LP comme modules du noyau, vous pouvez sp�cifier sur quels ports seront PLIP et LP. Voici un exemple :

# insmod lp.o io=0x378
# insmod plip.o io=0x278 irq=2

Vous pouvez m�me utiliser deux ports parall�les :

# insmod plip.o io=0x278,0x3bc irq=2,5

Dans l'exemple ci-dessus,

plip0 est plac� � l'adresse 0x278 et son IRQ est 2 ;

plip1 est plac� � l'adresse 0x3bc et son IRQ est 5.

Les modules semblent apparemment �tre le meilleur moyen pour utiliser PLIP et LP ensembles. La m�thode suivante montre comment installer modifier les sources du noyau afin de permettre � la fois l'imprimante et PLIP sur diff�rents ports sans utiliser de modules. Si vous n'�tes pas familier avec les modules, vous pourrez trouver �a plus rapide � configurer.

Vous aurez besoin de modifier deux fichiers dans l'arborescence des sources du noyau. J'utilise le noyau 1.2.3 et effectuer quelques changements n�cessaires dans le fichier ../linux/drivers/net/Space.c pour qu'il soit conforme � mon syst�me. Regardez aux alentours de la ligne 205 (Le num�ro de la ligne d�pend de la version du noyau. Pour un version plus r�cente (2.0.30), il faudra regarder autour de la ligne num�ro 295 -- NdT.) pour la d�finitions de PLIP afin d'�tre s�r que le port et l'IRQ conviennent, et noter quel pilote sera utilis� (plip0, plip1, plip2). Dans mon cas, le port 0x278 utilise l'IRQ 5 (la carte est ainsi configur�e), alors que Space.c le d�finit avec l'IRQ 2. J'ai pr�f�r� faire cette modification plut�t que d'ouvrir la machine pour changer les jumpers. L'autre alternative consiste � sp�cifier l'IRQ dans la ligne de commande de ifconfig, mais le noyau d�marrera avec le mauvais IRQ pour PLIP et ce pourrait �tre ennuyeux pour vous. Ici, ce n'est qu'un simple changement (un seul caract�re).

L'�tape suivante est la plus d�licate :

Dans le fichier ../drivers/char/lp.c, vous trouverez ce qui suit aux alentours de la ligne 35 (M�me num�ro de ligne pour la version 2.0.30 du noyau -- NdT) :


struct lp_struct lp_table[] = {
 { 0x3bc, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
 { 0x378, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
/*  { 0x278, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
 * 0x278 reserved for plip1
 *
 * };
 * #define LP_NO 3
 */
};
#define LP_NO 2

Notez que les changements � faire : une des d�finitions de port est mise en commentaire. Seulement deux ports sont donc d�finis. Le port 0x3bc ne fonctionnera probablement pas pour PLIP : la ligne d'IRQ n'est normalement pas conserver sur ces ports, comme on le trouve sur les vieux adaptateurs monochromes (MDA).

Vous avez effectu� une sauvegarde de ces fichiers avant les changer, non ? Maintenant, configurez le nouveau noyau avec les supports printer (imprimante), net (r�seau), dummy (support fictif) et plip.

Configuration du syst�me. Voici mon fichier /etc/rc.d/rc.inet1 :


#!/bin/bash
#
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0
/sbin/ifconfig dummy 200.0.0.1
/sbin/route add -net 200.0.0.0 netmask 255.255.255.0
/sbin/ifconfig plip1 arp 200.0.0.1 pointopoint 200.0.0.2 up
/sbin/route add 200.0.0.2
/sbin/ifconfig dummy down

Notez que arp est utilis� pour la connexion Dos-Linux et n'est apparemment pas n�cessaire pour lors de connexions Linux-Linux.

Ensuite ajoutez dans le fichier /etc/hosts les lignes suivantes, elles assignent un nom � chaque machine :


200.0.0.1       console1
200.0.0.2       console2

La machine Dos porte le nom de console2. Rappelez vous l'avertissement d'Andrea au sujet des IPs : il est pr�f�rable d'utiliser les sch�mas officiels de num�rotation.

Red�marrez la machine afin que les changements et le nouveau noyau prennent effet. Pendant la s�quence de d�marrage (ou en lan�ant dmesg), vous devez avoir les messages suivants si vous avez utiliser les patches, sinon quand les modules sont charg�s :

lp0 at 0x03bc, using polling driver
lp1 at 0x0378, using polling driver
[....]
NET3 PLIP version 2.0 gniibe@mri.co.jp
plip1: Parallel port at 0x278, using assigned IRQ 5.

La commande route affiche alors ceci :

Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
console2        *               255.255.255.255 UH    1436   0      136 plip1
loopback        *               255.0.0.0       U     1936   0      109 lo

Et la commande ifconfig plip1 affiche :

plip1     Link encap:10Mbps Ethernet  HWaddr FC:FC:C8:00:00:01
 inet addr:200.0.0.1  P-t-P:200.0.0.2  Mask:255.255.255.0
 UP POINTOPOINT RUNNING  MTU:1500  Metric:1
 RX packets:132 errors:0 dropped:0 overruns:0
 TX packets:136 errors:0 dropped:0 overruns:0
 Interrupt:5 Base address:0x278

Regarder dans le fichier /etc/inetd.conf s'il est possible d'effectuer un telnet. Vous pouvez lire la page de manuel de tcpd, l'utilisation des fichiers /etc/hosts.allow (ALL: LOCAL) et /etc/hosts.deny (ALL: ALL). Vous devriez �tre capable de faire un telnet sur une machine locale.

Pour Linux c'est fait, voyons maintenant du cot� Dos. A nouveau, faites attention au port 0x3bc s'il y en a un pr�sent.

J'utilise le programme telnet de NCSA et le pilote PLIP de Crynwr trouv�s sur les sites suivants :

ftp://ftp.ncsa.uiuc.edu/Telnet/DOS/ncsa/tel2308b.zip
ftp://ftp.crynwr.com/drivers/plip.zip

Soyez s�r que vous utilisez la version 2.3.08 du telnet de NCSA et la version 11.1 du pilote PLIP de Crynwr. S'il vous pla�t, lisez le fichier SUPPORT.DOC de Crynwr qui doit se trouver quelque part.

Le fichier CONFIG.TEL : la grande partie du fichier est utilisable par d�faut et pour �conomiser de la place, je n'ai mis ci-dessous que les informations dont vous avez besoins (je l'esp�re). Le deuxi�me port sur cette machine est configur� comme 0x278 sur l'IRQ 5.


myip=200.0.0.2
netmask=255.255.255.0       # masque de reseau
hardware=packet             # ensemble d'adaptation du reseau (interface du pilote de paquets)
interrupt=5                 # IRQ avec laquelle l'adaptateur est configure
ioaddr=60                   # vecteur d'interruption logiciel que le pilote utilise
#
#[...partie inchangee...]
#
# a la fin du fichier, mettez cette ligne :
name=console1 ; hostip=200.0.0.1 ; nameserver=1 ; gateway=1

(console1 est le nom de la machine Linux, vous pouvez utiliser celui que vous d�sirez.)

J'ai fabriqu� en c�ble de 3,5 m�tre entre les deux machines, et (apr�s m'�tre aper�u que je n'avais pas fait les bons cabl�ges) il n'y a eu aucun probl�me. Un c�ble standard d'imprimante 11-brins devrait aussi faire l'affaire. Le fichier plip.c des sources de Linux montre le c�blage. Bien que mon c�ble permettent une connexion 17-17, je ne pense pas qu'il soit utilis� pour n'importe quoi et qu'il existe tel quel dans le commerce.


@echo off
plip.com 0x60 5 0x278
telbin -s console1

Les lignes pr�c�dentes vous connectent � la machine Linux sur /dev/ttyp. Le programme telnet de NCSA fournit 8 �crans virtuels et aussi agit comme un serveur ftp. L'interface PLIP fournit une assez bonne connexion, j'obtiens un taux de transfert de 6.5Koctets/s sur mes antiquit�s. J'esp�re que vous pourrez faire mieux.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:37