blog.jmp.no

Electronics, coding and hacking. And ADD.

« Soldering fumes exhaust C64 SMD caps »

Cheap, overkill Amiga network adapter

2013
22
May

Here's a silly, but functional way of getting your oldskool Amiga online for £25, or should I say, the cost of a Raspberry Pi. I have one, and the other day I realized that I never really used it - it's just sitting there, collecting dust. In the spirit of my recent "get shit done" marathon, I'll put it to use, today.

Also, one of the problems with the Amiga is the lack of modern equipment, such as network adapters. Obtaining one for "unexpandable" Amigas (like the A500, and to some extent the A600 and A1200 if you exclude the PCMCIA port) will cost you an arm and a leg - or two.

Since the Raspberry Pi was just sitting there, and the Amiga lacked (*) a network adapter - why not just connect the dots and get something up and running? I did, and it worked. Here's a quick writeup on what I did - if anyone's interested I can write a more detailed post with all the information I have.

The goal was to use some of the software I had laying around, such as AmiTCP 4.0 demo (freely available on Aminet) and PPP.device (also on Aminet). I would also use an off-the-shelf nullmodem cable, in addition to a custom DB9 serial port on the Raspberry.

Installing AmiTCP and PPP.device on the Amiga is trivial, just run the installers. Configure AmiTCP:bin/startnet to include

online devs:networks/ppp.device 0

before starting AmiTCP, and also make sure ifconfig uses the ppp interface with the client's IP. That's all there is to do on the Amiga.

The Raspberry's serial port was made by hand to save time. Finished modules can be bought on eBay for next to nothing (for reference, like this guy did) if you can afford to wait a few days for the snail mail to arrive.

Amiga serial ethernet, Raspberry daughter board

I verified that the daughter board worked by connecting it to my desktop with a terminal program. By default, the Raspberry Pi will have a login console running on this port at 115 200 bps. This was disabled in /etc/inittab and /boot/cmdline.txt.

Amiga serial ethernet, connected with nullmodem cable

I configured and started the PPP daemon on the Raspberry at 19 200 bps, and started AmiTCP:bin/startnet on the Amiga. To my surprise, everything worked on the first try. PPP connected, the IP address was set, whois, ftp, telnet and ping responded as expected!

Amiga serial ethernet, communication working

All right, so it's not the best speed, and it may not be the most convenient or prettiest solution, but it has a couple of advantages to it:

- Allows you to connect to encrypted WiFi networks not supported by the Amiga
- Reduces the Amiga's CPU load, with a potentially smaller memory footprint
- It can switch between WiFi and cabled ethernet
- Provides firewall, VPN/PPTP, etc
- It's small, bring it to the next copy party!
- Multi-platform: also works on other PPP enabled systems

If this sounds good, why not throw the Raspberry in a case, add a USB WiFi dongle, power it using the Amiga's external floppy port, and wham - you have yourself a portable solution!

*) Not entirely true, but for the sake of the story, let's say it did.


Share:

to Cheap, overkill Amiga network adapter

Feed for this Entry

12 Comments

  • Hello.

    Could it be possible for you to detail a bit more the "Raspberry side" of the process ? ( the "configure part" ou the PPP Daemon ... mainly the IP routing )

    Thank you very much.

    #609 | Comment by Olivier Gengler on May 23, 2013 08:57pm
  • Certainly! I will do a quick write-up on the subject very soon.

    #610 | Comment by admin on May 24, 2013 08:11am
  • Awesome, now I have a use for my raspberry pi... It's kinda like the plipbox http://lallafa.de/blog/
    but seems a bit easier..

    #611 | Comment by Martin on May 24, 2013 09:46pm
  • Regarding the IP routing, it's basically a traditional NAT setup.

    With Debian on my Raspberry, I installed the ppp package (apt-get install ppp) to get the PPP daemon.

    Configure NAT:

    echo 1 > /proc/sys/net/ip_forward

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

    Start the PPP daemon:

    pppd 19200 nodetach netmask 255.255.255.0 connect 'chat -v -f /etc/ppp/amiga.chat' persist 10.0.0.1:10.0.0.2 /dev/ttyAMA0

    The /etc/ppp/amiga.chat script is just:

    TIMEOUT 3600
    '' CLIENTSERVER\c

    I *think* that should cover it all. Let me know if I left something out.

    #614 | Comment by admin on May 25, 2013 09:27pm
  • Fantastic solution! FYI I have put various machines on the 'net using this little device (I don't sell them or work for them!): the XT-Nano-XXL. It's a little daughter card that acts as a serial to Ethernet interface for SPI, I2C, RS-232 (protocol, not line levels) and discrete I/O.

    #622 | Comment by Dan on May 28, 2013 06:18pm
  • The XT-Nano XXL is cool and all but it's also $86us.

    #624 | Comment by Knight Fire on May 29, 2013 04:47am
  • the idea is nice. i guess it could be easily done with this:
    TL-MR3020, which only costs around 25$, and has wired and wireless ethernet and runs openwrt.
    you have to solder some pins into the pre-drilled holes to get a console, or use a plain and simple usb-to-serial adapter.

    #625 | Comment by swm on May 29, 2013 10:32am
  • The v2 release of the prism2 drivers for 16-bit PCMCIA Wifi cards on the Amiga supports Encryption WPA2 TKIP+AES. You should get better performance than PPP.

  • That's true (I have a Prism2 compatible card on my A600), but the issue here is the adapter, not the driver. And there's no PCMCIA on the A500. Anyway, this was meant as a low-budget, portable emergency ethernet - "not for professional use" ;)

    #627 | Comment by admin on May 29, 2013 04:45pm
  • You can speed it up by allowing the RPi somehow to manage the entire IP stack (rather than using a stack on the Amiga) — it would take away a heap of processing for the Amiga :D

    #662 | Comment by Chris Dennett on Nov 16, 2013 02:25pm
  • Really nice work there buddy!
    Since I have very limited knowledge in this field I'd like to ask you some questions if don't mind?

    1. Is this solution possible to implement for a SEGA Dreamcast (the DC BBA is rare and expensive)?

    2. The limited bandwidth and high latency, are these factors limited by the Amiga500 or the implementation itself?

    Thanks a lot and keep up the good work!

    Best regards,
    Niclas

    #726 | Comment by Niclas Jacobsson on Aug 7, 2014 07:38am
  • Hi Niclas! Sorry for the delayed response, I've been on a vacation.

    1) I think so. This works with anything with a serial port. A PPP client is required on the DC, but I believe you should be able to find clients that are portable.

    2) The bandwidth is limited by the client, in this case the Amiga's serial port driver which is capped to 19.2K. Luckily there are third-party drivers you can use that will go faster. From what I read, the DC serial port goes well beyond that!

    Good luck, and let me know how it works out! The Dreamcast scene is very exciting.

    #727 | Comment by admin on Aug 15, 2014 09:50pm

About You

Email address is not published

Add to the Discussion

Add to Google