Next Previous Contents

## 10. PLIP on the Source side

This section describes how to set up the `plip` interface in the source server. If you run into trouble, I suggest that you read the PLIP MINI-HOWTO.

Check that your `lp` device is not set. You should not have this entry:

         $ cat /proc/devices
         Character devices:
         ...
         6 lp
         ...

If you do have it, kill the `lpd` daemon and remove the `lp` module:

         $ /etc/rc.d/init.d/lpd.init stop
         Shutting down lpd: lpd

         $ rmmod lp

If you can't remove the `lp` module then you have to recompile the kernel with `lp` service as a module.

Now, the "`6 lp`" line has disappeared from the `/proc/devices` file, which is a reflection of the kernel capabilities.

You are not obliged to eliminate the lp device : the scheme may work with lp. Without guarantee (it works for me). Check it yourself.

Check that your parallel port is handled:

         $ ls /proc/parport/
         0/

         $ cat /proc/parport/0/hardware
         base:   0x378
         irq:    7
         dma:    none
         modes:  SPP,ECP,ECPEPP,ECPPS2

If you don't have any directory under `/proc/parport/` then you have to load the `parport` and `parport_pc modules`:

         $ insmod parport
         $ insmod parport_pc

You should see this new entry in `/var/log/messages`:

         Oct  9 20:50:47 louloutte kernel:
         parport0: PC-style at 0x378 [SPP,ECP,ECPEPP,ECPPS2]

         Oct  9 20:50:47 louloutte kernel:
         parport0: detected irq 7;
         use procfs to enable interrupt-driven operation.

I repeat the message "detected `irq 7`, use procfs to enable interrupt-driven operation", so:

         $ echo 7 >  /proc/parport/0/irq

Using a kernel 2.4 the last command is no longer available. Use instead:

            $ insmod parport
            $ insmod parport_pc io=0x378 irq=7

Check that `plip` module is loaded:

         $ lsmod |grep plip

If `plip` module is not loaded, then load it:

         $ insmod plip

You should see something like this in `/var/log/messages`

         ==> /var/log/messages <==
         Oct  8 16:34:12 louloutte kernel:
         NET3 PLIP version 2.3-parport gniibe@mri.co.jp

         Oct  8 16:34:12 louloutte kernel:
         plip0: Parallel port at 0x378, using IRQ 7

If you can't load the `plip` module then you have to recompile the kernel with `plip` service as a module.

The syslog message says the module is loaded on the `plip0` interface. Configure the `plip0` interface:

         $ ifconfig plip0 source pointopoint target netmask 255.255.255.255 up

Check that everything is okay.

         $ ifconfig plip0
         plip0     Link encap:10Mbps Ethernet  HWaddr FC:FC:C0:A8:00:02
              inet addr:192.168.0.2  P-t-P:192.168.0.1  Mask:255.255.255.255
              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

Now you can `ping` locally the source server:

         $ ping source
         PING source (192.168.0.2): 56 data bytes
         64 bytes from 192.168.0.2: icmp_seq=0 ttl=255 time=0.3 ms
         64 bytes from 192.168.0.2: icmp_seq=1 ttl=255 time=0.2 ms

         --- source ping statistics ---
         2 packets transmitted, 2 packets received, 0% packet loss
         round-trip min/avg/max = 0.2/0.2/0.3 ms

Verify that the route to target exists:

         $ route
         Kernel IP routing table
         Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
         target          *               255.255.255.255 UH    0      0        0 plip0

If the route doesn't exist, add it:

         $ route add -host  192.168.0.1  dev plip0

When the target is configured you will be able to do a ping test:

         $ ping target
         PING 192.168.0.1 (192.168.0.1): 56 data bytes
         64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=4.5 ms
         64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=4.3 ms

         --- 192.168.0.1 ping statistics ---
         2 packets transmitted, 2 packets received, 0% packet loss
         round-trip min/avg/max = 4.3/4.4/4.5 ms

But if you try it now you should have:

         $ ping target
         PING target (192.168.0.1): 56 data bytes

         --- target ping statistics ---
         5 packets transmitted, 0 packets received, 100% packet loss

Now, the server network is ready to work. Congratulations.

Next Previous Contents