Alternative EtherUSB module offers more versatility

Thomas Milius has produced an updated version of the EtherUSB module, which is used to drive ethernet devices that are connected via USB. The original version of the module was written by James Peacock, and since version 0.14 has been included as part of the normal RISC OS 5 distribution, with the sources maintained by RISC OS Open Ltd (ROOL).

The version of the module currently supplied with OS releases is 0.42, and Herbert zur Nedden, is hosting Thomas’ updated version (0.43) on the German Archimedes Group website1.

According to Herbert, the version supplied by ROOL – and the version supplied separately by RISC OS Developments (ROD) as part of their updated IPv6 stack – doesn’t support his newest USB/ethernet dev – an Anker A8352 (English version), which also acts as a USB hub and SDcard reader. Even for some older devices he’s used, plugging them in usually requires a little command-line work – to issue *RMReinit EtherUSB followed by *USBSetConfig for the correct device.

With this version of the module, however, Herbert is able to plug in his new Anker device and there is no need to resort to issuing star-commands to get it up and running. The improvements aren’t just limited to that device, though – it now supports for a wider range of USB-Ethernet adaptor, and even the odd USB-LTE (i.e. 4G dongles).

Herbert notes that Thomas sent his updated version to ROOL some time ago so that it could be incorporated as part of the standard distribution, but this has yet to make it through to release software as yet. In the meantime the new version has been made available via the GAG-News site, allowing other people to benefit from the changes and the wider range of devices they enable.2

It has been tested on a Mini.m computer running both the standard IP stack in RISC OS 5, as well as with the updated stack supplied by ROD, and it worked with both. However, when using it with the latter, users need to be aware that the module version number in the ROD stack is 0.7x, so it needs to be loaded without the use of the *RMEnsure command, or put in place of the one supplied so that it is loaded by default.


  1. Speaking of the German Archimedes Group, Herbert has been publishing the group’s bi-monthly newsletter, GAG-News, since April 1992 – a little over 31 years – and he mentioned that he’ll soon reach the point where that regular schedule will amount to half of his life. I’d recommend a drink or five to celebrate!
  2. Following an email pointing out a little more background on this, some of which is visible to the public, I have rewritten the paragraph referencing ROOL, because it could be read as critical of them, which was not intended. For further information, please refer to the ‘Update and debug USB stack (Step 2 of 2)‘ bounty – and on the more general Bounties page, see the ‘Latest updates’ column for that one. If you want to look at more technical detail, you can also seek out information on the ROOL GitLab repository to see what the current state of play is.

Related posts