<!doctype linuxdoc system>

<article>

<title>Le Mini-HOWTO PLIP Linux

<author>Andrea Controzzi, <htmlurl url="controzzi@cli.di.unipi.it"
name="controzzi@cli.di.unipi.it">
<newline>
Traduction&nbsp;:Thierry Hamon <htmlurl
url="thierry.hamon@lipn.univ-paris13.fr"
name="thierry.hamon@lipn.univ-paris13.fr">

<date>v2.1, 12 mars 1998

<abstract>
Cet HOWTO vous permettra, je l'espère d'installer et d'utiliser PLIP
(Parallel Line Interface Protocol).
</abstract>

<toc>

<p>
<descrip>
<tag>NOTES&nbsp;:</tag>

Cette nouvelle version du mini-HOWTO comporte de nombreux
changements mais aussi beaucoup d'améliorations. Bien que ce
soit peu probable, mais néanmoins possible, des informations peuvent
être fausses ou dépassées. S'IL VOUS PLAIT, informez moi des erreurs
afin de fournir à chacun des informations correctes.

Les changements les plus importants sont&nbsp;:

<itemize>
<item> L'utilisation du format SGML pour rédiger l'HOWTO&nbsp;;

<item> Une réponse générale à la question la plus souvent posée&nbsp;:
"PLIP et Windows 95" (la réponse est négative, désolé)&nbsp;;

<item> Une plus grosse et meilleure FAQ (merci aux compte-rendus des
innombrables utilisateurs&nbsp;: nombreux sont ceux qui trouveront
leur commentaires dans cette section, comme je l'avais promis)&nbsp;;

<item> La suppression des fichiers d'Installation Rapide PLIP, qui
étaient inutiles et dépassés&nbsp;;

<item> La mise à jour de la section sur la connexion PLIP Dos-Linux

</itemize>

Pour toutes questions, corrections, commentaires et/ou suggestions,
voici mon adresse électronique&nbsp;: <htmlurl
url="mailto:controzzi@cli.di.unipi.it"
name="controzzi@cli.di.unipi.it">. N'hésitez pas à m'écrire si vous
avez besoin d'aide. Il est possible que je ne réponde pas
immédiatement, mais je répondrai&nbsp;! Si après deux semaines vous ne
recevez pas de rien de ma part, cela veut dire que notre système de
courrier électronique a un problème&nbsp;: n'hésitez pas à m'écrire à
nouveau, c'est mon devoir de vous aider. Je ne peux pas garantir que
je résoudrai vos problèmes, mais j'essaierai. Si après plusieurs
mails, vous ne recevez pas de réponse, vérifier votre adresse de
retour. Plusieurs fois, mes réponses ne sont pas arrivées à cause de
ce genre de problème, le plus souvent l'adresse de retour était
<tt>root@myhost</tt>.

Avant d'envoyer un mail, lisez la FAQ. Ma réponse à une question déjà
présente dans la FAQ ne sera pas meilleure (mais probablement pire ou
incomplete) que la réponse que vous avez déjà lue.

Pour toutes questions sur PLIP avec DOS et Windows 95, s'il vous
plait, envoyez un mail aux auteurs de ces sections. Je ne peux pas
vous aider.

Tout d'abord, beaucoup d'informations techniques viennent du
NET-2-HOWTO de Terry Dawson (Traduction française de Frederic
Lepied et Jacques Chion -- NdT). Ce Mini-HOWTO n'est pas
supposé couvrir tous ses aspects et/ou le remplacer&nbsp;:
mon but est de vous donner les moyens d'installer rapidement une
connexion PLIP permanente, et SEULEMENT ça&nbsp;! Toutes les autres
informations viennent de mon expérience personnelle et de l'aide de
nombreux utilisateurs qui m'ont envoyé des commentaires et des
informations.

Lisez le NET-2-HOWTO et les autres documents pour les informations
générale sur les réseaux et sur les fichiers de configuration que je
propose de modifier.

</descrip>
</p>

<sect>Introduction&nbsp;: Qu'est-ce que PLIP et pourquoi l'utiliser&nbsp;?

<p>

Il y a de nombreuses manières de créer une connexion entre plusieurs
machines en local. PLIP, comme SLIP, permet d'établir une connexion
locale entre deux machines mais utilise pour cela les ports parallèles.

Les ports parallèles transfèrent plus d'un bit à la fois. Il est ainsi
possible d'obtenir des vitesses plus grandes qu'avec une interface
série.

La vitesse atteinte dépend exclusivement de votre matériel (CPU et
port paralléle) et de la charge du système, en général entre 5 Ko/s et
40 Ko/s.

L'interface PLIP est assez rapide pour permettre des fonctions TCP/IP
décentes, comme NFS. Vous pouvez donc avoir un ordinateur avec tout le
système Linux et un autre avec seulement le système minimal où vous
pouvez monter tout le reste à partir de la machine principale.

Un inconvénient&nbsp;: la plupart des utilisateurs ont une machine ne
possédant qu'un seul port parallèle. Ainsi, vous ne pourrez imprimer
et utiliser une connexion PLIP en même temps. Même avec deux ports
parallèles, ce n'est pas possible sans utiliser les modules du noyau.

Si vous avez deux ports parallèles ou plus, ce problème peut être
contourné en utilisant un patch.

Enfin, je vous donnerai un bon moyen de configurer une liaison PLIP
entre DOS et Linux.

Je n'insisterai pas trop&nbsp;: jusqu'à maintenant personne ne m'a
rapporté avoir réussi une connexion entre Linux et Windows95.

<sect>Matériel nécessaire pour utiliser PLIP

<p>

Le matériel requis pour l'installation d'une interface PLIP est
(évidemment) un port parallèle libre sur les deux machines et un
câble. Si vous le pouvez, dans votre BIOS, configurez le port
paralléle, au moins, comme un port "bi-directionel", et si possible
dans le mode ECP ou EPP.

<p>

Pour le câble, voici un extrait du fichier <tt/plip.c/ des sources du
kernel 2.0.33&nbsp;:

<tscreen><verb>
  Le câble utilisé est de facto un câble parallèle standard null
  printer -- vendu comme un câble LapLink par divers magasins. Vous
  aurez besoin d'un câble 12 brins pour en faire un vous même. Le
  câblage est le suivant :
    SLCTIN      17 - 17        
    GROUND      25 - 25
    D0->ERROR   2 - 15          15 - 2
    D1->SLCT    3 - 13          13 - 3
    D2->PAPOUT  4 - 12          12 - 4
    D3->ACK     5 - 10          10 - 5
    D4->BUSY    6 - 11          11 - 6

  Ne pas connecter les autres broches, c'est-à-dire :

    D5, D6, D7 sont 7, 8, 9
    STROBE est 1, FEED est 14, INIT est 16
    Les masses supplémentaires sont 18, 19, 20, 21, 22, 23, 24
</verb></tscreen>

Mais je vous recommande fortement de lire le fichier
<tt>/usr/src/linux/drivers/net/README1.PLIP</tt> et
<tt>README2.PLIP</TT> pour plus d'informations au sujet du câble.

A mon avis, vous devez éviter de construire votre propre câble
parallèle. Vous économiserez un peu d'argent en le fabriquant
vous-même, mais vous pourrez aussi avoir pas mal de maux de tête. Si
vous souhaitez vraiment construire votre câble parallèle, rappelez
vous que vous le faites à vos risques et périls. J'ai reporté
exactement ce qu'il est écrit dans le fichier <tt>plip.c</tt> mais je
ne donne aucune garantie.

Un dernier mot au sujet de la longueur du câble&nbsp;: les câbles
longs (c'est-à-dire plus de 3 mètres, 10 pieds) peuvent créer des
problèmes à cause des interférences radio. Si vous avez besoin de
câbles longs, vous devrez utiliser des câbles blindés de bonne
qualité. Cependant, de très longs câbles ne sont pas
recommandés&nbsp;: je pense que la taille maximale d'un câble doit
être de 15 mètres (50 pieds).

Quoi qu'il en soit, quelqu'un m'a envoyé un mail en m'indiquant que
son câble de 30 mètres fonctionne très bien. Si quelqu'un veut
vraiment essayer une connexion PLIP entre son bureau et sa maison (200
mètres de long, par exemple), et qu'il a de l'argent à dépenser, il
peut essayer, mais à ses risques et périls.

<sect>Reconfiguration du noyau<p>

Je suppose que vous savez déjà comment configurer et compiler le
noyau, sinon vous devez vous référer à d'autres documents&nbsp;: le
Kernel-HowTo ou d'autres guides (Le Guide du Rootard, par exemple --
NdT). Grâce au travail des développeurs du noyau, recompiler les
derniers noyaux est vraiment devenu facile même pour le <it>commun des
mortels</it>, alors <it>just do it</it>&nbsp;;-)&nbsp;! N'importe
comment, pour être complet, voici un résumé rapide de ce que vous
devez faire.

