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-rc3
----------------
* IBrowse and other programs with many connections open no longer stall
or hang: waits in connect(), send(), recv(), accept(), name lookups and
WaitSelect() with a timeout no longer hold up other programs, stop on
Ctrl-C, and time out when they should.
* Uploads are much faster and steadier: no more multi-minute stalls over
Pi Wi-Fi, plipbox resends far less, and lost segments are resent at
once.
* DA-Player gets CD titles from gnudb.gnudb.org.
* ixemul programs no longer crash with 80000004 on a 68040 or 68060.
* NetSwitch can set the clock by SNTP when an interface goes online, and
the optional NetEnv commodity publishes addresses in ENV: for tools
such as NewMeter.
* NetX Duo security fixes for the DHCP client and TLS handshake parsing.
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 3A+/4/CM4 Wi-Fi, PiStorm with Emu68
(experimental)
Xircom PCMCIA driver and pccard.library
Any other SANA-II driver works as well.
How fast
--------
Measured with AmiSpeedTest against a server on the local network,
download / upload:
A1200 PiStorm32 CM4, GENET, anxgenet.device 833 / 754 Mbit/s
A1200 PiStorm32 CM4, Wi-Fi 5 GHz, anxwifipi.device 56.6 / 66.9 Mbit/s
A1200 PiStorm32 CM4, D-Link DFE-670TXD, anxnet.device 9.5 / 9.2 Mbit/s
A3000 68060/100, X-Surf 100, anxnet.device 29.2 / 21.0 Mbit/s
A3000 68060/50, X-Surf 100, anxnet.device 20.1 / 14.0 Mbit/s
A500 PiStorm Pi 3A+, Wi-Fi 5 GHz, anxwifipi.device 64.1 / 83.1 Mbit/s
A500 PiStorm Pi 3A+, plipbox, plipbox.device 0.6 / 0.8 Mbit/s
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
|