Amiga Online with Raspberry Pi

Connectivity on the Pi

Pi 3 with USB-serial (e-ink display unimportant)
I'm sure everyone has a Raspberry Pi or 2 knocking around and connected up to the internet. I tend to have mine connected 24/7 running various servers. It's the perfect host for the Amiga to get online.

Now there are many solutions for the Amiga and some are better for performance. Hooking up an Amiga via serial to another machine will only get you a low baud transfer. If you seriously want to get full browsing the you will need to spend money on add-on cards or an Easynet PCMCIA card for A600/1200. An accelerator will also help make the most out of browsing. 

This post is all about getting online using a serial connection to another machine which will gateway the internet connection.
I found the setup to be quite a challenge using Windows 10. I don't think it really works anymore with a Windows host. Instructions online for connecting do gloss over the Amiga setup as well which I hope to cover as well as I can.

This assumes some knowledge of Amiga Workbench and a basic understanding of Raspbian OS. There are good sources of information on the web for the setup of these systems.

Hardware bits

Here is what you need. I've linked to the kit I've used
Null modem cables can be a pain to get right. The Kenable I bought was cheap and worked. I did try a more expensive null modem cable which was unreliable. 
A Pi Zero can be used with a USB to USB micro adapter. 

There are other methods you will read about where an Amiga is connected directly to the GPIO port. In my opinion this restricts your flow control options and doesn't really save you much in the way of hassle and cost. 

Connect the RS232 to USB adapter to any free USB port on the Raspberry Pi. Then connect up the 9 pin end of the null modem cable to the RS232 adapter. On the other end of the null modem cable, attach the 25 pin connector to the Amiga's serial port. 

Setting up the Pi

These instructions are for Raspbian OS on the Pi. If it's a clean install then ensure it's all setup and bootable. Ensure the Pi can connect up to the Internet properly. Wireless or wired connection can be used. My instructions use the wired port and refer to the associated network interface.

First install PPP. Open a command line (terminal)
sudo apt-get install ppp

Edit /etc/sysctl.conf as root
sudo nano /etc/sysctl.conf


Uncomment the line below (remove the hash symbol) and save
#net.ipv4.ip_forward=1

Run
sudo sysctl -p /etc/sysctl.conf


This should confirm that the IP forwarding is enabled

Next the firewall needs to be configured
Run the following for a wired connection:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


If you are on a wireless connection then try
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE


Finally PPP can be run which listens for a connection request on the serial device /dev/ttyUSB0.
sudo pppd -detach /dev/ttyUSB0 19200 noauth local passive debug crtscts persist ms-dns 192.168.1.1 192.168.10.1:192.168.10.99


This is running in debug mode so expect loads of info in the terminal screen. The terminal must remain open otherwise it will stop listening.
The options for PPP set the baud to 19200 in hardware mode on the serial port.
The ms-dns parameter sets a DNS server on your network. Change this to match your own network router or DNS.
Finally the last 2 network addresses specify a new network to host the connection to the Amiga. I've used network 192.168.10.X with the Pi on address 192.168.10.1 and the Amiga on 192.168.10.99.

If you don't know much about networking then don't worry too much about the settings. They should mostly work.

Setting up the Amiga

This is a little more complex as a standard Amiga Workbench requires a ton of packages installing such as MUI to get the required apps. I use an install of Classic WB which has all of this already scripted and just requires your original disks to complete an install.

MiamiDX is a reasonable dial up app with TCP stack support. It's GUI has loads of options and avoids any config files. It does require keys to get a full version. As it can no longer be bought, the only real option is to download the keys. Look for MiamiDXKeys.lha package.

Create a Workbench:Miami directory.

Download MiamiDX packages

  • MiamiDx10c-MUI.lha
  • MiamiDx10cmain.lha
Extract the content of these to a temporary directory

Run the installer in advanced mode with 
Installer Install_MiamiDx

Copy over the Miami keys to Workbench:Miami
  • miami.key1
  • miami.key2
  • miamidx.key
Open Serial preferences and setup to 19200 baud, RTS/CTS. This may not be totally required, but best to keep settings the same as Miami will use.
Serial Preferences
Save these to exit.

Run MiamiDX from Workbench:Miami directory.

From the top of the menu on the left, access Hardware
Press the New button
Enter a name, you can call it what you like. Ensure the Type is set to 'builtin serial driver'. Change speed to 19200 and Use CD is checked. See screenshot below
New Serial Hardware
Now click on Modem settings...
Modem settings
Check the Null modem setting and this should grey out the other boxes. Press OK to return.
Press OK again to exit the Hardware setup.

Now select Dialer from the left menu.
Press the New button
Name the dialer to something.
By default the dialer is setup with a dial script. None of this is needed. Delete all dial script entries and then Press OK.
Dialer setup
Select Interfaces from the left menu.
Press New.
Set interface type to PPP and Interface to Internet.

There are many settings here. Ensure Hardware uses your setup serial config. Ensure Dialer is set to the configured dumb dialer script.
IP and Gateway are dynamic
Set as Control panel and GUI default
Interface config

Press the PPP settings...
Check the settings match the screenshot. Shouldn't be much, if anything to change here.
PPP
Press OK.

Press the TCP/IP settings...
Use ICMP
Ensure dynamic DNS servers are set to 'add'
TCP/IP
Press OK again to go back to the main screen. 
Select TCP/IP from the left menu.
TCP/IP main setting
Press the LAN-Connect... button.
Ensure the ppp0 is set to LAN
IP-NAT is set to external
Lan-Connect options
Press OK to save and exit

This is everything. One final step required to save all this config
Right click the mouse in MiamiDX and select Settings->Save

Make connection

Now your Raspberry Pi and Amiga are setup press the Online button in MiamiDX

The terminal on the Pi should kick off and hopefully finish successfully. The Amiga is online!


Any issues then recheck config on Amiga and the ppp parameters. 

To check everything is working on the Amiga, open a Shell and change directory to Workbench:Miami

Type in 
miamiping 8.8.8.8

Ping Google DNS
You should get responses from the ping. 

Next try a ping with a resolvable name such as www.google.com
Ping with resolvable name
This should confirm the DNS is working. Failure of this could be due to the PPP command on the Pi incorrectly specifying the DNS server to use. Check config and check the Pi can resolve the address used in ping.

Advanced stuff

So this is the real basics. Miami provides a TCP/IP stack for other applications to use. 
A popular browser is IBrowse which is kept up-to-date for the Amiga.
Here's some example pages
www.google.com

Amiga.org
Aminet.net
BBS boards are online through Telnet. Use DCTelnet or similar tools to connect. I've had some limited success with BBS but nothing too reliable to-date.










Comments