<bf>NB</bf>&nbsp;: Je suppose que vous utilisez un noyau de la série
2.0.xx. Maintenant, il n'y a plus aucune raison pour garder les noyau
1.2.xx . Il n'y a aucune instructions en rapport avec les noyaux
2.1.xx puisqu'ils sont destinés au développement.

Je suppose que vous utilisez <tt>menuconfig</tt> pour initialiser les
options du noyau, mais les autres outils sont équivalents. Voici
comment faire&nbsp;: 

<tscreen><verb>
#make menuconfig
</verb></tscreen>

Je vous recommande fortement de sélectionner&nbsp;:

<tscreen><verb>
Loadable module support ---&gt;
</verb></tscreen>

et de valider l'option&nbsp;:

<tscreen><verb>
[*] Enable loadable module support
</verb></tscreen>

et, si c'est possible (c'est-à-dire si vous avez les modules 2.0.0)
l'option&nbsp;:

<tscreen><verb>
[*] Kernel daemon support (e.g. autoload of modules)
</verb></tscreen>

Ensuite retournez en arrière et choisissez&nbsp;:

<tscreen><verb>
Networking options  --->
</verb></tscreen>

où vous pourrez au moins valider les options&nbsp;:

<tscreen><verb>
[*] Network firewalls
[*] TCP/IP networking
[*] IP: forwarding/gatewaying
</verb></tscreen>

Puis retournez en arrière et valider au moins&nbsp;:

<tscreen><verb>
[*] Network device support
<M> PLIP (parallel port) support
</verb></tscreen>

Si vous utilisez des modules, je vous conseille fortement de
configurer PLIP comme module. Vous pouvez alors, si vous avez besoin
d'utiliser une imprimante, aller à&nbsp;:

<tscreen><verb>
Character devices  --->
</verb></tscreen>

et configurer l'option comme module&nbsp;:

<tscreen><verb>
<M> Parallel printer support
</verb></tscreen>

Maintenant le support du noyau pour PLIP est disponible. Si c'est la
première fois que vous compiler le noyau, regardez les autres options
puis sauvez et sortez du menu.

Enfin compilez avec les commandes&nbsp;:

<tscreen><verb>
#make dep ; make clean
#make zlilo
</verb></tscreen>

Et, si vous utilisez des modules&nbsp;:

<tscreen><verb>
#make modules 
#make modules_install
</verb></tscreen>

Maintenant relancer votre sytème.

<sect>Messages du noyau au démarrage

<p>

Après avoir reconfiguré et compilé le noyau en sélectionnant le
support PLIP, quand vous démarrez le système si le noyau supporte
directement PLIP, ou quand vous chargez ("plus tard", voir ci-dessous)
le module PLIP au cas ou vous avez compilé PLIP comme un module, vous
devriez obtenir quelque chose comme ça (les nombres peuvent
différer)&nbsp;:

<tscreen><verb>
NET3 PLIP version 2.0 gniibe@mri.co.jp
plip1: Parallel port at 0x378, using assigned IRQ 7.
</verb></tscreen>

Suivant la configuration de <tt/klogd/ et <tt/syslogd/, le message
pourra être écrit dans vos fichiers de messages système&nbsp;: PAS DE
PANIQUE si vous ne voyez pas ces messages. Si vous avez compilé PLIP
comme un module et que la commande <tt/lsmod/ montre que le module
plip est chargé, c'est suffisant.

Prenez en note le nom de l'interface. Habituellement, il s'agit de
plip1, mais ça peut être plip0 ou même plip2, plip3, etc. Il dépend de
l'adresse d'E/S.

<sect>Configuration des fichiers<label id="ConfigFich">

<p>

<bf>NB</bf>&nbsp;: Certaines distributions, comme la Debian, utilise
des fichiers de configuration différents. Si vous avez une
installation standard et que vous ne trouvez pas les fichiers
<tt>rc.inet*</tt>, cherchez des fichiers de configuration 
dans le répertoire <tt>/etc/init.d</tt>.

Tout d'abord, n'oubliez pas de sauvegarder les fichiers que vous allez
modifier&nbsp;:

<verb>
#cd /etc/rc.d
#cp rc.inet1 rc.inet1.BACKUP
</verb>

