PLIP

Allikas: Kuutõrvaja

PLIP - Parallel Line Internet Protocol

Sissejuhatus

Teemaks on järjekordne võimalus kahte arvutit omavahel suhtlema panna. Lõpptulemusena peaks mõlema masina kernelisse tekkima võrguseade plip1 (number võib ka muu olla) ja nendega seostatakse IP number. Sarnaselt võrgukaardi eth0 seadmele. Oluline on aga see, et nö. PLIP'i kasutades ei pea omama võrgukaarti - tarvis on vaja ohverdada vaid nn. printeri port. See on 25 pin'ine pistikupesa, tavaliselt mamma, arvuti taga. Võrguinterface konfigureerimine toimub nagu ikka käskudega ifconfig ja route. Ja normaalsete arvutite puhul on ühenduse kiirus ca 40 kB/s (vrd. modem ca 3,8 kB/s, ISA võrgukaart 800 kB/s).

Ainuke halb asi on see, et tavaliselt on x86 arvutitel üks paralleel port ja seega ei saa korraga kasutada printerit ja plip'i. plip võtab enda alla nii füüsilise pistikupesa kui ka pritneri irq ( 7 ) ning IO ( 0x378 ).

Riistvara

Ainuke riistavara mis siin vaja on on 12 kiuline juhe mis ei tohtivat olla üle 3 meetri pikk. Ja kumbagi otsa 25 pinine papa. Seda juhet nimetatakse ka paralleel-pordi null-modemi kaabliks. Ilmselt pole teda suur vaev ise kokku tinutada kui neid pidavat ka valmis kujul osta saama. Täpsemat informatsiooni juhtme kohta saab kerneli nn. source tree'st: /usr/src/linux/drivers/net/README1.PLIP.

Plip.jpg

Tarkvara

Põhiline tegevus eeldusel, et teil on standartne võrgutarkvara olemas (st. programmid ifconfig, route, hostname, telnet, ping, lynx, ftp) seisneb kerneli kompilleerimises. Veenduge, et muude teile vajalike kerneli optsioonide seas oleks valitud ka:

- Networking options
       [*] Network firewalls
       [*] TCP/IP networking
       [*] IP: forwarding/gatewaying

- Networking device support
       [*] Network device support
       <M> PLIP (parallel port) support

- Character device
       <M> Parallel printer support

Siin muidugi ei pea printerit valima, aga kui on kavatasus seda kasutada siis tehke mõlemad - plip ja printer - mooduliteks ja laadige vajadusel.

Nagu ikka:

make dep; make clean; make zImage
make modules; make modules_install

ja lilo juhul kui ei ole grub


Konfigureerimine

Olles siiamaani jõudnud eeldame, et kaabel on valmis ja külge ühendatud ning uued kernelid paigas. Aga siiski, võimalik, et te peate BIOS SETUP'ist määrama printeri pordi moodi: see peaks olema Normal (mitte ECP ega EPP). Teie valitud mood peaks võimaldama nibble ehk poole baidi ehk 4 biti laiust liiklust (tõenäoliselt ühesuunalist). See tähendab et kummaski otsas tuleb 2 nibblet taas baidiks kokku ühendada aga nii see on.

/etc/hosts fail võiks olla mõlemal masinal näiteks selline:

127.0.0.1            localhost
192.168.1.9          mina
192.168.1.10         sina

Teadupärast see fail seab vastavusse nime ja numbri.

Olete masinas plip'i jaoks nimega 'mina' . Kõigepeal veenduge, et saate plip mooduli laadida:

bash# modprobe plip  (või insmod plip)
bash# lsmod
Module:        #pages:  Used by:
plip               3            0
bash#

Seejärel peate võrguseadme konfigureerima:

bash# ifconfig plip1 mina pointopoint sina up
bash# route add two dev plip1

Pange tähele, et mina ja sina peavad olema eelnevalt defineeritud ühte moodi mõles /etc/hosts failis! Sarnased käsud andke ka teises arvutis. Ainult nimed vahetage ära st. enne selle masina nimi mis on kohalik ja peale sõna 'pointopoint' kauge masina nimi.

Nüüd te peaksite nägema, et irq on läinud:

bash# cat /proc/interrupts
 0:     518790   timer
 1:      14751   keyboard
 2:          0   cascade
 7:        545   plip1
12:      25907   PS/2 Mouse
13:          1   math error
14:      40934 + ide0
15:          0 + ide1

Ja loomulikult veenduge, et näete ka midagi sellist:

bash# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0

plip1     Link encap:Ethernet  HWaddr FC:FC:C0:A8:01:09
          inet addr:192.168.1.9  P-t-P:192.168.1.10  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0
          Interrupt:7 Base address:0x378

ning

bash# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
two             *               255.255.255.255 UH    0      0        0 plip1
loopback        *               255.0.0.0       U     0      0        0 lo
bash#

Ja asi peakski valmis olema. Proovige pingida teist masinat ja muid võrgu programme. Programmide jaoks on ühendus tavaline IP datagramme ühest kohast teise liigutamise võimalus. Ainult aeglasem kui tavaline ethernet. Mis on kummaline on see, et ei saa pingida enda plip'i seadet. Aga ju see siis nii peab olema.

Kokkuvõte

Algul kerneli lähteteksti puus viidatud failis on olemas ka teistsugune kaabli kiudude ühendamise võimalus. Siintoodud on nö. standartne kus üldse on olemas standard :)

Konfigureerimise juures on vaja anda küllaltki palju käske, kasutage shell scripti:

#!/bin/sh
ifconfig plip1 mina pointopoint sina up
route add two dev plip1