
                             Token-Ring mini-HOWTO
                                       
:Mike Eckhoff [1]mike.e@emissary.aus-etc.com
:¿־ [2]matterchen@sinamail.com

   v4.1, 7 January 1998  15 December 2000
     _________________________________________________________________
   
   ļ㰲װ޲ʽͬʱָĵ.ҽ
   װκ Linux õ Token Ring ʽ֮ǰļ.
     _________________________________________________________________
   
   رл
           Mark Swanson, Peter De Schrijver, David Morris, Paul Norton
          Լκλʱ׫дάʽȴδг. 
          packrat л linux-tr listserv İæ.
          
1. Ȩ׸

2. Ӳ

3. 

4. װ趨

5. NetTools װ

6. ֪

7. ش

8. ׼аװ

     * 8.1 Slackware 96
     * 8.2 RedHat 4.0+
     _________________________________________________________________
   
   رл
           Mark Swanson, Peter De Schrijver, David Morris, Paul Norton
          Լκλʱ׫дάʽȴδг. 
          packrat л linux-tr listserv İæ.
          
1. Ȩ׸

   ǲ֤ļкϵͳ. ܶѾʹùļѾɹ
    linux ϰװ Token Ring ·.
   
   ʹñ,Ը!!! ... ǶκΪļɵⲢ.
   
   κι춱δᵽ,Ÿ...
   
     [3]mike.e@emissary.aus-etc.com
     
   Ҳż Linux  Token Ring ʼ̳
   [4]majordomo@emissary.aus-etc.com :
   
 linux-tr

   ļİȨ Michael Eckhoff (c) 1995-1998. ֻҪȨ汣ÿݸ
   ,κʽ⸴Ʊ. ҵҲǱ;,
   ֪ͨȷµѶ.
   
2. Ӳ

   ȷбʽ֧Ԯ Token Ring ·. Ŀǰֻ Tropic Ƭ֧
   Ԯ.
   
   Ҹ֪õĿ:
     * 3Com 3C619B Token Link
     * 3Com 3C619C Token Link
     * HyperRing Classic 16/4
     * IBM Turbo 16/4 ISA adapter**
     * IBM Token Ring Auto 16/4 ISA adapter
     * IBM Token Ring Auto 16/4 adapter /A
     * IBM Token Ring 16/4 adapter /A
     * IBM Token Ring adapter /A
     * IBM Token Ring adapter II (4 Megabit only)
     * IBM 16/4 ISA Token Ring card (16bit)
     * IBM 16/4 ISA Token Ring card (8bit)
     * Madge Blue (100% IBM compatable)
       
    100%; IBM ݵ shared-ram ·ӦҲ˳. 
   ֪ͨ.
   
    16KB Shared RAM.
   
   ·:
   
   IBM Turbo 16/4 ISA adapter
          ʵϴ· Linux ¹˳. , Auto 16/4 
          ģʽ. 趨˿򵥵ķʽ濨 LANAID disks 
          ָ:
          
LANAIDC /FAST=AUTO16

          Ӧøݱʹ LANAIDC or LANAID 趨·.
          
   Token-Ring Network 16/4 Adapter II
          ·޷. Ѵ˿ IBM Token Ring · II (4mbit) 
          .  ISA  DMA/Busmaster ·.
          
   3Com TokenLink Velocity ISA
          ô˿. ĳЩĻر;Щ,Ҳ.
          
   PCI adapters
          Ŀǰûκ IBM PCI ·֧Ԯ.
          
   IBM Auto LanStreamer 16/4 Token-Ring PCI Adapter
          Ŀǰδ֧Ԯ,Ѿڽ֧Ԯ. Ԥʱ Full Duplex.
          
3. 

    :
          ϵͳ 2.0 Ļ,׼ж
          (distribution specific section).  1.2ĺĶ.
          
   Ѿװ Linux.
   
   λû Token Ring ޲ʽ:
   
     [5]ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/TokenRing.pa
     tch-1.2.0.gz
     
   ɴλû Net-Tools ޲ʽ
   
     [6]ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/net-tools-1.
     2.0.patched.tar.gz
     
   ޲ʽһĿ¼ ( /usr/src/patches) ޲ʽ.
   
mkdir /usr/src/patches             central directory for patch storage
mkdir /usr/src/patches/token       place TokenRing patch here