Ça peut servir.

Maintenant, si vous ne l'avez pas déjà fait, vous devez choisir les
adresses IP des deux machines. Dans mes exemples, j'utiliserais deux
IPs fictives à la place de celles que vous utiliserez, dans le format
standard <tt>xxx.xxx.xxx.xxx</tt> .

Dans le fichier <tt>/etc/rc.d/inet1.rc</tt> des deux machines, ajoutez
la ligne (il est préférable de l'écrire dans la dernière partie du
fichier)&nbsp;:

<code>/sbin/route add -net $(NETWORK) netmask $(NETMASK)</code>

Où les variables NETWORK et NETMASK ont été initialisées au
préalable. Si vous ne savez pas comment faire, reportez vous au
NET-2-HOWTO.

Si, après avoir lancer cette commande, vous obtenez le message comme celui-là&nbsp;:

<tscreen><verb>
SIOCADDRT: network unreachable
</verb></tscreen>

Alors utilisez plutôt cette commande&nbsp;:

<code>
/sbin/route add -net ${NETWORK} netmask ${NETMASK} dev plip1  
</code>

où, comme d'habitude, vous devrez utiliser le nom de l'interface
donnée dans les messages du noyau.

Vous pouvez ignorer sans danger ces variables, uniquement pour le cas
suivant&nbsp;:

Si vous voulez seulement connecter deux machines dans un réseau
autonome, vous pouvez donner n'importe quelle adresse IP, c'est-à-dire
200.0.0.1 et 200.0.0.2 respectivement. Dans ce cas, vous pouvez mettre
sans danger <tt>NETWORK="200.0.0.0"</tt> et
<tt>NETMASK="255.255.255.0"</tt>. Ce sont les exemples d'IPs que j'utilise
dans l'Installation Rapide de PLIP (voir ci-dessous).

<bf>NB</bf>&nbsp;: <tt>200.0.0.1</tt> et <tt>200.0.0.2</tt> ne sont que
des exemples. Je vous conseille fortement de ne pas les utiliser &nbsp;:
il peut s'agir des adresses réelles de machines sur Internet&nbsp;!

Je recommande de choisir votre adresse dans les plages d'<it/adresses
privées/&nbsp;:

<tscreen><verb>
	  10.0.0.0        -   10.255.255.255
          172.16.0.0      -   172.31.255.255
          192.168.0.0     -   192.168.255.255
</verb></tscreen>

Dans le fichier <tt>/etc/hosts</tt> des deux machines, vous devez
ajouter les entrées avec les IPs des machines que vous connectez via
PLIP. Dans mon exemple, les entrées sont:

<code>
200.0.0.1       un     	# c'est l'adresse IP de "un"
200.0.0.2       deux    # c'est l'adresse IP de "deux"
</code>

Où <tt>un</tt> et <tt>deux</tt> sont les noms que vous avez choisis
pour les deux machines.

Si vous voulez activer le NFS, en plus de répondre <tt>yes</tt>
pendant la configuration du noyau, vous devez ajouter dans
<tt>/etc/exports</tt> les entrées qui décrivent les répertoires que
vous souhaitez exporter. Dans mon exemple, pour être capable de monter
le répertoire <tt>/usr</tt>, vous devez ajouter l'entrée&nbsp;:

<code>
/usr 			two  (ro)
</code>

Pour plus d'informations sur NFS, lisez la documentation
spécifique. Ne me rapportez pas des problèmes au sujet de NFS, je ne
pourrai pas vous aider.

Maintenant, relancer votre système.

<sect>Activation de la liaison PLIP<label id="ActivPLIP">

<p>

Enfin, voici les commandes qui active l'interface PLIP. Vous devez les
exécuter en étant root (et bien sûr le câble doit être correctement
branché).

<bf>NB</bf>&nbsp;: Si quelque chose d'inattendu survient, revérifiez
le cable et les commandes. Si vous suivez les instructions
correctement, mais qu'il y a toujours des erreurs, lisez la section
concernant la FAQ. Beaucoup de reponses y sont déjà.

Tout d'abord, il faut vérifier qu'il n'y a pas de périphérique
<tt>lp</tt> présent&nbsp;:

<tscreen><verb>
#cat /proc/devices
</verb></tscreen>

Vous ne devez pas voir de référence à <tt>lp</tt> comme ci-dessous&nbsp;:

<tscreen><verb>
6 lp
</verb></tscreen>

Si vous voyez cette référence, supprimez (temporairement) le
périphérique lp avant de continuer. Si PLIP fonctionne, alors vous
pourrez l'essayer avec lp plus tard. Pour supprimer le périphérique
lp, vous devrez utiliser la commande <tt>rmmod</tt> si c'est un
module. Sinon, il est inclu dans le noyau, vous devez alors recompiler
le noyau avec lp comme un module (une idée beaucoup plus sage).

A nouveau, je vais utiliser les noms <tt>un</tt> et <tt>deux</tt>
comme exemples. Sur <tt>un</tt>, vous devrez effectuer les étapes
suivantes.

Si vous n'utilisez pas le démon pour l'automontage des modules et que vous
compilez PLIP comme un module, vous devrez le charger&nbsp;:


<tscreen><verb>
# insmod plip
</verb></tscreen>

<bf>NB</bf>&nbsp;: Si votre port parallèle a une IRQ diférente de 7
et/ou une adresse d'E/S différente de 0x378, vous devrez l'indiquer à
insmod. Trouvez l'IRQ et l'adresse E/S qui conviennent (la commande DOS
<tt>MSD</tt> sera probablement utile, mais ne lui faites pas trop
confiance) et tapez quelque chose comme ça&nbsp;:


<tscreen><verb>
# insmod plip io=0x278 irq=5
</verb></tscreen>

Habituellement, l'IRQ est 7 ou 5, et l'adresse E/S est 0x378, 0x278 ou
0x3bc. C'est important de vérifier que l'adresse et l'IRQ
correspondent à la configuration du matériel (regarder les cavaliers
sur les vielles cartes, ou le BIOS sur les cartes mères plus
récentes).

Si vous êtes du genre paranoïaque, vous pouvez vérifier que les
modules sont chargés avec&nbsp;:

<tscreen><verb>
#lsmod

Module:        #pages:  Used by:
plip               3            0
</verb></tscreen>

Notez que le nom de l'interface (plip0, plip1, etc ; pour plus de
détails, lisez la section sur les messages du noyau ci-dessus), puis
initialisez l'interface PLIP&nbsp;:

<tscreen><verb>
#ifconfig plip1 un pointopoint deux up
</verb></tscreen>

