Documentation/networking/arcnet-hardware.rst

Source file repositories/reference/linux-study-clean/Documentation/networking/arcnet-hardware.rst

File Facts

System
Linux kernel
Corpus path
Documentation/networking/arcnet-hardware.rst
Extension
.rst
Size
12552 bytes
Lines
308
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

===============
ARCnet Hardware
===============

:Author: Avery Pennarun <apenwarr@worldvisions.ca>

.. note::

   This file is a supplement to arcnet.rst.  Please read that for general
   driver configuration help.

Because so many people (myself included) seem to have obtained ARCnet cards
without manuals, this file contains a quick introduction to ARCnet hardware
and some cabling tips. If you have any other information, do not hesitate to
:ref:`send an email to netdev <arcnet-netdev>`.


Introduction to ARCnet
======================

ARCnet is a network type which works in a way similar to popular Ethernet
networks but which is also different in some very important ways.

First of all, you can get ARCnet cards in at least two speeds: 2.5 Mbps
(slower than Ethernet) and 100 Mbps (faster than normal Ethernet).  In fact,
there are others as well, but these are less common.  The different hardware
types, as far as I'm aware, are not compatible and so you cannot wire a
100 Mbps card to a 2.5 Mbps card, and so on.  From what I hear, my driver does
work with 100 Mbps cards, but I haven't been able to verify this myself,
since I only have the 2.5 Mbps variety.  It is probably not going to saturate
your 100 Mbps card.  Stop complaining. :)

You also cannot connect an ARCnet card to any kind of Ethernet card and
expect it to work.

There are two "types" of ARCnet - STAR topology and BUS topology.  This
refers to how the cards are meant to be wired together.  According to most
available documentation, you can only connect STAR cards to STAR cards and
BUS cards to BUS cards.  That makes sense, right?  Well, it's not quite
true; see below under "Cabling."

Once you get past these little stumbling blocks, ARCnet is actually quite a
well-designed standard.  It uses something called "modified token passing"
which makes it completely incompatible with so-called "Token Ring" cards,
but which makes transfers much more reliable than Ethernet does.  In fact,
ARCnet will guarantee that a packet arrives safely at the destination, and
even if it can't possibly be delivered properly (ie. because of a cable
break, or because the destination computer does not exist) it will at least
tell the sender about it.

Because of the carefully defined action of the "token", it will always make
a pass around the "ring" within a maximum length of time.  This makes it
useful for realtime networks.

In addition, all known ARCnet cards have an (almost) identical programming
interface.  This means that with one ARCnet driver you can support any
card, whereas with Ethernet each manufacturer uses what is sometimes a
completely different programming interface, leading to a lot of different,
sometimes very similar, Ethernet drivers.  Of course, always using the same
programming interface also means that when high-performance hardware
facilities like PCI bus mastering DMA appear, it's hard to take advantage of
them.  Let's not go into that.

One thing that makes ARCnet cards difficult to program for, however, is the
limit on their packet sizes; standard ARCnet can only send packets that are
up to 508 bytes in length.  This is smaller than the Internet "bare minimum"
of 576 bytes, let alone the Ethernet MTU of 1500.  To compensate, an extra
level of encapsulation is defined by RFC1201, which I call "packet

Annotation

Implementation Notes