VOGONS


Arcnet

Topic actions

First post, by Grzyb

User metadata
Rank l33t
Rank
l33t

Recently I've been experimenting a lot with Arcnet networking, and found that there's plenty of information available on that topic, but it's also often mixed up, without clear statements when exactly a given solution is applicable.

So I'm creating this thread - not a complete Arcnet documentation, only an addendum, a place to post success and failure reports, howtos, benchmarks, and random observations.

Once upon a time, Arcnet seemed even more popular than Ethernet, but has since fallen into deep obscurity - even though that technology isn't completely dead, today it's still in use for niche industrial applications.
Arcnet cards are still easily available, but I can't see anybody actually using them in their retro builds, or even just trying to get them running...

Hopefully, I can inspire somebody to also give Arcnet a try...
Sure, it's not something you would want to use for a maxed-out 90s build!
An 8-bit Arcnet adapter, however, is a perfect match for a period-correct XT machine - where it won't even be the bottleneck! - and may still be good enough for a low-end 286.
And possibly much more fun than the boring Ethernet!

In 2003, I voted in favour of joining the European Union. However, due to later developments - especially the restrictions on cash usage - I have withdrawn my support. DOWN WITH THE EU!

Reply 1 of 5, by Grzyb

User metadata
Rank l33t
Rank
l33t

So, what do you need to get Arcnet running?

  • two adapter cards - here I'm assuming you have the most common type: ISA bus, coaxial cabling, STAR topology
  • one cable - officially the 93-Ohm RG-62A/U, but for a short distance the 75-Ohm TV coax should be good enough
  • two computers with matching slots - Arcnet cards don't use ISA DMA, thus they may work even with those modernish ISA-like things that lack DMA
  • compatible software

Almost all Arcnet cards for ISA are based on COM90xx series chips (or compatible), therefore one driver fits all.
They even have the same factory settings:

  • I/O 2E0..2EF (16 ports) - conflicts with COM4 at 2E8
  • MEM D0000..D1FFF (8 KB) - be careful if you're using the UMB area for anything else
  • MEM D2000..D3FFF (8 KB) - only if there's a BOOT ROM installed
  • IRQ 2 (equals IRQ 9) - set IRQ 9 to "Legacy ISA" in BIOS where applicable

It's important to correctly set the NODE ID DIP-switches:

  • can't be 00000000
  • can't be 11111111
  • must be unique for each of the stations
Last edited by Grzyb on 2026-08-11, 07:45. Edited 4 times in total.

In 2003, I voted in favour of joining the European Union. However, due to later developments - especially the restrictions on cash usage - I have withdrawn my support. DOWN WITH THE EU!

Reply 2 of 5, by Grzyb

User metadata
Rank l33t
Rank
l33t

There's plenty of software with Arcnet support...

For a quick start, you can use Windows 9x - it comes with the necessary drivers, "Add New Hardware" can find the adapter, just be careful to select correct IO/MEM/IRQ if something gets misdetected.
And then it just works - you can eg. normally share the files.

You can also share files between Win9x and DOS with Microsoft Network Client 3.0.

Arcnet drivers shipped with Windows 9x are NDIS 2.0 (Real mode), and can be used with the three common protocols:
- IPX/SPX
- NetBEUI
- TCP/IP, using "Ethernet-encap"

It may be preferred to use ODI driver instead, which works with:
- IPX/SPX
- TCP/IP, using RFC1201

I'm attaching the ODI driver - load LSL.COM and SMCARCWS.COM from AUTOEXEC.BAT, and then add "Existing ODI Driver".
I'm also attaching an Arcnet BOOT ROM - but that's only because I want to have a backup in case the EPROM evaporates 🤣

Now, some benchmarks...

Server:
- Pentium III 800EB
- ISA 16-bit Arcnet card
- Windows 98 SE

Client:
- Celeron 266
- ISA 8-bit Arcnet card
- Windows 98 SE

SMB copy a file from the server's HDD to the client's NUL.
All results in KB/s.