<BF>NB</BF>&nbsp;: Si votre port parallèle a une IRQ diférente de 7
et/ou une adresse d'E/S différente de 0x378, vous devrez l'indiquer à
<tt>ifconfig</tt>. Utilisez l'IRQ et l'adresse d'E/S indiquées dans
les messages du noyau et lancez quelque chose ça&nbsp;:

<tscreen><verb>
# ifconfig plip1 irq 7
# ifconfig plip1 io_addr 0x3bc
</verb></tscreen>

D'habitude, l'IRQ est 7 ou 5, alors que l'adresse d'E/S est 0x378,
0x278 ou 0x3bc.

Maintenant, vérifiez que ça marche&nbsp;:

<tscreen><verb>
#ifconfig

.....
.....
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 NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0
          TX packets:0 errors:0 dropped:0 overruns:0
          Interrupt:7 Base address:0x378
</verb></tscreen>


Ajoutez la route vers <tt>deux</tt>...

<tscreen><verb>
#route add deux
</verb></tscreen>

Et, si vous voulez aussi le système NFS pour <tt>deux</tt>&nbsp;:

<tscreen><verb>
#rpc.portmap
#rpc.mountd
#rpc.nfsd
</verb></tscreen>


Sur <tt>deux</TT>, les commandes sont les mêmes, mais vous devez
écrire <tt>un</tt> à la place de <tt>deux</tt> et <it>vice-versa</it>.

Une de vos machines doit avoir probablement une seule connexion
PLIP. Si c'est le cas, vous devez aussi taper la commande&nbsp;:

<tscreen><verb>
#route add default gw un
</verb></tscreen>

sur cette machine. Dans mon exemple, <tt/deux/ est un portable qui ne
possède qu'une connexion PLIP avec <tt/un/. J'ai donc taper la
commande ci-dessus.

Enfin, on vérifie la connexion à partir de <tt/un/&nbsp;:

<tscreen><verb>
#ping deux
</verb></tscreen>

et à partir de <tt/deux/&nbsp;:

<tscreen><verb>
#ping un
</verb></tscreen>

Bien sûr, toutes ces commandes peuvent être exécutées automatiquement
avec un script ou au démarrage. Vous devez seulement créer ce script
et l'exécuter en tant que root quand vous avez besoin d'une connexion
PLIP. Vous pouvez également ajouter une commande dans le fichier
<tt>/etc/rc.d/rc.inet2</tt> pour qu'il soit exécuté au démarrage.

Pour ajuster la connexion PLIP, vous pouvez utliser la commande
<tt>plipconfig</tt>. Regarder les pages du manuel pour plus
d'informations.

Pour fermer la connexion PLIP, vous devez lancer la commande&nbsp;:

<tscreen><verb>
# ifconfig plip1 down
</verb></tscreen>

qui efface les entrées dans la table de routage.  Si vous n'avez pas
le démon pour l'automontage, alors enlever le module&nbsp;:

<tscreen><verb>
# rmmod plip
</verb></tscreen>

<sect>FAQ

<p>

Cette section résoudra, je l'espère, vos problèmes. Si vous avez
d'autres questions, n'hésitez pas à m'envoyer un mail.


<itemize>
<item>J'ai ces messages au moment du démarrage (ou lorsque je charge le module plip)&nbsp;:

<tscreen><verb>
SIOCSIFADDR: No such device
SIOCADDRT: Network is unreachable
</verb></tscreen>
et quand j'essaie d'installer la connexion comme expliquer
ci-dessus, j'obtiens les messages d'erreurs&nbsp;:

<tscreen><verb>
SIOCSIFADDR: No such device
SIOCSIFDSTADDR: No such device
SIOCADDRT: Network is unreachable
mount clntudp_create: RPC: Port Mapper failure - RPC: Unable to send
</verb></tscreen>

<itemize>
<item>Le support PLIP n'est pas disponible dans le noyau, pour différentes
raisons&nbsp;:

	<itemize>

	<item>Vous n'avez pas répondu <tt/yes/ à la question <tt/PLIP
	support?/ pendant la configuration du noyau&nbsp;;

	<item>Vous avez répondu <tt/yes/ à la question <tt/Printer
	support/ pendant la configuration du noyau&nbsp;;

	<item>Vous avez compilé PLIP comme un module, vous devez
	ensuite le charger&nbsp;;

	<item>Le numéro du port n'est pas le bon. Vous avez, par exemple, écrit plip1 à la place de plip0.

	</itemize>
</itemize>

<item>Est-ce qu'il y a un moyen pour que le noyau supporte à la
fois PLIP et LP, en dehors des modules, peut-être avec deux ports
parallèles&nbsp;?

<itemize>
<item>Oui, les deux moyens d'y arriver sont décrits dans la section
<it>Patches et comment faire cohabiter PLIP et LP</it>
ci-dessous&nbsp;:

	<itemize>

	<item>Vous pouvez appliquer un patch afin que le noyau les
	supporte tous les deux&nbsp;;

	<item>Vous pouvez appliquer un autre patch afin que le noyau
	utilise un port parallèle pour PLIP et un autre pour LP.

	</itemize>

</itemize>

<item>J'ai écrit un script qui établit la connexion entre mes deux
machines. Je configure automatiquement la connexion dans mon
<tt>rc.inet2</tt> d'où j'appelle un script qui l'établit et
lance NFS. Ma machine <tt>deux</tt> monte des répertoires de
<tt>un</tt>&nbsp;; j'ai ajouté les entrées correctes dans le
fichier <tt>/etc/fstab</tt> de <tt>deux</tt>. Si
je démarre <tt>deux</tt>  alors que <tt>un</tt>  est
éteinte, <tt>deux</tt> s'arrête plusieurs minutes sur le
message <tt> mounting remote file systems...</tt>.

<itemize>
<item>Ce message est affiché car <tt/deux/ attend pour monter les systèmes
de fichiers de <tt/un/, mais si <tt/un/ est éteinte, vous devez
attendre la fin du délai d'attente de <tt/deux/. Pour éviter ça, vous
pouvez&nbsp;:

	<itemize>

	<item>Mettre en commentaire dans <tt>rc.inet2</tt>, la commande qui
	monte les systèmes de fichiers distants.

	<item>Enlever l'entrée dans le fichier <tt>/etc/fstab</tt> de
	<tt/deux/ et monter les systèmes de fichiers distants
	manuellement quand vous en avez besoin.

	<item>Une meilleur solution serait pour <tt>deux</tt> de
	détecter au démarrage si <tt>un</tt> fonctionne, et de monter
	le système de fichier si c'est le cas. Ce peut être réalisé en
	remplaçant la commande <tt>mount</tt> dans <tt>rc.d</tt>, ou
	autre part, par quelque chose comme ce qui suit&nbsp;:

<code>
     if ping -c 5 one ; then
       mount one:/.....
     fi
</code>
	</itemize>
</itemize>

<item>Ma connexion fonctionne, mais la commande <tt>ping</tt>
 échoue. Je reçois le message suivant de la part du
noyau&nbsp;:

<tscreen><verb>      
plip1: timed out (1, 89)
</verb></tscreen>

ou bien par des messages similaires.

<itemize>
<item>Cela veut dire que votre <it>côté de la connexion</it>
fonctionne. Votre machine envoie le signal, mais l'<it>autre côté</it>
ne répond pas ou <it>votre côté</it> n'attend pas sur les bonnes
IRQ/adresse d'E/S. C'est le problème le plus courant. Hélas, il y a
beaucoup de raisons possible, habituellement un câble défectueux ou
une mauvaise IRQ et/ou d'adresse d'E/S. Le mauvais IRQ est la source
60% des problèmes. Il est très probable qu'en le changeant ou en
effectuant des modifications de la configuration, cela résolve le
problème. Voici une liste détaillée des raisons possibles&nbsp;:

        <itemize>

	<item>Le câble n'est bien branché, ou bien il est coupé ou de
	mauvaise qualité. Vérifiez le, si possible, entre deux
	machines sous Linux où la connexion PLIP fonctionne déjà. Si
	ce n'est pas possible, alors vérifiez au moins le câble avec
	un testeur. Le fait que le câble fonctionne/ne fonctionne pas
	avec DOS/Windows95 est de bon/mauvais augure mais ce n'est pas
	une preuve.

	<item>PLIP n'est pas installé sur la machine de l'<it/autre
	côté/&nbsp;;

	<item>Il s'agit d'une connexion avec un portable qui ne
	possède pas de port parallèle propre, voir la question
	suivante.

	<item>Vous avez un port parallèle vraiment bon marché et qui
	n'est qu'un simple port d'imprimante. Il peut envoyer des
	donnéess mais pas en recevoir.

	<item>Votre port parallèle n'est pas configuré (au moins)
	comme bi-directionel. Faites le dans le BIOS. Les
	configurations avancées du port parallèle comme EPP et ECP
	sont bien mieux.

	<item>Les ports parallèles ont différentes IRQ. Vous devez
	donc charger le module plip (ou le module lp) avec une IRQ
	différente. Retournez à la section <ref id="ActivPLIP"
	name="Activation de la liaison PLIP"> et choisissez une autre
	IRQ.

	<item>Certains périphériques peuvent déjà utiliser votre IRQ
	(qui est d'habitude l'IRQ 7). Ce peut être la carte son. Ne
	fait pas confiance aux programmes DOS comme MSD, essayez
	plutôt de charger le module plip avec une IRQ différente

	</itemize>
</itemize>

<ITEM>J'ai utilisé la bonne IRQ et la bonne adresse d'E/S, mais ça ne
fonctionne toujours pas. J'ai récupéré les adresses à partir de la
commande MSD.
       <ITEMIZE>
       <ITEM>On m'a envoyé message indiquant que MSD donnait des
       adresses erronées concernant le port. Essayez plutôt le
       programme&nbsp;: <htmlurl
       url="http://www.cs.caltech.edu/~huny/para13.zip"
       name="http://www.cs.caltech.edu/~huny/para13.zip">.
       </ITEMIZE>

<ITEM>Ma connexion est installé, <tt>ping</tt> fonctionne bien. Je
reçois quelques fois le message suivant du kernel&nbsp;:

<tscreen><verb>
plip1: timed out (1, 89)   
</verb></tscreen>

ou des messages similaires.
<ITEMIZE>
<ITEM>Ces messages veulent dire que l'autre machine n'a pas répondu
avant le delai d'expiration (timeout). Si tout fonctionne, vous pouvez
les ignorer&nbsp;: habituellement, cela veut dire soit que l'autre
machine est beaucoup plus lente que la votre, soit que c'est dû à du
matériel plus ancien ou un charge plus lourde du système. Vous pouvez
essayer d'ajuster la connexion PLIP avec la commande
<TT>plipconfig</TT>.
</ITEMIZE>

<item>J'ai installé une connexion PLIP, mais si je lance la
commande <tt>ping</tt>, j'obtiens 100% de données perdues. J'ai
connecté ma machine à un portable.

<itemize>
<item>Certains ports parallèles de portables ne sont pas bon pour PLIP, car
il s'agit de <it/ports imprimante/ <bf/uniquement/, c'est-à-dire
qu'ils peuvent seulement transmettre mais pas recevoir de données. Je
ne sais pas s'il existe un moyen d'y arriver.

Le seul espoir est de&nbsp;:

	<itemize>

	<item>Regarder dans le menu de configuration de votre
	portable. Il est peut-être possible de configurer le <it>port
	parallèle</it> comme un port parallèle à la place d'un port
	imprimante&nbsp;;

	<item>Essayer <tt/plip/ en mode 0. Hélas je ne sais pas
	comment faire et si ça fonctionne, ou s'il est encore
	disponible dans les derniers noyaux.

	</itemize>
</itemize>

<item>Quelles vitesses puis-je obtenir avec PLIP&nbsp;?

<itemize>

<item>C'est une question à laquelle il est difficile de répondre. Les
performances dépendent fortement de différents facteurs&nbsp;:

	<itemize>

	<item>La vitesse du CPU des deux côtés de la connexion&nbsp;;

	<item>Le type de port parallèle et les configurations&nbsp;;

	<item>La charge du système&nbsp;;

	<item>Le type de connexion PLIP utilisée.

	</itemize>

Pour juste donner une idée, vous devriez obtenir environs
40Koctets/sec, beaucoup plus rapide que n'importe quel taux avec une
connexion série et proche d'une carte Ethernet bas-niveau.

</itemize>

<item>Que se passe-t-il si j'ai besoin d'activer (<tt>ifconfig
up</tt>) et désactiver (<tt>ifconfig down</tt>) plusieurs fois
plip1&nbsp;?

<itemize>
<item>Il semble que vous avez besoin d'ajouter l'option <tt>-arp</tt> à la
commande <tt/ifconfig/ sauf la première fois après chaque
démarrage. Je n'en est pas eu besoin, mais peut-être que quelqu'un le
fait.
</itemize>

