Chapter 1. Introduction

Table of Contents
Credits history
Where can I discuss these drivers?
What kinds of cards can I use?
What kinds of hosts can I connect to?

The ARCnet poem has elicited lots of really positive comments from users, including such gems as "Most inspired piece of documentation ever!" and "It almost makes me wish I had an ARCnet card." Really.

For the many of you who've read the ARCnet poem and actually seem to care for some reason: actually, my cat's name was Bubbles. Bubbles doesn't rhyme with beefy.

Unfortunately, my cat recently got old and died. This version of the ARCnet driver is dedicated to the memory of Fifi - er, Bubbles - and other strangely-named cats everywhere in the world. Have fun in Cat Heaven.

That said, the poem is here to get your attention so you read the part after the poem. Do that.

My modules are green and leafy,
But my cat was still named Fifi.

The point is: I REALLY REALLY REALLY REALLY REALLY want to hear from you if you test this and get it working. Or if you don't. Or anything.

I usually get enough e-mail when things don't work. But if people don't tell me that it does work, I'll think it's completely broken. If the driver works for you, I need to know. Really.

Come on, be a sport! Send me a success report! (hey, that was even better than my original poem... this is bad!)


If you don't e-mail me about your success/failure soon, I may be forced to start SINGING. And we don't want that, do we? (You know, it might be argued that I'm pushing this point a little too much.

If you think so, why not flame me in a quick little e-mail? Please also include the type of card(s) you're using, software, size of network, and whether it's working or not.)

My e-mail address is:

Okay. Now that you've e-mailed me, let's get down to business.

Credits history

These are the ARCnet drivers for Linux.

The early versions of the driver, between 0.01 and 2.56 (1994-1996), resulted from many months of on-and-off effort from me (Avery Pennarun), lots of bug reports/fixes and suggestions from others, and in particular some significant of input, bug fixing, and coding from Tomasz Motylewski. The first version of the RFC1051 support came from Tomasz, and was included in the 2.10 version of the driver.

Between 2.00 and 2.50, the driver got cleaned up quite a bit, and Vojtech Pavlik helped me to find a much better way to auto-probe for ISA cards.

Then I dropped out of the ARCnet world for a while - I moved, and left my ARCnet network back at home with my family, where it survived happily for several years. Meanwhile, David Woodhouse, on behalf of Nortel, began to add support for the SMSC COM20020 chip, which isn't 100% compatible with the original COM90xx chip that I was writing for. This resulted in the 2.61 through 3.02 releases, which David did all by himself with a little bit of input from me.

David managed to reduce the number of #ifdef lines in the source code by splitting it into several modules (it used to be just `arcnet.o', but he split it into com90xx.o and com20020.o). However, the driver was still a bit of a mess because of the way I had originally done the multiprotocol support.

Now, at last, I (Avery) have returned for the grand clean-up, sponsored by Contemporary Control Systems, Inc. ( The 3.80- and 3.90-series of alpha and beta drivers will eventually result in a stable Linux-ARCnet 4.00, which I expect will be the last major release except for compatibility changes and bug fixes. These versions split each of the protocols into their own separate files, and change things to take better advantage of improvements in Linux's networking layer (which basically means we can remove lots of old code in the driver). Also, I added direct support for the Contemporary Controls PCI and PCMCIA ARCnet cards (which worked before, but only I knew how) and added a "raw mode" protocol to help people using ARCnet on industrial networks with embedded systems, where it now finds most of its customers.