4. װ趨

    :
          Щ˵ 1.2  token ring ֧Ԯĺ޲ʽ. 
          2.0 ϵĺ,ֻҪ±Ŀǰĺʱ,֧Ԯ token ring
          ѡѡ "yes"  "module" .
          
    1.  Token Ring ·װϲ趨ҪʹõĹ. 
       DOS ²Դ˿ Linux ʹ.  DOS ¹,
       пͬ趨ֵ Linux .  Plug and Play (
       ) ·,趨ʱ,ǵð趨ֵ.
    2. ԭȵϵͳĿ¼. Ҫ޲ʽĺȫ
       Ƴصԭȵϵͳʱ,ԵúҪ.
       
cd /usr/src
tar cvzhf linuxbak.tar.gz linux

    3. ѹ Token Ring ޲ʽ.
       
cd /usr/src/patches/token
gzip -d TokenRing.patch-1.2.0.gz

    4. ĺ TokenRing .
       
cd /usr/src/linux
patch -p1 < /usr/src/patches/token/TokenRing.patch-1.2.0

       --
       
patch -p1 < <directory-of-patchfile>/TokenRing.patch-1.2.0

    5. ӺѰ޲ɵ rejects (ϸ) ʵĸı.
       
find . -name \*.rej -print

    6. ӺѰ orig ɾ.
       
find . -name \*.orig -print | xargs rm

    7. .
       
        NOTE:
                 swap ָ, active.
                
