New Open Source TCP/IP Stack for RISC OS now available to download

Skip to first unread message

Richard Brown

Apr 30, 2022, 7:55:08 AMApr 30
New Open Source TCP/IP Stack for RISC OS now available to download

RISC OS Developments is pleased to be able to make available the first
release of our new TCP/IP stack for RISC OS.  Our programmers have been
working on this for the last 18 months and are very pleased to finally
share with you the fruits of their labours.

Please be aware that like any 1.0 release, this is still somewhat work in
progress, and there are features (especially in terms of user interface)
that will arrive further down the line.  However, the core stack
implementation is now fully functional, and has been tested by a wide
range of users with a broad selection of RISC OS programs from across the

Features of the new TCP/IP stack

The new stack is based on the highly respected OpenBSD network stack,
which known to be one of the most secure solutions available.  It was
chosen because of its security, and the ease by which interfaces can
register and de-register on the fly, making it ideally suited to what we
want to achieve on RISC OS, with an eye to wifi and flexibility.

The development has focussed on making the stack compatible with RISC OS
with the fewest changes possible, so that we can track the base BSD stack,
with much of the conversion process being automated.  The goal has been to
create something that does not need to be re-created each time we update /
synchronise the stack with BSD, yet remain compatible with existing RISC
OS software.

Much of the development time has been spent ensuring that existing
applications behave exactly as before, regardless of which generation of
Acorn/Pace/Castle specifications they were written to.  To this end, the
stack has undergone months of rigorous testing across a broad range of

Additionally, much documentation has been created for programmers,
including many sections that are now publicly documented for the very
first time.

All this paves the way towards wifi in the coming months....

Key features include:

     Modern TCP/IP stack supporting IPv4 and IPv6 network/internet

     Static (manual) and automatic address assignment via DHCP (IPv4)
     and SLAAC (IPv6)

     Easy installation (or uninstall) alongside the classic RISC OS
     network stack.  No need to replace your OS - it can be installed
     on any modern-ish version of RISC OS 5 (ideally 5.24+), but
     please check the supported platforms below.

     Supports Acorn's internet 4 (80s/90s) and 5 (~1996 onwards) APIs
     for compatibility with every network application we have found
     to test with.

     Highly compatible - even your existing network config files work
     seemlessly with the new stack!

     No requirements for developers to modify existing code (unless
     they wish to).

     New Open Source Resolver and MBufManager modules to replace
     closed-source versions.  These are compatible with the older
     stack too, to allow developers to test new software (eg. IPv4
     and IPv6 aware applications) on all machines.

     Extensive documentation included for developers with no
     restrictions on access.

     Dynamic network configuration means no more reboots when
     reconfiguring your networking (at last!)

     802.11 protocol support paves the way for wifi

     Unlocks potential for higher performance networking - stack
     supports much larger mbufs, jumbo frames and more.  Real world
     performance varies based on application, typically ranging
     plus/minus 25%, but can be dramatically faster.  For example,
     Titanium users report up to 40x faster performance at gigabit
     speeds!  Note that this is with existing, unmodified software.

     Supports larger number of sockets (although existing
     applications will be limited to Acorn's previous specifications
     to avoid compatibility issues).

     For the first time, Unix Domain Sockets are supported to allow
     inter-task communiction in line with other platforms.

     Optimized for ARMv7+ platforms, but also supports ARMv5 such as
     Pi zero and Pi 1.

     Testers report noticeable network reliability improvements with
     the new stack.  To quote one user "I've not been able to do that
     for a number of years... Well done to the TCP/IP stack
     developers - it's made RISC OS more producive."

     Open Source technology coupled with commercial partnerships mean
     that the new stack (and its source code) is available to all
     RISC OS users, developers and vendors equally, at no cost.

     Responsive feedback system allows both users and developers
     direct access to information, resources and assistance from ROD
     and its developers.

     The best is yet to come - this release provides a firm
     foundation for RISC OS networking.  The next step will be to
     expand things with more drivers and support, improved network
     configuration, and of course... wifi

Supported platforms

Users are expected to be running RISC OS 5, ideally 5.24 onwards or later
(5.28+ preferred).

The following computers have been tested and are considered "supported
platforms" for the new stack:

Gigabit ethernet platforms:
     Pi 4 / 4te
     Pi 400

100Mbit USB ethernet based devices such as:

     Earlier Pi models 1 - 3
     Pi zero (w) with USB ethernet adapter

The following platforms are reported as working, but have had limited

     IGEPv5 USB ethernet

The following platforms are presently unsupported, but may be supported in

     RiscPC with open source NIC/podule interfaces
     RPCemu (pending deeper investigation)

How to install

Download the zip below.  Open the zip on a supported RISC OS 5 computer
platform using SparkFS.  We recommend unpacking the contents of the zip
somewhere for safe keeping, but this is optional.

Run the enclosed !Install utility to install (or uninstall) the new TCP/IP
stack.  Follow the on-screen instructions.

Reporting problems

A ticket system (powered by RISC OS, running on the new stack) is provided
for feedback and support.  Details are included in the zip.

Source code availability

We are presently preparing the source for a github/gitlab release, but
this is still "in progress".

For now, zip of source code is available on request under the widespread
CDDL 1.0 licence which is compatible with RISC OS' Apache 2.0 licence, and
is used by some existing components of RISC OS.  This code has already
been provided to many RISC OS partners, so please drop an email to to request your own copy.

Best wishes, and enjoy the new stack!

Reply all
Reply to author
0 new messages