<item>J'ai lu que des numéros d'IP sont réservés pour les réseaux
privés et que <tt/200.0.0.1/ et <tt/200.0.0.2/ ne
sont pas dans ces intervalles. Doivent-ils être changés&nbsp;?

<itemize>

<item>Oui. Mais comme je l'ai souligné depuis le début, j'ai choisi ces
adresses IPs uniquement pour leur simplicité. Vous êtes libre de les
changer si vous le souhaitez;. Voici un extrait de
NET-2-HOWTO(Il s'agit ici d'un extrait du document traduit
par Frederic Lepied et Jacques Chion -- NdT.)&nbsp;:

<descrip>

<tag//RFC1597 spécifie quelques adresses IP réservées pour les réseaux
privés. Vous devez les utiliser pour éviter d'avoir des problèmes si
vous vous retrouvez relié à l'Internet par accident. Ces adresses
sont&nbsp;:

<tscreen><verb>
10.0.0.0        -   10.255.255.255
172.16.0.0      -   172.31.255.255
192.168.0.0     -   192.168.255.255
</verb></tscreen>

</descrip>

</itemize>

<item>Est-ce qu'il y a un moyen d'ajuster finement les paramètres
de PLIP sans éditer le code source&nbsp;?

<itemize>
<item>Oui, il y en a un&nbsp;! Essayez la commande
<tt>/sbin/plipconfig</tt>. Voir la page du manuel pour plus
d'informations.

</itemize>

<item>Mon système fonctionne avec Debian GNU/Linux, et sous
Debian, les fichiers <tt>/etc/rc.d.rc.inet1</tt> et
<tt>2</tt> n'existent pas. Où dois-je écrire les commandes de
configuration de PLIP&nbsp;?

<itemize>
<item>
Sur Debian GNU/Linux vous devez éditer le fichier
<tt>/etc/init.d/network</tt>. Vous devez y mettre toutes les commandes
que vous devriez écrire dans <tt/rc.inet1/ et <tt/2/.

</itemize>

<item>J'ai quelques problèmes à connecter deux machines avec
PLIP. La première a le dernier noyau, la seconde utilise encore la
version 1.0.x de PLIP&nbsp;:est-ce un problème&nbsp;?

<itemize>
<item>Oui, il vaut mieux avoir, dans la mesure du possible, la même
version de PLIP sur les deux machines. Il est écrit dans le fichier
<tt>plip.c</tt> que les versions actuelles de PLIP ne fonctionnent pas
avec les versions 1.0.x de PLIP.

</itemize>

<item>Jusqu'à maintenant, PLIP fonctionnait sur 4 bits. Qu 'en est-il
de la connexion PLIP sur 8 bits dont j'ai pu lire une description dans
la documentation du noyau ? Je pense qu'il s'agit du Mode 1.

<ITEMIZE>
<item>Ce Mini-HowTo est destiné à la configuration. Pour des
informations techniques, s'il vous plait, lisez les fichiers
<TT>/usr/src/linux/net/README*.PLIP</TT> ou contactez l'auteur. Je
sais seulement ceci&nbsp;: le standard PLIP utilise le câble "null
printer" et c'est le Mode 0 (ne le confondez pas avec plip0, qui est
le nom de l'interface) qui utilise 4 bits. Le Mode 1 utilise 8 bits et
devrait déja être disponible. Cependant, vous devrez faire vous-même
le câble et la connexion ne marchera qu'entre 2 machines Linux. Je ne
sais, une fois que vous avez le câble, comment configurer la connexion
PLIP en Mode 1. Si quelqu'un sait, s'il vous plait, faites le moi
savoir.
</ITEMIZE>

</itemize>




<sect>Patches pour utiliser PLIP et LP ensembles<label id="pliplp2g">

<p>

Le meilleur moyen de faire cohabiter PLIP et LP est d'utiliser les
modules du noyau&nbsp;: vous pouvez charger <tt/plip.o/ et le
décharger quand vous avez besoin d'imprimer et <it/vice versa/. Si
vous avez vraiment besoin d'utiliser PLIP et LP ensembles, essayez les
patches décrits dans les sections suivantes.


<sect1><label id="avert">PLIP et LP sur le même port

<p>

Si, pour une raison quelconque, vous souhaitez que PLIP et LP soient
supportés directement par le noyau, vous pouvez essayer ces patches.

Vous devez modifier les parties de codes suivantes, MAIS sauvegarder
d'abord les fichiers originaux&nbsp;:

<p>
<code>
******** modifications de linux/drivers/char/lp.c ***********************
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, },
*/
};
#define LP_NO 1

******** modifications de linux/drivers/net/Space.c ********************
#if defined(PLIP) || defined(CONFIG_PLIP)
    extern int plip_init(struct device *);
    static struct device plip2_dev = {
        &dquot;plip2&dquot;, 0, 0, 0, 0, 0x278, 2, 0, 0, 0, NEXT_DEV, plip_init, };
    static struct device plip1_dev = {
        &dquot;plip1&dquot;, 0, 0, 0, 0, 0x378, 7, 0, 0, 0, &amp;plip2_dev, plip_init, };
/*    static struct device plip0_dev = {
        &dquot;plip0&dquot;, 0, 0, 0, 0, 0x3BC, 5, 0, 0, 0, &amp;plip1_dev, plip_init, };
*/
#   undef NEXT_DEV
#   define NEXT_DEV     (&amp;plip1_dev)
#endif  /* PLIP */
</code>

Bien sûr, il y a l'avertissement standard&nbsp;: <it>j'ai reçu ces patches
et je les ai mis ici tels quels, c'est-à-dire que <bf/vous les essayez
à vos risques et périls&nbsp;!/</it> Cela dit, votre plus gros désagrément
ne devrait être que la restauration des fichiers et leur
recompilation.

<sect1>PLIP et LP sur deux ports différents

<p>

Si vous avez au moins deux ports parallèles, vous pouvez essayer ces
patches. Ils devraient vous permettre d'utiliser PLIP sur un port et
LP sur un autre.

<enum>

<item>Mettre en commentaire un ligne du fichier source du noyau
<tt>drivers/char/lp.c</tt>

<code>
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, }, */
}; 
    3 -> 2
</code>

<item>Configuration du noyau
<tscreen><verb>
PLIP (parallel port) support (CONFIG_PLIP) [n] y

Parallel Printer support [y] y
</verb></tscreen>

<item>Le message du noyau au démarrage est alors&nbsp;:

<tscreen><verb>
lp1 at 0x0378, using polling driver
.....
NET3 PLIP version 2.0 gniibe@mri.co.jp
plip2: Parallel port at 0x278, using assigned IRQ 5.
</verb></tscreen>
</enum>

