Running PPP

It is possible to run PPP over the serial port instead of using rz and sz to transfer files. Running PPP gives you full network support, so you can enable things like TELNET, FTP, SSH, and so on.

  1. First you will need to install a kernel with PPP support. (This beta7 kernel has IrDA as well as PPP.) Use the emplode software or the upgclient tool to install the kernel upgrade file. Note that you will need to re-install this kernel image after any other upgrade (such as a new beta release) unless those upgrades also provide PPP support in the kernel.

  2. Next you will need a PPP daemon at both ends of the serial link. If you've created a Debian-like environment on your empeg, you can install this Debian ppp package.

    If you don't have a Debian environment, you can use alien or just plain

    ar x $package data.tar.gz
    

    to extract a tarball from the Debian package. Note, however, that the pppd binary in this package is linked against the libcrypt shared library which is not included in the package, and does not come with the empeg's developer images. (One possible source is from the Debian ARM libc6 package.)

  3. Next, make sure you are running at least one network service on the empeg, or you won't be able to do much besides ping the unit. :-) You may also want to check your /etc/hosts and /etc/resolv.conf files for appropriate contents.

  4. Then, run pppd on the empeg like this:

    pppd ttyS1 115200 nocrtscts local noauth defaultroute passive
    

    If you're connected to the empeg using a terminal, you'll need to disconnect at this point so PPP can take over.

  5. Finally, at the other end of the serial link, run pppd like this:

    pppd $serial 115200 nocrtscts local noauth :$ipaddr
    

    where $serial is the name of your serial port (e.g. ttyS0) and $ipaddr is the IP address to assign to the empeg. A good choice if you don't have anything better to assign would be an address from the private 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16 address blocks, such as 10.0.0.1.

If the link is ever broken, you'll need to restart pppd on the empeg, or you can add persist to the command options to keep it running automatically. In the latter case, you may find it difficult to get back to a shell prompt if you start pppd interactively.

If you are running the Debian /sbin/init on the empeg, you can run pppd automatically by changing /etc/inittab to contain these entries:

T1:2:respawn:/sbin/getty -L ttyS1 115200 vt100
P1:3:respawn:/usr/sbin/pppd ttyS1 115200 nocrtscts local noauth defaultroute passive

Runlevel 2 then gives you a login prompt, and runlevel 3 runs pppd instead.

Contributed by Rob Leslie