patch-1.3.25 linux/Documentation/networking/arcnet.txt
Next file: linux/Documentation/networking/z8530drv.txt
Previous file: linux/Documentation/networking/arcnet-jumpers.txt
Back to the patch index
Back to the overall index
- Lines: 387
- Date:
Fri Sep 8 07:42:57 1995
- Orig file:
v1.3.24/linux/Documentation/networking/arcnet.txt
- Orig date:
Sun Sep 3 12:26:48 1995
diff -u --recursive --new-file v1.3.24/linux/Documentation/networking/arcnet.txt linux/Documentation/networking/arcnet.txt
@@ -1,15 +1,15 @@
----------------------------------------------------------------------------
-NOTE: See also README.arcnet-jumpers in this directory for jumper-setting
-information if you're like many of us and didn't happen to get a manual with
-your ARCnet card.
+NOTE: See also README.arcnet-hardware in this directory for jumper-setting
+and cabling information if you're like many of us and didn't happen to get a
+manual with your ARCnet card.
----------------------------------------------------------------------------
Since no one seems to listen to me otherwise, perhaps a poem will get your
attention:
- This is alpha software
+ This is scary software
If it works I DO CARE.
-
+
Hmm, I think I'm allowed to call that a poem, even though it's only two
lines. Hey, I'm in Computer Science, not English. Give me a break.
@@ -24,26 +24,32 @@
(hey, that was even better than my original poem... this is getting bad!)
-Anyway, enough complaining. Let's get started:
----------------------------------------------------------------------------
-
-These are the ARCnet drivers for Linux.
+--------
+WARNING:
+--------
-We're now back to more ALPHA releases after the 1.01 release which made it
-into Linux 1.2.2, so please be careful, and send all possible
-success/failure reports to me. If I don't know when/if/how it works, I
-won't be able to answer people's questions. Do we want that? Of course
-not.
+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?
-Once again: DO send me success reports! I want to know if this is working!
(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:
- apenwarr@foxnet.net
+My e-mail address is: apenwarr@foxnet.net
+
+
+---------------------------------------------------------------------------
+
+
+These are the ARCnet drivers for Linux.
+
+This new "stable" release has come from many months of on-and-off effort
+from me (Avery Pennarun), many bug reports from users, and in particular a
+lot of input and coding from Tomasz Motylewski. (I've held off on Tomasz'
+latest patches - but his all-new RFC1051 support is here and waiting for the
+next ALPHA release!)
Where do I discuss these drivers?
@@ -62,38 +68,44 @@
Send all bug (or success) reports to me or to the list.
The people on linux-net@vger.rutgers.edu have also been known to be very
-helpful! :)
+helpful, especially when we're talking about ALPHA Linux kernels that may or
+may not work right in the first place.
Other Drivers and Info
----------------------
-Also, SMC (one of the companies that makes ARCnet cards) has a WorldWideWeb
-site you might be interested in, which includes several drivers for various
-cards including ARCnet. Try:
+You can try my ARCNET page on the World Wide Web at:
+ http://www.foxnet.net/~apenwarr/arcnet/
+
+Also, SMC (one of the companies that makes ARCnet cards) has a WWW site you
+might be interested in, which includes several drivers for various cards
+including ARCnet. Try:
http://www.smc.com/
Performance Technologies makes various network software that supports
-ARCnet.
+ARCnet:
http://www.perftech.com/ or ftp to ftp.perftech.com.
Novell makes a networking stack for DOS which includes ARCnet drivers. Try
ftp'ing to ftp.novell.com.
You can get the Crynwr packet driver collection (including arcether.com, the
-one you'll want for arcnet cards) from oak.oakland.edu:/simtel/msdos/pktdrvr.
-It won't work perfectly on a 386+ without patches, though, and also doesn't
-like several cards. Mail me if you want a fixed version. (Ahem: I may or
-may not have a 100% fixed version by the time I get your mail!)
+one you'll want to use with arcnet cards) from
+oak.oakland.edu:/simtel/msdos/pktdrvr. It won't work perfectly on a 386+
+without patches, though, and also doesn't like several cards. Mail me if
+you want a fixed version. (Ahem: I may or may not have a 100% fixed version
+by the time I get your mail!)
Loadable Module Support
-----------------------
-This is a available starting with 0.42 ALPHA.
+Configure and rebuild Linux. When asked, answer 'n' to "arcnet support" if
+you want to use the loadable module.
-Configure and rebuild Linux. When asked, say NO to "arcnet support" if you
-want loadable module support.
+Actually, with Linux 1.3.24 and higher, you should answer 'm' to build the
+module.
make config
make dep
@@ -101,10 +113,6 @@
make zImage
make modules
-
-Booting into your "ARCnet" Kernel
----------------------------------
-
If you're using a loadable module, you need to use insmod to load the
module, and you need to specify various characteristics of your card on the
command line. For example:
@@ -113,9 +121,14 @@
You can also add a num=1, num=2 etc for additional arcnet cards that will
use arc1, arc2 etc for their device names (instead of the default, arc0).
-Otherwise the driver will load and probe for your card automatically.
-
-Now go read the NET-2-HOWTO and ETHERNET-HOWTO for Linux; they should be
+
+Using the Driver
+----------------
+
+If you build your kernel with ARCnet support included, it should probe for
+your card automatically when you boot.
+
+Go read the NET-2-HOWTO and ETHERNET-HOWTO for Linux; they should be
available where you picked up this driver. Think of your ARCnet as a
souped-up (or down, as the case may be) ethernet card.
@@ -145,34 +158,199 @@
LAN Manager and Windows for Workgroups: These programs use protocols that
are incompatible with the internet standard. They try to pretend
the cards are ethernet, and confuse everyone else on the network.
- However, v1.93 ALPHA and later of the Linux ARCnet driver support
- this protocol via the 'arc0e' device. After setting up arc0 as
- usual, ifconfig and set up routes to your ethernet-encap hosts
- through arc0e. There may be non-Microsoft products that support
- this protocol as well, so it was changed in 1.93 ALPHA from arc0w
- to arc0e.
+
+ However, v2.00 of the Linux ARCnet driver supports this protocol via
+ the 'arc0e' device. See the section on "Multiprotocol Support" for
+ more information.
Using the freeware Samba server and clients for Linux, you can now
interface quite nicely with TCP/IP-based WfWg or Lan Manager
- networks. In addition, the Linux host can be used as a router
- between the standard and WfWg protocols, so hosts that could
- previously never talk to each other should now be able to.
-
- This feature is still in early testing, so please e-mail with any
- comments/questions you might have.
+ networks.
+Windows 95: Tools are included with Win95 that let you use either the LANMAN
+ style network drivers (NDIS) or Novell drivers (ODI) to handle your
+ ARCnet packets. If you use ODI, you'll need to use the 'arc0'
+ device with Linux. If you use NDIS, then try the 'arc0e' device.
+ See the "Multiprotocol Support" section below if you need arc0e,
+ you're completely insane, and/or you need to build some kind of
+ hybrid network that uses both encapsulation types.
+
OS2: Has not been tested. The "correct" solution would be to buy either of
IBM's "TCP/IP for OS/2" or "Warp Connect" packages. However,
ftp.microsoft.com also has a freeware Lan Manager for OS/2 client
- which should use the same protocol as WfWg does. This has not been
- tested, however. Please mail me with any results.
-
+ which should use the same protocol as WfWg does. I had no luck
+ installing it under Warp, however. Please mail me with any results.
+
NetBSD/AmiTCP: These use an old version of the Internet standard ARCnet
- protocol which is incompatible with the Linux driver at present.
- Work to support these is underway and should be available in a
- standard release soon.
+ protocol (RFC1051) which is incompatible with the Linux driver at
+ present. Work to support these is underway and should be available
+ in an ALPHA release very soon.
+
+
+Using Multiprotocol ARCnet
+--------------------------
+
+The ARCnet driver v2.00 supports two protocols, each on its own "virtual
+network device":
+ arc0 - RFC1201 protocol, the official internet standard which just
+ happens to be 100% compatible with Novell's TRXNET driver.
+ Version 1.00 of the ARCnet driver _only_ supported this
+ protocol. arc0 is the faster of the two protocols, and
+ allows larger packets to be used because it supports RFC1201
+ "packet splitting" operations. Unless you have a specific
+ need to use a different protocol, I highly suggest that you
+ stick with this one.
+
+ arc0e - "Ethernet-Encapsulation" which sends packets over ARCnet
+ that are actually a lot like Ethernet packets, including the
+ 6-byte hardware addresses. This protocol is compatible with
+ Microsoft's NDIS ARCnet driver, like the one in WfWg and
+ LANMAN. Because the MTU of 493 is actually smaller than the
+ one "required" by TCP/IP (576), there is a chance that some
+ network operations will not work properly. The Linux TCP/IP
+ layer can compensate in most cases, however, by
+ automatically fragmenting the TCP/IP packets to make them
+ fit. arc0e also works slightly more slowly than arc0, for
+ reasons yet to be determined. (Probably it's the smaller
+ MTU that does it)
+
+The arc0e device is created automatically when you first 'ifconfig' the arc0
+device. To actually use arc0e, though, you need to 'ifconfig' it as well.
+There are a number of ways you can set up your network then:
+
+
+1. Single Protocol.
+
+ This is the simplest way to configure your network: use just one of the
+ two available protocols. As mentioned above, it's a good idea to use
+ only arc0 unless you have a good reason (like some other software, ie.
+ WfWg, that only works with arc0e).
+
+ If you need only arc0, then the following commands should get you going:
+ ifconfig arc0 MY.IP.ADD.RESS
+ route add MY.IP.ADD.RESS arc0
+ route add SUB.NET.ADD.RESS arc0
+ [etc]
+
+ If you need arc0e (and only arc0e), it's a little different:
+ ifconfig arc0 up /* the IP address doesn't matter on arc0 */
+ ifconfig arc0e MY.IP.ADD.RESS
+ route add MY.IP.ADD.RESS arc0e
+ route add SUB.NET.ADD.RESS arc0e
+
+
+2. More than one protocol on the same wire.
+
+ Now things start getting confusing. To even try it, you may need to be
+ partly crazy. Here's what *I* did. :)
+
+ I have three computers on my home network; two Linux boxes (which prefer
+ RFC1201 protocol), and one XT that can't run Linux but runs the free
+ Microsoft LANMAN Client instead.
+
+ Worse, one of the Linux computers (freedom) also has a modem and acts as
+ a router to my information provider. The other Linux box (insight) also
+ has its own IP address and needs to use freedom as its default gateway.
+ The XT (patience), however, does not have its own internet IP address and
+ so I assigned it one on a "private subnet" (as defined by RFC1597).
+
+ To start with, take a simple network with just insight and freedom.
+ Insight needs to:
+ - talk to freedom via RFC1201 (arc0) protocol, because I like it
+ more and it's faster.
+ - use freedom as its internet gateway.
+
+ That's pretty easy to do. Set up insight like this:
+ ifconfig arc0 insight
+ route add insight arc0
+ route add freedom arc0 /* I would use the subnet here (like I said
+ to to in "single protocol" above),
+ but the rest of the subnet
+ unfortunately lies across the PPP
+ link on freedom, which confuses
+ things. */
+ route add default gw freedom
+
+ And freedom gets configured like so:
+ ifconfig arc0 freedom
+ route add freedom arc0
+ route add insight arc0
+ /* and default gateway is configured by PPP */
+
+ Great, now insight talks to freedom directly on arc0, and sends packets
+ to the internet through freedom. If you didn't know how to do the above,
+ you should probably stop reading this section now because it only gets
+ worse.
+
+ Now, how do I add patience into the network? It will be using LANMAN
+ Client, which means I need the arc0e device. It needs to be able to talk
+ to both insight and freedom, and also use freedom as a gateway to the
+ internet. (Recall that patience has a "private IP address" which won't
+ work on the internet; that's okay, I configured Linux IP masquerading on
+ freedom for this subnet).
+
+ So patience (necessarily; I don't have another IP number from my
+ provider) has an IP address on a different subnet than freedom and
+ insight, but needs to use freedom as an internet gateway. Worse, most
+ DOS networking programs, including LANMAN, have braindead networking
+ schemes that rely completely on the netmask and a 'default gateway' to
+ determine how to route packets. This means that to get to freedom or
+ insight, patience WILL send through its default gateway, regardless of
+ the fact that both freedom and insight (courtesy of the arc0e device)
+ could understand a direct transmission.
+
+ I compensate by giving freedom an extra IP address - aliased 'gatekeeper'
+ - that is on my private subnet, the same subnet that patience is on. I
+ then define gatekeeper to be the default gateway for patience.
+
+ To configure freedom (in addition to the commands above):
+ ifconfig arc0e gatekeeper
+ route add gatekeeper arc0e
+ route add patience arc0e
+
+ This way, freedom will send all packets for patience through arc0e,
+ giving its IP address as gatekeeper (on the private subnet). When it
+ talks to insight or the internet, it will use its "freedom" internet IP
+ address.
+
+ You will notice that we haven't configured the arc0e device on insight.
+ This would work, but is not really necessary, and would require me to
+ assign insight another special IP number from my private subnet. Since
+ both insight and patience are using freedom as their default gateway, the
+ two can already talk to each other.
+
+ It's quite fortunate that I set things up like this the first time
+ through (cough cough) because it's really handy when I boot insight into
+ DOS. There, it runs the Novell ODI protocol stack, which only works with
+ RFC1201 ARCnet. In this mode it would be impossible for insight to
+ communicate directly with patience, since the Novell stack is
+ incompatible with Microsoft's Ethernet-Encap. Without changing any
+ settings on freedom or patience, I simply set freedom as the default
+ gateway for insight (now in DOS, remember) and all the forwarding happens
+ "automagically" between the two hosts that would normally not be able to
+ communicate at all.
+
+ For those who like diagrams, I have created two "virtual subnets" on the
+ same physical ARCnet wire. You can picture it like this:
+
+
+ [RFC1201 NETWORK] [ETHER-ENCAP NETWORK]
+ (registered internet subnet) (RFC1597 private subnet)
+
+ (IP Masquerade)
+ /---------------\ * /---------------\
+ | | * | |
+ | +-Freedom-*-Gatekeeper-+ |
+ | | | * | |
+ \-------+-------/ | \-------+-------/
+ | | |
+ Insight | Patience
+ (Internet)
+
+
+
It works: what now?
-------------------
@@ -221,12 +399,15 @@
ifconfig arc0 down metric 1xxx
/etc/rc.d/rc.inet1
where "xxx" is the debug level you want. For example, "metric 1015" would put
-you at debug level 15. Debug level 7 is currently the default.
+you at debug level 15. Debug level 3 is currently the default.
Note that the debug level is (as of v1.90 ALPHA) a binary combination of
different debug flags; so debug level 7 is really 1+2+4 or
D_NORMAL+D_INIT+D_EXTRA. To reach D_DURING, you would add 8 to this,
resulting in debug level 15.
+
+If you don't understand that, you probably don't want to know anyway.
+E-mail me about your problem.
I want to send money: what now?
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this