Econet
Econet was Acorn Computers's low-cost local area network system, intended for use by schools and small businesses.
Econet software was mostly superseded by AUN, though some suppliers were still offering bridging kits to interconnect old and new networks. In turn, AUN was superseded by the Acorn Access+ software. Support for Econet was removed from the Linux kernel at version 3.5 in 2012, citing lack of use and privilege escalation vulnerabilities.
Implementation history
Econet was first developed for the Acorn Atom and Acorn System 2/3/4 computers in 1981. Also in that year the BBC Microcomputer was released, initially with provision for floppy disc and Econet interfaces but without the necessary hardware fitted, intended to be supplied as future upgrades.In 1982, the Tasmania Department of Education requested a tender for the supply of personal computers to their schools. Earlier that year Barson Computers, Acorn's Australian computer distributor, had released the BBC Microcomputer with floppy disc storage as part of a bundle. Acorn's Hermann Hauser and Chris Curry agreed to allow it to be also offered with Econet fitted, as they had previously done with the disc interface. As previously with the Disc Filing System, they stipulated that Barson would need to adapt the network filing system from the System 2 without assistance from Acorn. Barson's engineers applied a few modifications to fix bugs on the early BBC Micro motherboards, which were adopted by Acorn in later releases. With both floppy disc and networking available, the BBC Micro was approved for use in schools by all state and territory education authorities in Australia and New Zealand, and quickly overtook the Apple II as the computer of choice in private schools.
With no other supporting documentation available, the head of Barson's Acorn division, Rob Napier, published Networking with the BBC Microcomputer,
the first reference documentation for Econet.
Econet was officially released for the BBC Micro in the UK in 1984, and it later became popular as a networking system for the Acorn Archimedes. Econet was eventually supported on all post-Atom Acorn machines, apart from the Electron, the A3010, and the eventually-cancelled Phoebe 2100.
Econet was supported by Acorn MOS, RISC OS and RISC iX. Acorn once received an offer from Commodore International to license the technology, which it refused.
An "Ecolink" ISA interface card for IBM-compatible PCs
was available.
It used Microsoft's MS-NET Redirector for MS-DOS to provide file and printer sharing via the NET USE command.
Subsequent development
With the falling prices and widespread adoption of IP networking in the early 1990s, Acorn Universal Networking, an implementation of Econet protocols and addressing over TCP/IP, was developed to provide legacy support for Econet on Ethernet-connected machines.The Econet protocol and AUN were also supported by the Linux kernel.
Supported systems
Econet was supported by a large number of different computer and server systems, produced both by Acorn and by other companies. As well as Acorn's MOS and RISC OS these also used other operating systems such as CP/M, DR-DOS, Unix or Microsoft Windows.The Econet API includes an
Econet_MachinePeek
command, which can be used by software to determine if a machine is present on the network and its hardware platform. The machine-type codes which can be returned by that commandare a useful indication of the range of hardware that offered Econet as their primary networking function or as an option:
Code | Machine type |
&0000 | Reserved |
&0001 | Acorn BBC Micro Computer |
&0002 | Acorn Atom |
&0003 | Acorn System 3 or System 4 |
&0004 | Acorn System 5 |
&0005 | Acorn Master 128 |
&0006 | Acorn Electron |
&0007 | Acorn Archimedes |
&0008 | Reserved for Acorn |
&0009 | Acorn Communicator |
&000A | Acorn Master 128 Compact Econet Terminal |
&000B | Acorn Filestore |
&000C | Acorn Master 128 Compact |
&000D | Acorn Ecolink card for Personal Computers |
&000E | Acorn Unix Workstation |
&000F to &FFF9 | Reserved |
&FFFA | SCSI Interface |
&FFFB | SJ Research IBM PC Econet interface |
&FFFC | Nascom 2 |
&FFFD | Research Machines 480Z |
&FFFE | SJ Research File Server |
&FFFF | Z80 CP/M |
The manual includes an assembly language program to report a machine type, software version and release numbers.
An update to the list in volume 5A of the PRM
lists the following additions to the table above:
Code | Machine type |
&000F | RISC PC architecture |
&0010 to &FFF7 | Reserved |
&FFF8 | SJ Research GP server |
&FFF9 | SJ Research 80386 UNIX |
Physical and data-link layers
Econet is a five-wire bus network. One pair of wires is used for the clock, one pair for data, and one wire as a common ground. Signalling used the RS-422 5-volt differential standard, with one bit transferred per clock cycle. Unshielded cable was used for short lengths, and shielded cable for longer networks. The cable was terminated at each end to prevent reflections and to guarantee high logic levels when the bus was undriven.The original connectors were five-pin circular 180° DIN types. On later 32-bit machines, the Econet connection was made via five of the pins on their 15-pin D-type Network port, which could also accept MAUs to allow other types of network to be connected via the same socket. This port looks similar to an AUI port, but is not compatible.
Each Econet interface was controlled by a Motorola MC68B54 Advanced Data Link Controller chip, which handled electrical transmission/reception, frame checksumming and collision detection.
Network and transport layers
Econet used a connectionless transmission model, similar to the current UDP, with no checksumming or error correction at this layer. Each packet had a four byte header consisting of:- The destination station number
- The destination network number
- The source station number
- The source network number
- The sending station sends a scout packet with a port number and a flag byte
- The addressed receiving station returns a scout acknowledge to the sender
- The sending station sends the data
- The receiving station finishes with a final acknowledge, identical to the scout acknowledge
in the PRM, requested by listening for station and network numbers both being zero.
Technical details of packets and frames, the Econet API, and worked examples in ARM assembler and BBC BASIC
are given in the RISC OS Programmer's Reference Manual.
Network services
At the time and in the markets for which Econet was developed, the main purpose of computer networking was to provide local area shared access to expensive hardware such as disc storage and printers. Acorn provided software for the BBC Micro to implement a file server, and optionally a printer server also. The original file server was very basic, essentially allowing limited access to a floppy disc over the network. The server software was further developed over many years, and Acorn and other manufacturers also produced dedicated Econet servers based on various technologies. So the servers available fell into roughly three categories:- The Acorn Level 1 through Level 4, running on a standard computer and providing simple file and print services.
- The dedicated Acorn FileStore units, running on dedicated hardware with higher capacity and more facilities.
- Third party units, again running on dedicated hardware and with their own implementations of the server software. These were compatible with the Acorn implementations, but with additional enhancements.
Additional services could be implemented, using the network API provided. Short utilities such as network chat programs were often published in magazines or distributed by sharing among users; these made use of the Econet protocols to work alongside the basic file and print services. Larger software packages were available that provided services such as Teletext and modem drivers.
Comparison with modern systems
While Econet can be considered unique amongst network systems and specific to the Acorn range of computers, it does share many commonalities with modern network file systems and protocols:- Remote Procedure Call – Almost all network operations were performed via a primitive remote procedure call system, either by passing a command line direct to the file server, or by passing an operating system call parameter block. The logon command *I AM was processed by passing the whole command line and reading back the result code.
- Access Permissions – By the time of the Acorn Level 4 File Server and the SJ Research MDFS systems, Econet file servers had a full user name and password system with public and private attributes. These worked similar to Unix permissions without the group field. Files could be set to be readable and/or writable by everyone, just by the user, or both.
- Subnetting – A basic Econet would be a single network segment, which is usually assumed to be network 0. With the use of one or more bridges, it is possible to have up to 127 Econet segments with up to 254 hosts each, for a maximum of 32,258 possible machines.
- Broadcasting – By using host 255, an Econet host could send broadcast packets to all hosts on the network segment. Later implementations of the client software used this to automatically locate file and printer servers.
- Printer Spooling – Later versions of the Econet printer server software used printer spooling to locally cache print jobs before sending to the remote printer. This ensured whole print jobs were sent to the printer in one go.
- Ports – Because the various protocols used defined port numbers, it was possible to for additional services such as BroadcastLoader, AppFS, a teletext server, and a range of chat programs and multiplayer games to coexist within the Econet system.