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.
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
- 9 pin Serial to USB - CSL RS232 adaptor on Amazon
- 9 & 25 pin null modem cable - Kenable 2.5m
- Any Raspberry Pi with USB A ports
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
Uncomment the line below (remove the hash symbol) and save
#net.ipv4.ip_forward=1
Run
This should confirm that the IP forwarding is enabled
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.
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.
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
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.
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
Now click on 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.
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
Press the PPP settings...
Check the settings match the screenshot. Shouldn't be much, if anything to change here.
Press OK.
Press the TCP/IP settings...
Use ICMP
Ensure dynamic DNS servers are set to 'add'
Press OK again to go back to the main screen.
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
Serial Preferences |
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 |
Modem settings |
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 |
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 the TCP/IP settings...
Use ICMP
Ensure dynamic DNS servers are set to 'add'
TCP/IP |
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
Post a Comment