Et à nouveau l'avertissement, voir la section <ref id="avert" name="PLIP et LP sur le même port">.

<sect>Connexion PLIP entre Dos et Linux

<p>

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
<it/Linux Gazette/ dont l'auteur est James McDuffie <htmlurl
url="mailto:mcduffie@scsn.net" name="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
<htmlurl url="mailto:jvahn@short.circuit.com" name="jvahn@short.circuit.com">
où il décrit en profondeur comment installer cette connexion et
comment résoudre plusieurs problèmes.

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

<sect1>Configuration d'une connexion entre Dos et Linux

<p>

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&nbsp;:

<htmlurl url="ftp://ftp.crynwr.com/drivers/plip.zip" name="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 <tt>/etc/hosts</tt>. 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 <ref id="ConfigFich" name="Configuration des fichiers"> au
sujet des adresses IP).

Supposons que vous choisissez le nom <tt/linux/ pour la
machine sous Linux et <tt/dos/ pour la machine sous Dos. Vous devez
taper&nbsp;:

<tscreen><verb>
ifconfig plip1 linux pointopoint dos arp up
route add dos
</verb></tscreen>

Bien sûr si vous voulez que ce soit fait à chaque démarrage de Linux,
vous devez ajouter ces lignes dans le fichier
<tt>/etc/rc.d/rc.inet</tt>&nbsp;:

<code>
/sbin/ifconfig plip1 linux pointopoint dos arp up
/sbin/route add dos
</code>

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 <tt/plip2/ à la place de <tt/plip1/.

Retournez à la machine sous Dos/Windows et éditez le fichier
<tt/autoexec.bat/, vous devez ajouter les lignes suivantes&nbsp;:

<code>
c:\plip\plip.com 0x60
c:\tcpip\winsock\winpkt.com 0x60
</code>


Je suppose que vous avez mis <tt/plip.com/ (le pilote de paquets) dans
le répertoire <tt/c:&bsol;plip/ et <tt/winpkt.com/ dans
<tt/c:&bsol;tcpip/, sinon vous devez mettre le bon chemin.


Ces lignes configurent le programme <tt/plip.com/ sur le vecteur de
paquets <tt/0x60/ et chargent ensuite le programme <tt/winpkt.com/ qui
vient sur le même vecteur que le programme Trumpet Winsock. Si le
câble est sur un autre port que <tt>LPT1</tt>, vous devrez donner à
<tt/plip.com/ le numéro d'IRQ et l'adresse d'E/S. Pour que le programme <tt/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
<tt/60/ dans la boîte nommé <tt/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&nbsp;! Mettez Winsock dans le <it/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'<it/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&nbsp;! Il se trouve à l'adresse
<htmlurl url="http://www.tucows.com/" name="http://www.tucows.com/">.

Configurez-le en fonction des directions, puis vous n'avez plus qu'à
faire un <tt/telnet/ depuis votre machine Windows et rediriger
l'affichage sur votre machine (<tt/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 <tt/xv/ sous
Windows&nbsp;! J'espère que tout ceci vous a aidé.

<sect1>Expérience pratique de connexion PLIP entre Dos et Linux

<p>

<bf/NB&nbsp;:/ J'ai reçu ce document de James Vahn <htmlurl
url="mailto:jvahn@short.circuit.com" name="jvahn@short.circuit.com">
et je le mets ici sans le modifier. Ainsi, <bf>pour les questions au sujet
de cette section, il est beaucoup plus qualifié que moi. Il vaut donc
mieux le contacter par courrier électronique.</bf> 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.

<BF>Dernière mise à jour&nbsp;: 11 juillet 1996</BF>

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 <tt/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...

<htmlurl url="mailto:gniibe@mri.co.jp" name="gniibe@mri.co.jp">
écrit&nbsp;:


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

<itemize>

<item>les modules sont flexibles en cas changement de configuration&nbsp;;

<item>la (re)compilation du noyau n'est pas facile pour les novices&nbsp;;

<item>la co-existance de PLIP et LP n'est possible qu'avec les modules.

</itemize>

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

<tscreen><verb>
# insmod lp.o io=0x378
# insmod plip.o io=0x278 irq=2
</verb></tscreen>

Vous pouvez même utiliser deux ports parallèles&nbsp;:

<tscreen><verb>
# insmod plip.o io=0x278,0x3bc irq=2,5
</verb></tscreen>

Dans l'exemple ci-dessus, 

<P>
<tt/plip0/ est placé à l'adresse 0x278 et son IRQ est 2&nbsp;;
<P>
<tt/plip1/ est placé à l'adresse 0x3bc et son IRQ est 5.

<p>

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
<tt>../linux/drivers/net/Space.c</tt> 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 <tt/0x278/ utilise l'IRQ 5 (la
carte est ainsi configurée), alors que <tt/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 <tt/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&nbsp;:

Dans le fichier <tt>../drivers/char/lp.c</tt>, 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)&nbsp;:

<code>
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 
</code>

Notez que les changements à faire&nbsp;: 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&nbsp;: 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&nbsp;? Maintenant, configurez le nouveau noyau avec les supports
<tt/printer/ (imprimante), <tt/net/ (réseau), <tt/dummy/ (support
fictif) et <tt/plip/.

Configuration du système. Voici mon fichier
<tt>/etc/rc.d/rc.inet1</tt>&nbsp;:

<code>
#!/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
</code>


Notez que <tt/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 <tt>/etc/hosts</tt> les lignes
suivantes, elles assignent un nom à chaque machine&nbsp;:

<code>
200.0.0.1	console1
200.0.0.2	console2
</code>

La machine Dos porte le nom de <tt/console2/. Rappelez vous
l'avertissement d'Andrea au sujet des IPs&nbsp;: 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
<tt/dmesg/), vous devez avoir les messages suivants si vous avez
utiliser les patches, sinon quand les modules sont chargés&nbsp;:

<tscreen><verb>
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.
</verb></tscreen>

La commande <tt/route/ affiche alors ceci&nbsp;:

<tscreen><verb>
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
</verb></tscreen>

Et la commande <tt/ifconfig plip1/ affiche&nbsp;:

<tscreen><verb>
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 
</verb></tscreen>

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

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

J'utilise le programme <tt/telnet/ de NCSA et le pilote PLIP de Crynwr
trouvés sur les sites suivants&nbsp;:

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

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 <tt/SUPPORT.DOC/ de Crynwr qui doit se trouver quelque part.

<bf>Le fichier <tt>CONFIG.TEL</tt></bf>&nbsp;: 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
<tt/0x278/ sur l'IRQ 5.

