Next Previous Contents

19. Install the plip interface permanently

19.1 On the source side

I use an old Linux RedHat 4.1 distribution. The location of the files can be different on other GNU/Linux distributions but the philosophy is the same (The Unix System V convention).

Create the file /etc/rc.d/init.d/plip with this content:

#!/bin/sh

##############################
# file /etc/rc.d/init.d/plip #
##############################

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        /bin/echo "Starting plip interface: "
        /bin/echo "Doing /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 up"
        /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 up
        /bin/echo  "Doing /bin/ping -q -c 4 target"
        /bin/ping -q -c 4 target
        /bin/echo "Starting plip interface: done"
        ;;
  stop)
        # Stop daemons.
        /bin/echo  "Shutting down plip interface:"
        /bin/echo  "Doing /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 down"
        /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 down
        /bin/echo  "Doing /sbin/modprobe  -r plip "
        /sbin/modprobe  -r plip
        /bin/echo "Shutting down plip interface: done"
        ;;
  *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac

exit 0

# === End of File ===

    

Only the ifconfig lines are strictly necessary. Perhaps you will need to add some modprobe commands if you don't use kerneld or the kmod feature of new kernels 2.2.x

Create the symbolic links in the rc*.d directories:

      
      $ cd /etc/rc.d/rc0.d/
      $ ln -s ../init.d/plip K97plip
      
      $ cd /etc/rc.d/rc1.d/
      $ ln -s ../init.d/plip K92plip
      
      $ cd /etc/rc.d/rc3.d/
      $ ln -s ../init.d/plip S11plip


      $ cd /etc/rc.d/rc5.d/
      $ ln -s ../init.d/plip S11plip
     

You can choose other numbers. Make sure that the two-digit number after 'K' is greater than the number of every other file that stops a service depending on plip.

Make sure that the two-digit number after 'S' is less than the number of every other file that start a service depending on plip: nfs, nis, ftp, http etc.

Update the /etc/conf.modules file, choosing the correct IRQ number (7 is mine, yours may be different):

# /etc/conf.modules
...
alias parport_lowlevel parport_pc
post-install parport_pc echo 7 >  /proc/parport/0/irq
...
     

Test the plip shell:

      $ /etc/rc.d/init.d/plip 
      Usage: /etc/rc.d/init.d/plip {start|stop}

      $ /etc/rc.d/init.d/plip stop
      Shutting down plip interface: 
      Doing /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 down 
      Doing /sbin/modprobe  -r plip 
      Shutting down plip interface: done

      $ /etc/rc.d/init.d/plip start
      Starting plip interface: 
      Doing /sbin/ifconfig plip0 source pointopoint target netmask 255.255.255.255 up 
      Doing /bin/ping -q -c 4 target
      PING target (192.168.0.1): 56 data bytes
      
      --- target ping statistics ---
      4 packets transmitted, 4 packets received, 0% packet loss
      round-trip min/avg/max = 4.4/8.3/14.0 ms
      Starting plip interface: done
     

Updating the start scripts is a good occasion to reboot a Unix system, to check the modifications. Do it:

      $ init 6 # or "shutdown -r now" or "reboot"
     

19.2 On the target side

Update the file /etc/init.d/network:

      #! /bin/sh
      #######################
      # /etc/init.d/network #
      #######################

      ifconfig lo 127.0.0.1
      route add -net 127.0.0.0
      
      ifconfig plip1 192.168.0.1 pointopoint 192.168.0.2 netmask 255.255.255.255 up
      route add -host 192.168.0.2 dev plip1
     

That's all because the parport features are directly in the kernel.

Updating the start scripts is a good occasion to reboot a Unix system, to check the modifications. Do it:

      $ init 6
     


Next Previous Contents