Network on Amiga using PPP

Infos

I am using the not free Roadshow TCP/IP stack since it have builtin PPP support.

I tried with AmiTCP both latest stable and unstable, plus third party PPP and couldn't get anything working properly.

Amiga Setup

Buy and install Roadshow and configure:

In the file DEVS:NetInterfaces/PPP, change the two lines by:

device=ppp-serial.device
requiresinitdelay=no

Create the file S:PPP-Configurations/ppp-serial with:

interface=ppp
device=serial.device
speed=19200
rtscts=no
checkcarrier=no
nullmodem=yes

Notes: you may need to use "baud" or "speed" in the last file, depending on the alignment of the moon, if you get a warning about unknown keyword, try the other one.

Linux setup

Notes:

  • 192.168.210.30 ip the ppp0 interface will get on linux side
  • 192.168.210.251 ip the amiga will get
  • 192.168.10.1 my linux-side router
  • enp0s25 is my laptop ethernet connection to the LAN
  • You can skip the whole iptable part if you don't needs to access the LAN and internet from the amiga, it will have only access to the linux ip side
  • beware that the two first iptables commands will DELETE ANY RULES
  • debug will show verbose things
  • nodetach if you want to run it in foreground

File amiga-ppp.sh:

#!/usr/bin/env bash

sudo iptables -F
sudo iptables -t nat -F

sudo iptables -t nat -A POSTROUTING -o enp0s25 -j MASQUERADE
sudo iptables -A FORWARD -i enp0s25 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i ppp0 -o enp0s25 -j ACCEPT

sudo pppd file /etc/ppp/peers/amiga

File /etc/ppp/peers/amiga:

#
# Created for the RPi/Amiga by Roger North-Row `<amiga-ppp@north-row.com>`
#
# To quickly see what options are active in this file, use this command:
#   egrep -v '#|^ *$' /etc/ppp/peers/amiga

debug
nodetach
# Serial device
/dev/ttyUSB0

# Speed of the serial line, this is probably maximum unless you have a serial board
19200

# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
# Two Servers can be remotely configured
ms-dns 192.168.10.1

# Specify which WINS Servers the incoming connection Win95 or WinNT should use
ms-wins 192.168.10.1

# Require the peer to authenticate itself before allowing network
# packets to be sent or received.
noauth

# Don't use the modem control lines.
local

# Local and remote IP addresses
192.168.210.30:192.168.210.251

# Set the interface netmask to `<n>`, a 32 bit netmask in "decimal dot"
# notation (e.g. 255.255.255.0).
netmask 255.255.255.0

# Enables the "passive" option in the LCP.  With this option, pppd will
# attempt to initiate a connection; if no reply is received from the
# peer, pppd will then just wait passively for a valid LCP packet from

# the peer (instead of exiting, as it does without this option).
passive

# With this option, pppd will not transmit LCP packets to initiate a
# connection until a valid LCP packet is received from the peer (as for
# the "passive" option with old versions of pppd).
silent

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system.
proxyarp

# Do not exit after a connection is terminated; instead try to reopen
# the connection.
persist

# ---`<End of File>`---

Improvements

Systemd

Create /etc/systemd/system/ppp-amiga.service:

[Unit]
Description=Start PPP for Amiga networking

[Service]
Type=simple
ExecStart=/usr/sbin/pppd file /etc/ppp/peers/amiga

[Install]
WantedBy=multi-user.target

Then you can:

sudo systemctl daemon-reload
sudo systemctl enable ppp-amiga
sudo systemctl start ppp-amiga

Run

Check that the following exists in S:user-startup:

;BEGIN Roadshow
if EXISTS S:Network-Startup
    Execute S:Network-Startup
EndIf
;END Roadshow

Launch amiga-ppp.sh on the linux side.

reset your amiga, pop a newshell and execute:

ppp_dialer s:PPP-Configurations/ppp-serial

And you can leave that window aside and enjoy slow internet.

Various sources