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.
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é.
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.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:37