cd /usr/src/linux
make config

       (޲ʽὫѡ config.in
       
Token Ring support (CONFIG_TR) [y]

       (...)
       
IBM Tropic chipset based adaptor support (CONFIG_IBMTR) [y]

make dep
make clean
make zImage

    8. 趨 LILO. Ȱ vmlinuz Ϊ vmlinuz.old ٰºĸƳ
       vmlinuz. ҵϵͳ,¼
       
     /usr/src/linux/arch/i386/boot/zImage to /vmlinuz ༭
     /etc/lilo.conf ʹ.
       ʾ´ "lilo".
    9. ڿ¿ʹ Token Ring ·. 趨Ѷο
       ж (distribution specific section).
       
5. NetTools װ

   NetTools packages(װ)кܶ·豸ϵĻ. ĳʽ
   arp, rarp, route, ifconfig and netstat. ΪЩʽԤ貢˽ Token
   Ring,  NetTools ޲ʽЩʽ Token Ring ʽ
   ظЧ.
   
    :
          Ŀǰ 1.2.x ĺõ NetTools  1.2.0 . õ 2.0
          ĺ,ܿ NetTools °. ,㶼
          λҵµԭʼ:
          
     [7]ftp://tapac.inka.de/pub/comp/Linux/networking/NetTools/
     
    1. (1)Ʋ⿪ NetTools ԭʼ뵽Ŀ¼ /usr/src
       
cp net-tools-1.2.0.patched.tar.gz  /usr/src
tar -zxvof /usr/src/net-tools-1.2.0.tar.gz

    2. (5) Make net-tools .
       
cd /usr/src/net
make install

6. ֪

   Ҹʹôʽû. Ѿһʱ.
   
    1.2.x ʹôʽκ, 2.0 . 
   дʱºİ汾 2.0.33. Token Ring ʽ 1.2 кܴ
   ,Ҵ󲿷ֶûл˷.
   
   ,㲻ض 2.0  token ring ޲. Ѿڽ.
   ¹ܵĻ,Ҳи 2.1 ĵ޲ʽ.
   
7. ش

   Q:
          Token Ring ʽܱ module(ģ) ?
          
   A:
          , ൱.ڱ module ʱиĲ. 
           "spoof(ƭ)" 尲װʽҪ, redhat boot disks 
          token ring · ethernet(̫·) װ ( NFS/FTP װ
          ), "device" ǿָ豸 tr0 . 
          ж·ʱܻ. ʱЩ
          Ҫ˷.:
          
/sbin/insmod ibmtr device=eth0

   Q:
          һֱѶϢ "0011". ˼?
          
   A:
          ȷ·û token ring · loopback
          connector.ѶϢָ޷ token ring. ;
          99.99% Ϊûб.
          
   C:
          װЧ IO 0x220,Ǻп token ring ·
          0xa20  IO гͻ.
          
          㷢б֧Ԯ·޷Ч,
          ·趨 0xa24  /Ƴ Ч.
          
          ֮...
          
          һЩյ Token Ring  Linux  email. Ϊ˲ռ
          ,ҰһЩ email Ҫɾȥ.
          
        Q:
                
From: "Mr. Chuck Rickard" <chuck@gl.umbc.edu>
Subject: Re: Token Ring Kernel patch.

ѼĲ±.ʱ˵,"tr0: Can't assign device to adapter"
and again for tr1".кο?
(Ϊԭ...)

I d/l'd the patch, applied it, and re-compiled. When booting it said,
"tr0: Can't assign device to adapter" and again for tr1.  Any ideas?

Thanks!

Chuck Rickard
(chuck@umbc8.umbc.edu)

        A:
                
From: David Morris <dwm@shell.portal.com>

                ֻѶϢ,ʾй·Ѷ PIO request (ο
                segment = inb(PIOaddr) in ibmtr.c) ѳ Token Ring ·
                ڵ IO address ġΧ. (Ϊԭ...)
                
                When this is the only message issued, it means that the
                PIO request for adapter information (see segment =
                inb(PIOaddr) in ibmtr.c) was so out of range that there
                is no TR card at that IO address.
                
        Q:
                
From: Mike Glover <glover@credit.erin.utoronto.ca>
Subject: Token ring problems.
лĻش.֮ǰʵĲ,˵һ.,¼ǿ
/var/adm/messages .
(ԭδɾ...)

Thanks for responding. I was starting to thing that I posted incorrectly,
and I was about to post again. Anyway, the following  clip is part of my
/var/adm/messages file from when I boot up.

May  2 10:03:14 linux kernel: tr0: Unable to assign adapter to device.
May  2 10:03:14 linux kernel: tr1: Unable to assign adapter to device.

, tr0: Unable to assign adapter device.ʵ.ѶϢʹ
֪δ.ֻ֪ûָκ token ring Ѷ,Ҳ֪.
The section, tr0: Unable to assign adapter device. is what kinda confuses
me. The documentation is slim at best so I didn't know what to do with
the message. I know I didn't assign any token ring information,
and I didn't know where to do it.

The hardware(Ӳ):
            Its a PC clone (Dell OMNIPLEX 560 to be exact)
            The token ring card is a Olicom 16/4 Adapter.

 DOS  token ring ʽ·,Բ·.
 Linux 趨ʱС.
I have DOS token ring drivers and it snaps into the network, so there is
nothing wrong with the card. I think, I am just missing something really
small in the config on the Linux side.

        A:
                Olicom 16/4 ·ʹ Tropic Ƭ.ȥ HOWTO
                е·. (Ϊԭ...)
                
                The Olicom 16/4 Adapter does not use the Tropic Chipset.
                Try using one of the cards that are listed at the top of
                the HOWTO.
                
        Q:
                
From: Mike Glover <glover@credit.erin.utoronto.ca>
Subject: Found an IBM card...

ҷһ IBM token ring ·Ҹһ,ƺ.(
/etc/rc.d/rc.inet1  ifconfig Ŀа eth0 ĳ tr0)
(ԭ...)
I found myself an IBM token ring card and I got a little further,
but still not luck. (I did change /etc/rc.d/rc.inet1 ifconfig entry
from eth0 to tr0)

, /var/adm/messages :
Anyway, here is part of the /var/adm/messages file:
May  2 16:23:07 linux kernel: IPX Portions Copyright (c) 1995 Caldera, Inc.
May  2 16:23:07 linux kernel: tr0: PIOaddr:  a20 seg/intr: b8 mmio base:
   000dc000 intr: 0
May  2 16:23:07 linux kernel: tr0: Channel ID string not found for PIOaddr: a20
May  2 16:23:07 linux kernel: tr0: Expected for ISA: 5049434f3631313039393020
May  2 16:23:07 linux kernel: tr0:            found: 000902003021111000182000
May  2 16:23:07 linux kernel: tr0: Expected for MCA: 4d4152533633583435313820
May  2 16:23:07 linux kernel: tr0: Unable to assign adapter to device.
May  2 16:23:07 linux kernel: tr1: Unable to assign adapter to device.
May  2 16:23:07 linux kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS
   OPTIMIZE_FLAGS


˵?ҿ.
Does this tell you anything. It tells me little.

        A:
                
From: David Morris <dwm@shell.portal.com>

                ѶϢ MMTO area  TR ·мͻɺ·
                Ĳ (Ѷδ֪).
                
                This message means either a memory conflict with the MMIO
                area or a TR card which is not compatible with the driver
                (at least the signature isn't known).
                
        Q:
                
From: Mike Glover <glover@credit.erin.utoronto.ca>
Subject: Almost there...

The following sample is what I'm getting on my messages file:

May  3 14:50:24 linux kernel: tr0: now opening the board...
May  3 14:50:24 linux kernel: tr0: board opened...
May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec
.
   Donald resets adapter, but resetting
May  3 15:11:47 linux kernel:  the IBM tokenring adapter takes a long time.
   It might not even help when the
May  3 15:11:47 linux kernel:  ring is very busy, so we just wait a little long
er
   and hope for the best.
May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec
.
   Donald resets adapter, but resetting
May  3 15:11:47 linux kernel:  the IBM tokenring adapter takes a long time.
   It might not even help when the
May  3 15:11:47 linux kernel:  ring is very busy, so we just wait a little long
er
   and hope for the best.
May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec
.
   Donald resets adapter, but resetting

Arrg Ŀֻе telnet ,rlogin  ftp Զ˻ʱŻ.ʱ,·
ᵱһ.
ƳӲװ(ҵ SCSI )·.һ,ųӲ IRQ
ͻ.
Ǵ˿ DIP switches:
The Arrg entry only comes when I telnet, rlogin or ftp to a remote
machine. Once that happens, the connection hangs big time. I took out all
the other hardware (which was 1 SCSI card) and tried running the card all
by itself. Same thing, so it eliminates hardware IRQ's from getting into
a yelling match. The following are the DIP switches on the card:

1       Up      |
2       Down    |
3       Down    |       According to the manual this sets the
4       Up      |       base address to CC000 Which is fine for
5       Up      |       my machine.
6       Down    |
7       Down    +       This sets the IRQ to 2. Which is also fine
8       Down    +
9       Up      X       Primary Lan adapter. Which it is.
10      Up      =       16 KB shared RAM size. This OK?
11      Down    =
12      Up      #       16 Mbps Data rate.

һǷ dip switches,趨·ʱ route table .
I was wondering if it is in fact the dip switches, or the way I have
configured my route table and other network info.

ttfn,
Mike

        A:
                 2.0  Arrg ֵ.е޲ʽûл
                ˷ 1.2 ,Ҫ.й Arrg ѶϢ
                ,Ը 2.0 ĺ? The Arrg problem is
                pretty much taken care of in the 2.0 kernels. All of the
                patches have not been ported back to 1.2, and I doubt
                that they will be. If you get excessive Arrg messages, do
                yourself a favour and move to Linux 2.0.
                
8. ׼аװ

8.1 Slackware 96

   ϵͳδִй "netconfig" ,ִ. 趨ֵͬϵͳǴ
   Ethernet(̫·) .
   
   ༭ /etc/rc.d/rc.inet1 ָ tr0 device(豸)eth0 device(豸)
   
   Ӧûῴһ
   
/sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}

   иĳΪ
   
/sbin/ifconfig tr0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}

