Commit 08bab46f authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by David S. Miller

docs: networking: convert arcnet.txt to ReST

- add SPDX header;
- use document title markup;
- add notes markups;
- mark code blocks and literals as such;
- mark tables as such;
- adjust identation, whitespaces and blank lines;
- add to networking/index.rst.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent aa92320b
---------------------------------------------------------------------------- .. SPDX-License-Identifier: GPL-2.0
NOTE: See also arcnet-hardware.txt 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. ARCnet
---------------------------------------------------------------------------- ======
.. note::
See also arcnet-hardware.txt 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 Since no one seems to listen to me otherwise, perhaps a poem will get your
attention: attention::
This driver's getting fat and beefy, This driver's getting fat and beefy,
But my cat is still named Fifi. But my cat is still named Fifi.
...@@ -24,28 +31,21 @@ Come on, be a sport! Send me a success report! ...@@ -24,28 +31,21 @@ Come on, be a sport! Send me a success report!
(hey, that was even better than my original poem... this is getting bad!) (hey, that was even better than my original poem... this is getting bad!)
-------- .. warning::
WARNING:
--------
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 don't e-mail me about your success/failure soon, I may be forced to
If you think so, why not flame me in a quick little e-mail? Please also start SINGING. And we don't want that, do we?
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@worldvisions.ca (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@worldvisions.ca
---------------------------------------------------------------------------
These are the ARCnet drivers for Linux. These are the ARCnet drivers for Linux.
This new release (2.91) has been put together by David Woodhouse
This new release (2.91) has been put together by David Woodhouse
<dwmw2@infradead.org>, in an attempt to tidy up the driver after adding support <dwmw2@infradead.org>, in an attempt to tidy up the driver after adding support
for yet another chipset. Now the generic support has been separated from the for yet another chipset. Now the generic support has been separated from the
individual chipset drivers, and the source files aren't quite so packed with individual chipset drivers, and the source files aren't quite so packed with
...@@ -62,12 +62,13 @@ included and seems to be working fine! ...@@ -62,12 +62,13 @@ included and seems to be working fine!
Where do I discuss these drivers? Where do I discuss these drivers?
--------------------------------- ---------------------------------
Tomasz has been so kind as to set up a new and improved mailing list. Tomasz has been so kind as to set up a new and improved mailing list.
Subscribe by sending a message with the BODY "subscribe linux-arcnet YOUR Subscribe by sending a message with the BODY "subscribe linux-arcnet YOUR
REAL NAME" to listserv@tichy.ch.uj.edu.pl. Then, to submit messages to the REAL NAME" to listserv@tichy.ch.uj.edu.pl. Then, to submit messages to the
list, mail to linux-arcnet@tichy.ch.uj.edu.pl. list, mail to linux-arcnet@tichy.ch.uj.edu.pl.
There are archives of the mailing list at: There are archives of the mailing list at:
http://epistolary.org/mailman/listinfo.cgi/arcnet http://epistolary.org/mailman/listinfo.cgi/arcnet
The people on linux-net@vger.kernel.org (now defunct, replaced by The people on linux-net@vger.kernel.org (now defunct, replaced by
...@@ -80,17 +81,20 @@ Other Drivers and Info ...@@ -80,17 +81,20 @@ Other Drivers and Info
---------------------- ----------------------
You can try my ARCNET page on the World Wide Web at: You can try my ARCNET page on the World Wide Web at:
http://www.qis.net/~jschmitz/arcnet/
http://www.qis.net/~jschmitz/arcnet/
Also, SMC (one of the companies that makes ARCnet cards) has a WWW site you 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 might be interested in, which includes several drivers for various cards
including ARCnet. Try: including ARCnet. Try:
http://www.smc.com/ http://www.smc.com/
Performance Technologies makes various network software that supports Performance Technologies makes various network software that supports
ARCnet: ARCnet:
http://www.perftech.com/ or ftp to ftp.perftech.com. http://www.perftech.com/ or ftp to ftp.perftech.com.
Novell makes a networking stack for DOS which includes ARCnet drivers. Try Novell makes a networking stack for DOS which includes ARCnet drivers. Try
FTPing to ftp.novell.com. FTPing to ftp.novell.com.
...@@ -99,19 +103,20 @@ one you'll want to use with ARCnet cards) from ...@@ -99,19 +103,20 @@ one you'll want to use with ARCnet cards) from
oak.oakland.edu:/simtel/msdos/pktdrvr. It won't work perfectly on a 386+ oak.oakland.edu:/simtel/msdos/pktdrvr. It won't work perfectly on a 386+
without patches, though, and also doesn't like several cards. Fixed without patches, though, and also doesn't like several cards. Fixed
versions are available on my WWW page, or via e-mail if you don't have WWW versions are available on my WWW page, or via e-mail if you don't have WWW
access. access.
Installing the Driver Installing the Driver
--------------------- ---------------------
All you will need to do in order to install the driver is: All you will need to do in order to install the driver is::
make config make config
(be sure to choose ARCnet in the network devices (be sure to choose ARCnet in the network devices
and at least one chipset driver.) and at least one chipset driver.)
make clean make clean
make zImage make zImage
If you obtained this ARCnet package as an upgrade to the ARCnet driver in If you obtained this ARCnet package as an upgrade to the ARCnet driver in
your current kernel, you will need to first copy arcnet.c over the one in your current kernel, you will need to first copy arcnet.c over the one in
the linux/drivers/net directory. the linux/drivers/net directory.
...@@ -125,10 +130,12 @@ There are four chipset options: ...@@ -125,10 +130,12 @@ There are four chipset options:
This is the normal ARCnet card, which you've probably got. This is the only This is the normal ARCnet card, which you've probably got. This is the only
chipset driver which will autoprobe if not told where the card is. chipset driver which will autoprobe if not told where the card is.
It following options on the command line: It following options on the command line::
com90xx=[<io>[,<irq>[,<shmem>]]][,<name>] | <name> com90xx=[<io>[,<irq>[,<shmem>]]][,<name>] | <name>
If you load the chipset support as a module, the options are: If you load the chipset support as a module, the options are::
io=<io> irq=<irq> shmem=<shmem> device=<name> io=<io> irq=<irq> shmem=<shmem> device=<name>
To disable the autoprobe, just specify "com90xx=" on the kernel command line. To disable the autoprobe, just specify "com90xx=" on the kernel command line.
...@@ -136,14 +143,17 @@ To specify the name alone, but allow autoprobe, just put "com90xx=<name>" ...@@ -136,14 +143,17 @@ To specify the name alone, but allow autoprobe, just put "com90xx=<name>"
2. ARCnet COM20020 chipset. 2. ARCnet COM20020 chipset.
This is the new chipset from SMC with support for promiscuous mode (packet This is the new chipset from SMC with support for promiscuous mode (packet
sniffing), extra diagnostic information, etc. Unfortunately, there is no sniffing), extra diagnostic information, etc. Unfortunately, there is no
sensible method of autoprobing for these cards. You must specify the I/O sensible method of autoprobing for these cards. You must specify the I/O
address on the kernel command line. address on the kernel command line.
The command line options are:
The command line options are::
com20020=<io>[,<irq>[,<node_ID>[,backplane[,CKP[,timeout]]]]][,name] com20020=<io>[,<irq>[,<node_ID>[,backplane[,CKP[,timeout]]]]][,name]
If you load the chipset support as a module, the options are: If you load the chipset support as a module, the options are::
io=<io> irq=<irq> node=<node_ID> backplane=<backplane> clock=<CKP> io=<io> irq=<irq> node=<node_ID> backplane=<backplane> clock=<CKP>
timeout=<timeout> device=<name> timeout=<timeout> device=<name>
...@@ -160,8 +170,10 @@ you have a card which doesn't support shared memory, or (strangely) in case ...@@ -160,8 +170,10 @@ you have a card which doesn't support shared memory, or (strangely) in case
you have so many ARCnet cards in your machine that you run out of shmem slots. you have so many ARCnet cards in your machine that you run out of shmem slots.
If you don't give the IO address on the kernel command line, then the driver If you don't give the IO address on the kernel command line, then the driver
will not find the card. will not find the card.
The command line options are:
com90io=<io>[,<irq>][,<name>] The command line options are::
com90io=<io>[,<irq>][,<name>]
If you load the chipset support as a module, the options are: If you load the chipset support as a module, the options are:
io=<io> irq=<irq> device=<name> io=<io> irq=<irq> device=<name>
...@@ -169,44 +181,49 @@ If you load the chipset support as a module, the options are: ...@@ -169,44 +181,49 @@ If you load the chipset support as a module, the options are:
4. ARCnet RIM I cards. 4. ARCnet RIM I cards.
These are COM90xx chips which are _completely_ memory mapped. The support for These are COM90xx chips which are _completely_ memory mapped. The support for
these is not tested. If you have one, please mail the author with a success these is not tested. If you have one, please mail the author with a success
report. All options must be specified, except the device name. report. All options must be specified, except the device name.
Command line options: Command line options::
arcrimi=<shmem>,<irq>,<node_ID>[,<name>] arcrimi=<shmem>,<irq>,<node_ID>[,<name>]
If you load the chipset support as a module, the options are: If you load the chipset support as a module, the options are::
shmem=<shmem> irq=<irq> node=<node_ID> device=<name> shmem=<shmem> irq=<irq> node=<node_ID> device=<name>
Loadable Module Support Loadable Module Support
----------------------- -----------------------
Configure and rebuild Linux. When asked, answer 'm' to "Generic ARCnet Configure and rebuild Linux. When asked, answer 'm' to "Generic ARCnet
support" and to support for your ARCnet chipset if you want to use the support" and to support for your ARCnet chipset if you want to use the
loadable module. You can also say 'y' to "Generic ARCnet support" and 'm' loadable module. You can also say 'y' to "Generic ARCnet support" and 'm'
to the chipset support if you wish. to the chipset support if you wish.
::
make config make config
make clean make clean
make zImage make zImage
make modules make modules
If you're using a loadable module, you need to use insmod to load it, and If you're using a loadable module, you need to use insmod to load it, and
you can specify various characteristics of your card on the command you can specify various characteristics of your card on the command
line. (In recent versions of the driver, autoprobing is much more reliable line. (In recent versions of the driver, autoprobing is much more reliable
and works as a module, so most of this is now unnecessary.) and works as a module, so most of this is now unnecessary.)
For example: For example::
cd /usr/src/linux/modules cd /usr/src/linux/modules
insmod arcnet.o insmod arcnet.o
insmod com90xx.o insmod com90xx.o
insmod com20020.o io=0x2e0 device=eth1 insmod com20020.o io=0x2e0 device=eth1
Using the Driver Using the Driver
---------------- ----------------
If you build your kernel with ARCnet COM90xx support included, it should If you build your kernel with ARCnet COM90xx support included, it should
probe for your card automatically when you boot. If you use a different probe for your card automatically when you boot. If you use a different
chipset driver complied into the kernel, you must give the necessary options chipset driver complied into the kernel, you must give the necessary options
on the kernel command line, as detailed above. on the kernel command line, as detailed above.
...@@ -224,69 +241,78 @@ Multiple Cards in One Computer ...@@ -224,69 +241,78 @@ Multiple Cards in One Computer
------------------------------ ------------------------------
Linux has pretty good support for this now, but since I've been busy, the Linux has pretty good support for this now, but since I've been busy, the
ARCnet driver has somewhat suffered in this respect. COM90xx support, if ARCnet driver has somewhat suffered in this respect. COM90xx support, if
compiled into the kernel, will (try to) autodetect all the installed cards. compiled into the kernel, will (try to) autodetect all the installed cards.
If you have other cards, with support compiled into the kernel, then you can
just repeat the options on the kernel command line, e.g.::
LILO: linux com20020=0x2e0 com20020=0x380 com90io=0x260
If you have other cards, with support compiled into the kernel, then you can If you have the chipset support built as a loadable module, then you need to
just repeat the options on the kernel command line, e.g.: do something like this::
LILO: linux com20020=0x2e0 com20020=0x380 com90io=0x260
If you have the chipset support built as a loadable module, then you need to
do something like this:
insmod -o arc0 com90xx insmod -o arc0 com90xx
insmod -o arc1 com20020 io=0x2e0 insmod -o arc1 com20020 io=0x2e0
insmod -o arc2 com90xx insmod -o arc2 com90xx
The ARCnet drivers will now sort out their names automatically. The ARCnet drivers will now sort out their names automatically.
How do I get it to work with...? How do I get it to work with...?
-------------------------------- --------------------------------
NFS: Should be fine linux->linux, just pretend you're using Ethernet cards. NFS:
oak.oakland.edu:/simtel/msdos/nfs has some nice DOS clients. There Should be fine linux->linux, just pretend you're using Ethernet cards.
is also a DOS-based NFS server called SOSS. It doesn't multitask oak.oakland.edu:/simtel/msdos/nfs has some nice DOS clients. There
quite the way Linux does (actually, it doesn't multitask AT ALL) but is also a DOS-based NFS server called SOSS. It doesn't multitask
you never know what you might need. quite the way Linux does (actually, it doesn't multitask AT ALL) but
you never know what you might need.
With AmiTCP (and possibly others), you may need to set the following
options in your Amiga nfstab: MD 1024 MR 1024 MW 1024 With AmiTCP (and possibly others), you may need to set the following
(Thanks to Christian Gottschling <ferksy@indigo.tng.oche.de> options in your Amiga nfstab: MD 1024 MR 1024 MW 1024
(Thanks to Christian Gottschling <ferksy@indigo.tng.oche.de>
for this.) for this.)
Probably these refer to maximum NFS data/read/write block sizes. I Probably these refer to maximum NFS data/read/write block sizes. I
don't know why the defaults on the Amiga didn't work; write to me if don't know why the defaults on the Amiga didn't work; write to me if
you know more. you know more.
DOS: If you're using the freeware arcether.com, you might want to install DOS:
the driver patch from my web page. It helps with PC/TCP, and also If you're using the freeware arcether.com, you might want to install
can get arcether to load if it timed out too quickly during the driver patch from my web page. It helps with PC/TCP, and also
initialization. In fact, if you use it on a 386+ you REALLY need can get arcether to load if it timed out too quickly during
the patch, really. initialization. In fact, if you use it on a 386+ you REALLY need
the patch, really.
Windows: See DOS :) Trumpet Winsock works fine with either the Novell or
Windows:
See DOS :) Trumpet Winsock works fine with either the Novell or
Arcether client, assuming you remember to load winpkt of course. Arcether client, assuming you remember to load winpkt of course.
LAN Manager and Windows for Workgroups: These programs use protocols that LAN Manager and Windows for Workgroups:
are incompatible with the Internet standard. They try to pretend These programs use protocols that
the cards are Ethernet, and confuse everyone else on the network. are incompatible with the Internet standard. They try to pretend
the cards are Ethernet, and confuse everyone else on the network.
However, v2.00 and higher of the Linux ARCnet driver supports this
protocol via the 'arc0e' device. See the section on "Multiprotocol However, v2.00 and higher of the Linux ARCnet driver supports this
Support" for more information. 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 Using the freeware Samba server and clients for Linux, you can now
interface quite nicely with TCP/IP-based WfWg or Lan Manager interface quite nicely with TCP/IP-based WfWg or Lan Manager
networks. networks.
Windows 95: Tools are included with Win95 that let you use either the LANMAN 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 style network drivers (NDIS) or Novell drivers (ODI) to handle your
ARCnet packets. If you use ODI, you'll need to use the 'arc0' 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. device with Linux. If you use NDIS, then try the 'arc0e' device.
See the "Multiprotocol Support" section below if you need arc0e, See the "Multiprotocol Support" section below if you need arc0e,
you're completely insane, and/or you need to build some kind of you're completely insane, and/or you need to build some kind of
hybrid network that uses both encapsulation types. hybrid network that uses both encapsulation types.
OS/2: I've been told it works under Warp Connect with an ARCnet driver from OS/2:
I've been told it works under Warp Connect with an ARCnet driver from
SMC. You need to use the 'arc0e' interface for this. If you get SMC. You need to use the 'arc0e' interface for this. If you get
the SMC driver to work with the TCP/IP stuff included in the the SMC driver to work with the TCP/IP stuff included in the
"normal" Warp Bonus Pack, let me know. "normal" Warp Bonus Pack, let me know.
...@@ -295,7 +321,8 @@ OS/2: I've been told it works under Warp Connect with an ARCnet driver from ...@@ -295,7 +321,8 @@ OS/2: I've been told it works under Warp Connect with an ARCnet driver from
which should use the same protocol as WfWg does. I had no luck which should use the same protocol as WfWg does. I had no luck
installing it under Warp, however. Please mail me with any results. installing it under Warp, however. Please mail me with any results.
NetBSD/AmiTCP: These use an old version of the Internet standard ARCnet NetBSD/AmiTCP:
These use an old version of the Internet standard ARCnet
protocol (RFC1051) which is compatible with the Linux driver v2.10 protocol (RFC1051) which is compatible with the Linux driver v2.10
ALPHA and above using the arc0s device. (See "Multiprotocol ARCnet" ALPHA and above using the arc0s device. (See "Multiprotocol ARCnet"
below.) ** Newer versions of NetBSD apparently support RFC1201. below.) ** Newer versions of NetBSD apparently support RFC1201.
...@@ -307,16 +334,17 @@ Using Multiprotocol ARCnet ...@@ -307,16 +334,17 @@ Using Multiprotocol ARCnet
The ARCnet driver v2.10 ALPHA supports three protocols, each on its own The ARCnet driver v2.10 ALPHA supports three protocols, each on its own
"virtual network device": "virtual network device":
arc0 - RFC1201 protocol, the official Internet standard which just ====== ===============================================================
happens to be 100% compatible with Novell's TRXNET driver. 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 supported _only_ this Version 1.00 of the ARCnet driver supported _only_ this
protocol. arc0 is the fastest of the three protocols (for protocol. arc0 is the fastest of the three protocols (for
whatever reason), and allows larger packets to be used whatever reason), and allows larger packets to be used
because it supports RFC1201 "packet splitting" operations. because it supports RFC1201 "packet splitting" operations.
Unless you have a specific need to use a different protocol, Unless you have a specific need to use a different protocol,
I strongly suggest that you stick with this one. I strongly suggest that you stick with this one.
arc0e - "Ethernet-Encapsulation" which sends packets over ARCnet arc0e "Ethernet-Encapsulation" which sends packets over ARCnet
that are actually a lot like Ethernet packets, including the that are actually a lot like Ethernet packets, including the
6-byte hardware addresses. This protocol is compatible with 6-byte hardware addresses. This protocol is compatible with
Microsoft's NDIS ARCnet driver, like the one in WfWg and Microsoft's NDIS ARCnet driver, like the one in WfWg and
...@@ -328,8 +356,8 @@ The ARCnet driver v2.10 ALPHA supports three protocols, each on its own ...@@ -328,8 +356,8 @@ The ARCnet driver v2.10 ALPHA supports three protocols, each on its own
fit. arc0e also works slightly more slowly than arc0, for fit. arc0e also works slightly more slowly than arc0, for
reasons yet to be determined. (Probably it's the smaller reasons yet to be determined. (Probably it's the smaller
MTU that does it.) MTU that does it.)
arc0s - The "[s]imple" RFC1051 protocol is the "previous" Internet arc0s The "[s]imple" RFC1051 protocol is the "previous" Internet
standard that is completely incompatible with the new standard that is completely incompatible with the new
standard. Some software today, however, continues to standard. Some software today, however, continues to
support the old standard (and only the old standard) support the old standard (and only the old standard)
...@@ -338,9 +366,10 @@ The ARCnet driver v2.10 ALPHA supports three protocols, each on its own ...@@ -338,9 +366,10 @@ The ARCnet driver v2.10 ALPHA supports three protocols, each on its own
smaller than the Internet "requirement," so it's quite smaller than the Internet "requirement," so it's quite
possible that you may run into problems. It's also slower possible that you may run into problems. It's also slower
than RFC1201 by about 25%, for the same reason as arc0e. than RFC1201 by about 25%, for the same reason as arc0e.
The arc0s support was contributed by Tomasz Motylewski The arc0s support was contributed by Tomasz Motylewski
and modified somewhat by me. Bugs are probably my fault. and modified somewhat by me. Bugs are probably my fault.
====== ===============================================================
You can choose not to compile arc0e and arc0s into the driver if you want - You can choose not to compile arc0e and arc0s into the driver if you want -
this will save you a bit of memory and avoid confusion when eg. trying to this will save you a bit of memory and avoid confusion when eg. trying to
...@@ -358,19 +387,21 @@ can set up your network then: ...@@ -358,19 +387,21 @@ can set up your network then:
two available protocols. As mentioned above, it's a good idea to use 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. only arc0 unless you have a good reason (like some other software, ie.
WfWg, that only works with arc0e). WfWg, that only works with arc0e).
If you need only arc0, then the following commands should get you going: 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 ifconfig arc0 MY.IP.ADD.RESS
route add -net SUB.NET.ADD.RESS arc0 route add MY.IP.ADD.RESS arc0
[add other local routes here] route add -net SUB.NET.ADD.RESS arc0
[add other local routes here]
If you need arc0e (and only arc0e), it's a little different:
ifconfig arc0 MY.IP.ADD.RESS If you need arc0e (and only arc0e), it's a little different::
ifconfig arc0e MY.IP.ADD.RESS
route add MY.IP.ADD.RESS arc0e ifconfig arc0 MY.IP.ADD.RESS
route add -net SUB.NET.ADD.RESS arc0e ifconfig arc0e MY.IP.ADD.RESS
route add MY.IP.ADD.RESS arc0e
route add -net SUB.NET.ADD.RESS arc0e
arc0s works much the same way as arc0e. arc0s works much the same way as arc0e.
...@@ -391,29 +422,32 @@ can set up your network then: ...@@ -391,29 +422,32 @@ can set up your network then:
XT (patience), however, does not have its own Internet IP address and so 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). I assigned it one on a "private subnet" (as defined by RFC1597).
To start with, take a simple network with just insight and freedom. To start with, take a simple network with just insight and freedom.
Insight needs to: Insight needs to:
- talk to freedom via RFC1201 (arc0) protocol, because I like it
- talk to freedom via RFC1201 (arc0) protocol, because I like it
more and it's faster. more and it's faster.
- use freedom as its Internet gateway. - use freedom as its Internet gateway.
That's pretty easy to do. Set up insight like this: That's pretty easy to do. Set up insight like this::
ifconfig arc0 insight
route add insight arc0 ifconfig arc0 insight
route add freedom arc0 /* I would use the subnet here (like I said route add insight arc0
route add freedom arc0 /* I would use the subnet here (like I said
to to in "single protocol" above), to to in "single protocol" above),
but the rest of the subnet but the rest of the subnet
unfortunately lies across the PPP unfortunately lies across the PPP
link on freedom, which confuses link on freedom, which confuses
things. */ things. */
route add default gw freedom route add default gw freedom
And freedom gets configured like so: And freedom gets configured like so::
ifconfig arc0 freedom
route add freedom arc0 ifconfig arc0 freedom
route add insight arc0 route add freedom arc0
/* and default gateway is configured by pppd */ route add insight arc0
/* and default gateway is configured by pppd */
Great, now insight talks to freedom directly on arc0, and sends packets 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, 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 you should probably stop reading this section now because it only gets
...@@ -425,7 +459,7 @@ can set up your network then: ...@@ -425,7 +459,7 @@ can set up your network then:
Internet. (Recall that patience has a "private IP address" which won't 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 work on the Internet; that's okay, I configured Linux IP masquerading on
freedom for this subnet). freedom for this subnet).
So patience (necessarily; I don't have another IP number from my So patience (necessarily; I don't have another IP number from my
provider) has an IP address on a different subnet than freedom and provider) has an IP address on a different subnet than freedom and
insight, but needs to use freedom as an Internet gateway. Worse, most insight, but needs to use freedom as an Internet gateway. Worse, most
...@@ -435,53 +469,54 @@ can set up your network then: ...@@ -435,53 +469,54 @@ can set up your network then:
insight, patience WILL send through its default gateway, regardless of insight, patience WILL send through its default gateway, regardless of
the fact that both freedom and insight (courtesy of the arc0e device) the fact that both freedom and insight (courtesy of the arc0e device)
could understand a direct transmission. could understand a direct transmission.
I compensate by giving freedom an extra IP address - aliased 'gatekeeper' 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 that is on my private subnet, the same subnet that patience is on. I
then define gatekeeper to be the default gateway for patience. then define gatekeeper to be the default gateway for patience.
To configure freedom (in addition to the commands above): To configure freedom (in addition to the commands above)::
ifconfig arc0e gatekeeper
route add gatekeeper arc0e ifconfig arc0e gatekeeper
route add patience arc0e route add gatekeeper arc0e
route add patience arc0e
This way, freedom will send all packets for patience through arc0e, This way, freedom will send all packets for patience through arc0e,
giving its IP address as gatekeeper (on the private subnet). When it 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 talks to insight or the Internet, it will use its "freedom" Internet IP
address. address.
You will notice that we haven't configured the arc0e device on insight. 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 This would work, but is not really necessary, and would require me to
assign insight another special IP number from my private subnet. Since assign insight another special IP number from my private subnet. Since
both insight and patience are using freedom as their default gateway, the both insight and patience are using freedom as their default gateway, the
two can already talk to each other. two can already talk to each other.
It's quite fortunate that I set things up like this the first time (cough It's quite fortunate that I set things up like this the first time (cough
cough) because it's really handy when I boot insight into DOS. There, it 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. runs the Novell ODI protocol stack, which only works with RFC1201 ARCnet.
In this mode it would be impossible for insight to communicate directly In this mode it would be impossible for insight to communicate directly
with patience, since the Novell stack is incompatible with Microsoft's with patience, since the Novell stack is incompatible with Microsoft's
Ethernet-Encap. Without changing any settings on freedom or patience, I Ethernet-Encap. Without changing any settings on freedom or patience, I
simply set freedom as the default gateway for insight (now in DOS, simply set freedom as the default gateway for insight (now in DOS,
remember) and all the forwarding happens "automagically" between the two remember) and all the forwarding happens "automagically" between the two
hosts that would normally not be able to communicate at all. hosts that would normally not be able to communicate at all.
For those who like diagrams, I have created two "virtual subnets" on the For those who like diagrams, I have created two "virtual subnets" on the
same physical ARCnet wire. You can picture it like this: same physical ARCnet wire. You can picture it like this::
[RFC1201 NETWORK] [ETHER-ENCAP NETWORK] [RFC1201 NETWORK] [ETHER-ENCAP NETWORK]
(registered Internet subnet) (RFC1597 private subnet) (registered Internet subnet) (RFC1597 private subnet)
(IP Masquerade) (IP Masquerade)
/---------------\ * /---------------\ /---------------\ * /---------------\
| | * | | | | * | |
| +-Freedom-*-Gatekeeper-+ | | +-Freedom-*-Gatekeeper-+ |
| | | * | | | | | * | |
\-------+-------/ | * \-------+-------/ \-------+-------/ | * \-------+-------/
| | | | | |
Insight | Patience Insight | Patience
(Internet) (Internet)
...@@ -491,6 +526,7 @@ It works: what now? ...@@ -491,6 +526,7 @@ It works: what now?
Send mail describing your setup, preferably including driver version, kernel Send mail describing your setup, preferably including driver version, kernel
version, ARCnet card model, CPU type, number of systems on your network, and version, ARCnet card model, CPU type, number of systems on your network, and
list of software in use to me at the following address: list of software in use to me at the following address:
apenwarr@worldvisions.ca apenwarr@worldvisions.ca
I do send (sometimes automated) replies to all messages I receive. My email I do send (sometimes automated) replies to all messages I receive. My email
...@@ -525,7 +561,7 @@ this, you should grab the pertinent RFCs. (some are listed near the top of ...@@ -525,7 +561,7 @@ this, you should grab the pertinent RFCs. (some are listed near the top of
arcnet.c). arcdump assumes your card is at 0xD0000. If it isn't, edit the arcnet.c). arcdump assumes your card is at 0xD0000. If it isn't, edit the
script. script.
Buffers 0 and 1 are used for receiving, and Buffers 2 and 3 are for sending. Buffers 0 and 1 are used for receiving, and Buffers 2 and 3 are for sending.
Ping-pong buffers are implemented both ways. Ping-pong buffers are implemented both ways.
If your debug level includes D_DURING and you did NOT define SLOW_XMIT_COPY, If your debug level includes D_DURING and you did NOT define SLOW_XMIT_COPY,
...@@ -535,9 +571,11 @@ decides that the driver is broken). During a transmit, unused parts of the ...@@ -535,9 +571,11 @@ decides that the driver is broken). During a transmit, unused parts of the
buffer will be cleared to 0x42 as well. This is to make it easier to figure buffer will be cleared to 0x42 as well. This is to make it easier to figure
out which bytes are being used by a packet. out which bytes are being used by a packet.
You can change the debug level without recompiling the kernel by typing: You can change the debug level without recompiling the kernel by typing::
ifconfig arc0 down metric 1xxx ifconfig arc0 down metric 1xxx
/etc/rc.d/rc.inet1 /etc/rc.d/rc.inet1
where "xxx" is the debug level you want. For example, "metric 1015" would put 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 7 is currently the default.
...@@ -546,7 +584,7 @@ combination of different debug flags; so debug level 7 is really 1+2+4 or ...@@ -546,7 +584,7 @@ combination of different debug flags; so debug level 7 is really 1+2+4 or
D_NORMAL+D_EXTRA+D_INIT. To include D_DURING, you would add 16 to this, D_NORMAL+D_EXTRA+D_INIT. To include D_DURING, you would add 16 to this,
resulting in debug level 23. resulting in debug level 23.
If you don't understand that, you probably don't want to know anyway. If you don't understand that, you probably don't want to know anyway.
E-mail me about your problem. E-mail me about your problem.
......
...@@ -40,6 +40,7 @@ Contents: ...@@ -40,6 +40,7 @@ Contents:
6pack 6pack
altera_tse altera_tse
arcnet-hardware arcnet-hardware
arcnet
.. only:: subproject and html .. only:: subproject and html
......
...@@ -9,7 +9,7 @@ menuconfig ARCNET ...@@ -9,7 +9,7 @@ menuconfig ARCNET
---help--- ---help---
If you have a network card of this type, say Y and check out the If you have a network card of this type, say Y and check out the
(arguably) beautiful poetry in (arguably) beautiful poetry in
<file:Documentation/networking/arcnet.txt>. <file:Documentation/networking/arcnet.rst>.
You need both this driver, and the driver for the particular ARCnet You need both this driver, and the driver for the particular ARCnet
chipset of your card. If you don't know, then it's probably a chipset of your card. If you don't know, then it's probably a
...@@ -28,7 +28,7 @@ config ARCNET_1201 ...@@ -28,7 +28,7 @@ config ARCNET_1201
arc0 device. You need to say Y here to communicate with arc0 device. You need to say Y here to communicate with
industry-standard RFC1201 implementations, like the arcether.com industry-standard RFC1201 implementations, like the arcether.com
packet driver or most DOS/Windows ODI drivers. Please read the packet driver or most DOS/Windows ODI drivers. Please read the
ARCnet documentation in <file:Documentation/networking/arcnet.txt> ARCnet documentation in <file:Documentation/networking/arcnet.rst>
for more information about using arc0. for more information about using arc0.
config ARCNET_1051 config ARCNET_1051
...@@ -42,7 +42,7 @@ config ARCNET_1051 ...@@ -42,7 +42,7 @@ config ARCNET_1051
industry-standard RFC1201 implementations, like the arcether.com industry-standard RFC1201 implementations, like the arcether.com
packet driver or most DOS/Windows ODI drivers. RFC1201 is included packet driver or most DOS/Windows ODI drivers. RFC1201 is included
automatically as the arc0 device. Please read the ARCnet automatically as the arc0 device. Please read the ARCnet
documentation in <file:Documentation/networking/arcnet.txt> for more documentation in <file:Documentation/networking/arcnet.rst> for more
information about using arc0e and arc0s. information about using arc0e and arc0s.
config ARCNET_RAW config ARCNET_RAW
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment