AmiNetXDuo is a free, open-source TCP/IP stack for the classic Amiga. It
provides the bsdsocket.library that Amiga network programs already use, and
reaches the network through your card's ordinary SANA-II driver, so
programs written for bsdsocket.library keep working; ssh, NFS mounts and
ixemul programs included.
It speaks IPv4 and IPv6. On a network with an IPv6 router the Amiga gets an
address by itself, with nothing to configure. Underneath is Eclipse ThreadX
NetX Duo, an embedded industrial TCP/IP stack, ported to Exec. Its interface
files use Roadshow's format.
It is MIT licensed. This is the release candidate for 1.0.0: if nothing
serious turns up, 1.0.0 follows with the same code.
New in 1.0.0-rc2
----------------
* Wi-Fi: the installer sets up WirelessManager for a PC Card with
prism2.device and installs WirelessManager 1.5. A Wi-Fi interface gets
its address within about 9 seconds of joining the network.
* The Ameristar A2065 and real A2065-class boards work with
anxnet.device.
* The X-Surf no longer misbehaves when an IDE interrupt arrives.
* NetPrefs: DNS fields for a fixed address, Wi-Fi start at boot, edits in
place, and no PROGDIR: requester in a drawer installation.
* The CA roots are Mozilla's set of 20 October 2026, without the eMudhra
emSign roots whose keys were found to be computable.
* IPv6 addresses follow the BSD layout, and an IPv6 address the Amiga
cannot reach comes after a working IPv4 one.
* DHCP starts over when a request goes unanswered, and
CreateAmiNetXDuoStatusReport shows the DHCP state in detail.
* The installer is Commodore Installer 43.3 again. It needs 2 MB; the
stacks still run in 1 MB.
The full list is in CHANGELOG.md on GitHub.
Features
--------
- bsdsocket.library (AmiTCP/Roadshow API), usergroup.library
- IPv6: SLAAC, DHCPv6, neighbour discovery, duplicate address detection
- DHCP, DNS, .local names (mDNS), IPv4 multicast, a packet filter
- tls.library for https: and other encrypted connections, CA roots
included
- ssh and scp clients
- httpd: your volumes over HTTP and WebDAV, a Shell in the browser, and
the Amiga's screen in the browser with mouse, keyboard and clipboard
- For the Workbench: NetPrefs (edits interface definitions, keeps your
comments), NetMeter, NetSwitch and NetWireless
- ping, traceroute, nslookup, netstat, ShowNetStatus, fetch, telnet,
tftp, sntp, iperf, NetCapture (writes .pcap files for Wireshark),
ShowTasks, WatchTasks, CheckNetConfig and CheckNetDevice when
something does not work
- Three stacks to choose from at install time: Full, Minimal without
IPv6 and encryption, and Micro for small machines
Drivers included:
anxnet.device A2065, Ariadne, Ariadne II, AmigaNet, LAN Rover,
X-Surf, X-Surf 100, X-Surf 500, NE2000-compatible and
D-Link DL10019 PC Cards, 3Com 3C589
anxgenet.device Raspberry Pi 4/CM4 Ethernet, PiStorm32 with Emu68
anxwifipi.device Raspberry Pi 4 Wi-Fi, PiStorm32 with Emu68 (experimental)
Xircom PCMCIA driver and pccard.library
Any other SANA-II driver works as well.
How fast
--------
Measured with iperf or AmiSpeedTest on 1.0.0-beta8, receive / send:
A1200 PiStorm32 Lite, GENET, anxgenet.device 900 / 580 Mbit/s
A1200 PiStorm32 Lite, Wi-Fi, anxwifipi.device 34-36 / 52-61 Mbit/s
A1200 PiStorm32 Lite, D-Link DFE-670TXD 9.4 / 9.1 Mbit/s
A3000 68060/50, X-Surf 100, anxnet.device 22.5 / 11.8 Mbit/s
A3000 68030/25, X-Surf 100, anxnet.device 3.8 / 3.3-3.7 Mbit/s
The PiStorm32 Lite figures were taken on a Raspberry Pi 4; a CM4 differs.
What it does not do (yet)
-------------------------
- It is tested on the machines above and installed in emulation on
Kickstart 2.04, 3.0, 3.1 and 3.2, but not on everything.
- A first https: connection on a plain 68000 takes a minute or two; a
resumed one is quick.
- The Wi-Fi driver is experimental and needs WirelessManager (included)
to join a network.
Installing
----------
Unpack the archive anywhere and double-click Install-AmiNetXDuo. The
installer finds your card's driver, writes the interface definition, and
puts the stack in the system directories or in a drawer of its own. The
ReadMe in the archive lists every file it installs; Docs/AmiNetXDuo.guide is
the manual.
Licence
-------
MIT. A few parts keep their own licences (ThreadX and NetX Duo MIT,
NetBSD's NE2000 core BSD, Dropbear's ssh, Mozilla's CA roots, the Wi-Fi
driver MPL 2.0 and codesets.library LGPL); the archive's documentation lists
them.
Reports from real hardware are the most useful thing you can send: the
machine, the card, the Kickstart, and what happened. Source and issues:
https://github.com/tinic/AmiNetXDuo
|