8.2 RedHat 4.0+

    RedHat Linux һܰ Xwindows ̨趨 modules(ģ) 
   devices(豸). ڰװ RedHat ʱѾװ token ring ·,
   ӦѾ token ring ģ֧Ԯ. ָ:
   
modprobe ibmtr

   õ. ·֧Ԯ,ܿѾʹ.
   
   趨õ control-panel(̨).  kernel module
   control(ģĿ) ָʾ token ring µ·豸. Ӧ
   ڿʱԶ ibmtr ʽ. Ȼ·̬µ
   豸,tr,һ ip address,ȵ.
   
   ¿ RedHat Linux 4.0+ ʹ Token Ring ·.
   
    RedHat ˵ǿеӡд. Ϊһʱû
   Ĺҵ RedHat ϵͳ,ƾд. ,ǿԴĿ
   .

References

   1. mailto:mike.e@emissary.aus-etc.com
   2. mailto:matterchen@sinamail.com
   3. mailto:mike.e@emissary.aus-etc.com
   4. mailto:majordomo@emissary.aus-etc.com
   5. ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/TokenRing.patch-1.2.0.gz
   6. ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/net-tools-1.2.0.patched.tar.gz
   7. ftp://tapac.inka.de/pub/comp/Linux/networking/NetTools/