NDIS + IPX/SPX: 132
NDIS + NetBEUI: 150
NDIS + TCP/IP: 116
ODI + IPX/SPX: 129
ODI + NetBEUI: doesn't work
ODI + TCP/IP: 192

In theory, Arcnet is 2.5 Mbps = 312 KB/s; actual measured performance isn't as close to the theoretical limit as with the Ethernet.
I guess it's due to shorter frames, and with NDIS+TCP/IP there's the additional overhead of "Ethernet-encap" - with both Arcnet header and Ethernet header transmitted, there's less room for payload.

In 2003, I voted in favour of joining the European Union. However, due to later developments - especially the restrictions on cash usage - I have withdrawn my support. DOWN WITH THE EU!

Reply 3 of 5, by Grzyb

User metadata
Rank l33t
Rank
l33t

Now, let's connect from Arcnet LAN to modern computers...

Arcnet adapters for modern buses - PCI, PCIe, USB - do exist, but they are niche and expensive.
So I decided to build an Arcnet<->Ethernet router, using a Pentium III machine with Linux.

There are three methods for transmitting IP traffic over Arcnet networks, incompatible with each other:

  • RFC1201 - the final standard, probably the best
  • RFC1051
  • Ethernet-encap

Various software supports various methods:

  • Linux 2.3.35 and below (Arcnet driver 3.02 and below): RFC1201, RFC1051, Ethernet-encap
  • Linux 2.3.36 and above (Arcnet driver 3.91 BETA and above): RFC1201, RFC1051
  • Microsoft Network Client 3.0 for MS-DOS: Ethernet-encap
  • PD apps using ARCETHER, ARCPSF, SMCARCWS+ODIPKT: RFC1201
  • PD apps using SMC_ARC+DIS_PKT: Ethernet-encap
  • Windows 9x using own drivers: Ethernet-encap
  • Windows 9x using ODI drivers: RFC1201

So, the best system for the router seems to be Linux 2.2 - I will try it sometime.

As of yet, I've only tested Red Hat 7.3 (based on kernel 2.4.18-3) - here's the procedure for this distro...

Install the package "kernel-source-2.4.18-3.i386.rpm", copy the source from /usr/src to your home directory, and then:

make menuconfig
- Load an Alternate Configuration File: /boot/config-2.4.18-3
- Network device support -> ARCnet devices -> set everything as module:

The attachment kernel.png is no longer available

- Exit, save

make dep
make bzImage
make modules
su
make modules_install
make install

Reboot to the custom kernel, and then you can use the following script:

insmod arcnet
# insmod arc-rawmode
# insmod rfc1051
insmod rfc1201
insmod com90xx
ifconfig arc0 192.168.1.4 netmask 255.255.255.0
echo "1" > /proc/sys/net/ipv4/ip_forward
service dhcpd start

ifconfig should display something like:

arc0      Link encap:ARCnet  HWaddr 01  
inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:357
collisions:0 txqueuelen:30
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:9 Base address:0x300 Memory:d0000-d07ff

Note that I've disabled modules "arc-rawmode" and "rfc1051" - that's because they decrease the MTU to 508 and 507 bytes, which reduces performance.
Only enable them if really necessary!

Hint: to access a Samba server by name across a router, you can enter its IP to the DHCP server config, eg.:
option netbios-name-servers 192.168.169.170;

In 2003, I voted in favour of joining the European Union. However, due to later developments - especially the restrictions on cash usage - I have withdrawn my support. DOWN WITH THE EU!

Reply 4 of 5, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

Excellent writeup but how do you plan to entice people to trying it with zero pics of the hardware?

Reply 5 of 5, by Grzyb

User metadata
Rank l33t
Rank
l33t
maxtherabbit wrote on Today, 13:29:

Excellent writeup but how do you plan to entice people to trying it with zero pics of the hardware?

Oh, there's plenty of pictures online - I'm sure everybody interested can easily find them.
I'm not trying to provide everything, only some practical info that I haven't seen online, and had to figure it out experimentally.

In 2003, I voted in favour of joining the European Union. However, due to later developments - especially the restrictions on cash usage - I have withdrawn my support. DOWN WITH THE EU!