Risc OS Developments announces the release of a modern TCP/IP Stack (updated link)

Skip to first unread message

Richard Brown

Apr 30, 2022, 12:18:28 PMApr 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
seamlessly 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 communication 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 productive."

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 zipfile from the RISC OS Developments website on the projects page: www.riscosdev.com/projects
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
in...@riscosdev.com to request your own copy.

Best wishes, and enjoy the new stack!

Reply all
Reply to author
0 new messages