<code>
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 
</code>

(<tt/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 <tt/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.

<code>
@echo off
plip.com 0x60 5 0x278
telbin -s console1
</code>

Les lignes précédentes vous connectent à la machine Linux sur
<tt>/dev/ttyp</tt>. Le programme <tt/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.

<sect>Connexion PLIP entre Linux et Windows95

<p>

Cette section est vide. Je n'utilise pas Windows95 pour des choses
sérieuses mais pour des jeux. Je n'ai donc pas essayé et une connexion
PLIP avec Linux ne m'interresse pas. La question au sujet d'une telle
connexion a gagné le concours de la question la plus posée. Je donne
donc ici une réponse (pour l'instant) définitive.

Non, jusqu'à maintenant, personne ne m'a rapporté avoir réussi une
connexion entre PLIP et Windows95. Si quelqu'un y arrive, dites le moi
immédiatement&nbsp;: des milliers d'utilisateurs de PLIP sont dans
l'attente de ces nouvelles.

<p>

<sect>Questions&nbsp;? Commentaires&nbsp;? Envoyez-moi vos réactions

<p>

Vous pouvez m'envoyer toutes les questions et commentaires par
courrier électronique à l'adresse suivante&nbsp;:
<htmlurl url="mailto:controzz@cli.di.unipi.it" name="controzz@cli.di.unipi.it">

Toute réaction est la bien venue, toute indication d'erreur est
précieuse. La Foire Aux Questions devrait être plus importante dans la
prochaine version, si vous m'envoyez des questions, et bien sûr les
réponses si vous les trouver par vous même.

S'il vous plait, n'envoyer pas de questions qui se trouve déjà dans la FAQ.

Si vous devez me demander de l'aide, s'il vous plait soyez sûr de me
faire connaître toutes les informations susceptibles de
m'aider. Donnez moi au moins&nbsp;: la version du noyau, les commandes
utilisées, les messages d'erreurs, le câble que vous utilisez et
d'autres messages du système en rapport avec PLIP.

<BF>S'il vous plait, rappelez vous de ne pas m'envoyer de questions au
sujet des connexions PLIP avec DOS/Windows 3.1/ Windows 95, je ne peux
pas vous aider. Ces questions doivent être envoyées à James Vahn
<htmlurl url="mailto:jvahn@short.circuit.com"
name="jvahn@short.circuit.com"> qui m'a envoyé la partie sur DOS. A
nouveau&nbsp;: c'est inutile de poser à lui comme à moi des questions
sur les connexsions PLIP avec Windows 95.
</BF>
<sect>Où trouver les nouvelles versions de ce Mini-HowTo

<p>

Ce Mini-HowTo est maintenu par les coordinateurs des HowTos. Il est
posté tous les mois sur le newsgroup <htmlurl
url="news:comp.os.linux.answers" name="comp.os.linux.answers">. Il
peut être trouvé dans le répertoire des HOWTOs de <htmlurl
url="sunsite.unc.edu" name="sunsite.unc.edu"> et de sites mirroirs de
<tt/sunsite/.

Un autre moyen de trouver cet Mini-HowTo (et de me contacter) d'aller
sur ma page web personnelle&nbsp;: 

<htmlurl url="http://www.cli.di.unipi.it/~controzz/intro.html"
name="http://www.cli.di.unipi.it/~controzz/intro.html"> (en italien)
<p>
<htmlurl url="http://www.cli.di.unipi.it/~controzz/intro_e.html"
name="http://www.cli.di.unipi.it/~controzz/intro_e.html"> (en anglais)


<sect>Remerciements

<p>

Tous mes remerciements à&nbsp;:

<itemize>

<item>Rick Lim <htmlurl url="mailto:ricklim@freenet.vancouver.bc.ca"
name="ricklim@freenet.vancouver.bc.ca"> pour les patches permettant
l'utilisation de PLIP et LP ensembles&nbsp;;

<item>Takeshi Okazaki <htmlurl url="mailto:GBA03552@niftyserve.or.jp"
name="GBA03552@niftyserve.or.jp"> pour les patches permettant
l'utilisation de PLIP et LP sur deux ports parallèles
différents&nbsp;;

<item>Jim Van Zandt <htmlurl url="mailto:jrv@vanzandt.mv.com"
name="jrv@vanzandt.mv.com"> pour les conseils sur la partie
<it/tutorielle/ de cet HowTo&nbsp;;

<item>Fernando Molina <htmlurl url="mailto:fmolina@nexo.es"
name="fmolina@nexo.es"> pour les comentaires utiles au sujet des IRQs
et des adresses d'entrée-sortie.

<item>James Vahn <htmlurl url="mailto:jvahn@short.circuit.com"
name="jvahn@short.circuit.com"> pour la note sur la connexion PLIP
entre Dos et Linux&nbsp;;

<item>Ceux que ont postés des articles en rapport avec PLIP sur les
newsgroupes linux et/ou qui m'ont envoyé des messages. La liste de
tous ceux qui m'ont aidé avec des informations et des commentaires
serait plus longue que le Mini-HowTo lui-même&nbsp;: Merci à
tous&nbsp;!

</itemize>

<sect>Copyright<p>

Ce HOWTO est © Andrea Controzzi, 1996.
    
Sauf indication contraire, les droits d'auteur des HOWTO Linux sont
détenus par leurs auteurs respectifs. Les HOWTO Linux peuvent être
reproduits et distribués, en totalité ou en partie, sur tout média
physique ou électronique dans la mesure où ce copyright est préservé
dans chaque copie. La distribution commerciale en est autorisée et
encouragée. L'auteur apprécierait toutefois qu'on lui notifie
individuellement ce genre de distribution.
 
Le présent copyright doit couvrir toute traduction, compilation et
autre travail dérivé des HOWTO Linux. C'est-à-dire qu'il est interdit
d'imposer des restrictions de diffusion allant au delà du présent
copyright à des ouvrages inspirés, ou incorporant des passages, de
HOWTO Linux. Sous certaines conditions, des exceptions à ces règles
seront tolérées : contactez le coordinateur des HOWTO à l'adresse
donnée ci-dessous.

Pour résumer, nous souhaitons une diffusion aussi large que possible
de ces informations. Néanmoins, nous entendons garder la propriété
intellectuelle (copyright) des HOWTO, et apprécierions d'être informés
de leur redistribution.
 

Si vous avez des questions, merci de contacter Greg Hankins, le
coordinateur des HOWTO, à l'adresse électronique <htmlurl
url="mailto:howto@sunsite.unc.edu" name="howto@sunsite.unc.edu">.


</article>
