Connecting a vintage PC to the web over serial
Not satisfied with having my laptop from 1996 connected to the internet, I turned to my massive brick of a luggable: the Toshiba t130e from 1987.
Whilst conceptually this should be easier than with the Satellite, finding the correct packet driver for serial PPP networking was more difficult. Many websites referenced the dosppp software, but very few gave a download.
Eventually I found the download here. I copied these files to the Toshiba with a floppy and placed them into
I then downloaded mTCP and unzipped it to the
The router I chose was my server machine - an HP Elitebook 8570p. I chose this for 2 reasons:
- It was already plugged in and running 24/7
- It has a real serial port
The wiring was simple. All I needed was a null-modem cable (a normal serial cable will not work).
I connected one end of the cable to the server, and one to the Toshiba.
On the server side, I ran the following commands (as root):
# sysctl net.ipv4.ip_forward=1 - This allows the server to forward packets like a router.
# iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE - This bridges the serial interface to the main interface.
# pppd ttyS0 19200 local lock passive proxyarp defaultroute noauth mtu 576 10.0.1.1:10.0.1.2 - This starts pppd (see the IPs at the end in the form server:client).
I put this in a script named
Connecting on the Toshiba
Dosppp was an easy setup. The command to run start it is simply:
epppd com1 19200 local. The com1 was the port I plugged the serial cable into, the Toshiba has
2 serial ports so this could have been com2 if I plugged it in there. This tells me the packet interrupt selected - mine was 0x60.
C:\mtcp folder I edited mtcp.cfg to read the following:
PACKETINT 0x60 - the packet interrupt I was given HOSTNAME BIGBRICK IPADDR 10.0.1.2 NETMASK 255.255.255.0 GATEWAY 10.0.1.1 NAMESERVER 18.104.22.168
I then set the variable
MTCPCFG to the location of the mtcp.cfg:
set MTCPCFG=C:\mtcp\mtcp.cfg. Put this in
autoexec.bat if you want.
Here I've given the new network the subnet of
10.0.1.0/24 with the server being
10.0.1.1 and the Toshiba being
Then I can test by pinging cloudflare dns:
We can then do whatever we want on the internet.