    Token-Ring mini-HOWTO {
    Mike Eckhoff, mike.e@emissary.aus-etc.com
    Rev 4.1 1/7/98

    {:   <sx3m-nkn@asahi-net.or.jp>
    Rev.4.1-j1.0  March 23,1998

     HOWTO ́AJ[lpb`CXg[Ƃ̏ɂȂ悤ɁA
    ܂A̒ӓ_𖾊mɂ邽߂ɂƂړIō쐬Ă܂B
    Linux  Token Ring hCo (Ƃ̈ꕔłĂ) CXg[
    Oɂ́A̕ʂǂłƂ߂܂B

       ȉ̕XɊӂ܂B

         ̃hCoAeiX邱ƂɎ̎ԂĂ
          Mark Swanson, Peter De Schrijver, David Morris, Paul Norton
         ďYĂ邩Ȃ̑SĂ̐lXɁB
         linux-tr listserv T|[gĂĂ packrat ɁB

    1. 쌠Ƃ̑GȎ

    ́A HOWTO Ȃ̃VXeɓKpł邩ǂ͕ۏ؂܂
    BÂ̕ƂsقƂǂ̐ĺAToken Ring lbg[
    N Linux ɂ܂CXg[łĂ܂B

    HOWTO͂ȂM̃XNŗpĂ!!! HOWTOp邱
    Ŗ肪NĂɎ₵ȂŉB

    AHOWTOŐGĂȂhCoŉ肪NȂA
    ǂemail𑗂ĂBAhX͈ȉ̂ƂłB

         mike.e@emissary.aus-etc.com

    Linux on Token Ring ListservɎQ́A
    majordomo@emissary.aus-etc.com ĂɁA{Ɉȉ̈s[
    𑗂ĂB

         subscribe linux-tr

    [: ȉ̒쌠\ɊւẮAD悵܂]
    ̒̕쌠́AMichael Eckhoff ɂ܂B̕ɊւẮA
    ̑SłꕔłĂČ\łB܂A̔}̂I
    ̂ł낤ƁAdqIȂ̂ł낤Ƃ܂܂B̏ꍇ́A
    KׂĂ̎ʂɒ쌠\悤ɂĂB܂Ap̍Ĕz
    zɎgp邱Ƃ͂܂܂񂵁AނgpĂƂサ
    B̏ꍇ́Aɂ񂪍ŐV̂̂Ȃ̂ǂmF
    Ǝv܂̂ŁAɘA悤ɂĉB

    [: ]
    This document is copyright (c) 1995-1998 by Michael Eckhoff.  You may
    make copies of this document in whole or in part, in any medium
    physical or electronic, as long as the copyright notice is retained on
    all copies.  Commercial redistribution is allowed and encouraged;
    however, please notify me so that I can make sure that you have the
    most current information available.

    2. Kvȃn[hEFA

    ܂AȂ Token Ring J[h̃hCoŃT|[gĂ̂
    ǂmFĂB݃T|[gĂ̂́A Tropic `bvZ
    bggpJ[ĥ݂łB
    삷J[hƂĎlIɒmĂ͈̂ȉ̂ƂłB

    -  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)

    [: ̃Xgɂ͋Ă܂񂪁A Olicom ́AА Token
    Ring J[hɑ΂ Linux p̃hCo쐬Aweb ŌJĂ܂B
    { Q & A QƂĂ]

       ̑SĂ 100% IBMRp`uȁAShared-RAM^CṽA_v^
       삷͂łBʂɉĂȂƓȂJ[h
       玄ɒm点ĂB

    ẮAShared RAM̃TCY 16KB ɐݒ肷邱Ƃ߂
    B

    炭Nł낤J[h:

       IBM Turbo 16/4 ISA A_v^[
          ̃A_v^[́ALinux  Token Ring hCoœ삵܂B
          ÃJ[h Auto 16/4 Rp`u[hœ삳Kv
          ܂Bݒ肷邽߂̈ԊȒPȕ@́AJ[hɕt LANAID
          fBXNgĈȉ̃R}hs邱ƂłB

            LANAIDC /FAST=AUTO16

          ꂩ}jAɂāALANAIDC  LANAID gp
          ăJ[h̐ݒsĂB

       IBM g[NOElbg[N 16/4 A_v^[ II
          ̃A_v^[*삵܂*BȂÃJ[h IBM Token Ring
          adapter II (4M bit) ȂŉB [: 4M bit 
          ] ͓삵܂B̃J[h ISA  DMA/oX}X^gpA
          _v^[łB

       3Com TokenLink Velocity ISA
          ̃J[h́AȂ̂ƂœȂȂ
          ܂B͉l̐l炱̃J[h̖삷Ƃ
          񍐂󂯂Ă܂Bʂ̐l̓G[̗ɂ݂܂ꂽ
          Ă܂B

       PCI A_v^[
          ݂̂ƂAT|[gĂ IBM PCI A_v^[͂܂B
          [:  Token Ring ɌĂ̘bBÃJ[hɂ
          Ă͊Ji߂Ă悤ł]

       IBM Auto LanStreamer 16/4 Token-Ring PCI Adapter
          ݂̂ƂT|[gĂ͂܂񂪁AƂ͍sĂ܂B
          ̃hCóAɂ Full Duplex œ삷͂
          B

    3. Kvȃ\tgEFA

       :
          AȂgpĂ Linux ̃fBXgr[V 2.0
          Ȃ(*)Ã̕fBXgr[VɈˑ͂ɐi
          łBȉɏĂ邱Ƃ́A 1.2 J[lɂĂ
          ̂ł
          [: J[l̃o[W 2.0.xxȂB 2.1.xx
          ȍ~Ă͂܂ł傤B܂A2.x ̃[U[̕A6͂
          7͂ɂ͖ڂʂĂĂ]

    Ȃ݂ɁAɏĂ邱Ƃ́Ał Linux オē삵
    邱ƂOɂĂ܂B

    Token Ring pb`ȉ̏ꏊ肵܂B

         <ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-
         Ring/TokenRing.patch-1.2.0.gz>

    pb`̓NetTools̃\[XR[hȉ̏ꏊ肵܂B

         <ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/net-
         tools-1.2.0.patched.tar.gz>

    pb`p̃fBNg쐬(Ⴆ /usr/src/patches)Apb`̃t@C
    ɒu܂B

         mkdir /usr/src/patches             pb`ۑ郁C̃fB
                                            Ng
         mkdir /usr/src/patches/token       TokenRing ֘Ãpb`
                                            u

    4. CXg[ƃZbgAbv

       :
          ȉ̎菇 1.2 J[l Token Ring T|[g̃pb`邽
          ߂̂̂łBA2.0 J[lgpĂ̂ł΁A݂
          \[XRpCāAtoken ring support ̗ ``yes'' ܂
           ``module'' Ƃ邾 OK łB
          [: J[lRpC̏ڍׂɊւẮAKernel HOWTO Q
          ĂB]

    1. Token RingJ[hVXeɑAȂ̃VXeɂ킹Đݒ肵
       ĂBLinux œ삳O DOS œmFŝ͗ǂ
       łBDOS œ삵ȂAݒ Linux ł삷\
       ܂BvOAhvC̃A_v^̏ꍇ́A\ł΁A삵
       ̐ݒŌŒ肷悤ɂāivOAhvC֎~āj
       B

    2. ܂ALinux fBNg [: /usr/src/linux] ̃obNAbvƂ
       ĂB̓J[l̃\[Xpb`SɏāÃR
       [hɖ߂Ȃ΂ȂȂȂƂ̂߂ɂĂׂϏdv
       ƂłB
         cd /usr/src
         tar cvzhf linuxbak.tar.gz linux

    3. Token Ring pb`WJB

         cd /usr/src/patches/token
         gzip -d TokenRing.patch-1.2.0.gz

    4. J[l̃\[X Token Ring pb`𓖂ĂB

         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. pb`̒*͂˂ꂽ*TāAKvɉĕύXB

         find . -name \*.rej -print

    6. orig t@CTāAB

         find . -name \*.orig -print | xargs rm

    7. J[lݒ肵Amake B

       :
          Xbvt@Cݒ肵ĂꍇAANeBuɂȂĂ邱
          ƂmFĂB

         cd /usr/src/linux
         make config

    (pb` config.in t@C2sƂɂāAȉ̃IvV
    悤ɂȂ͂ł)

         Token Ring support (CONFIG_TR) [y]

  (ăXĝƉ̕ĂƁȂI܂)
         IBM Tropic chipset based adaptor support (CONFIG_IBMTR) [y]

         make dep
         make clean
         make zImage

    8. LILOZbgAbv܂B

       ͂߂ɁA/vmlinuz ƂȂĂ錻݂̃J[l vmlinuz.old ɖO
       ς܂BɃJ[l /vmlinuz ƂăRs[܂B̃VXe
       ́A
         /usr/src/linux/arch/i386/boot/zImage  /vmlinuz ɃRs[āA
         /etc/lilo.conf āÃJ[lu[g悤ɂĂ
         Ƃ菇ɂȂ܂B

    ŁAvvg ``lilo'' sĂB

    9. ŁAƂ̓VXeu[g Token Ring J[hgp\
       ȂĂ͂łB̑̓ʂȐݒɊւẮAfBXgr
       [VɌŗL̏̍QƂĂB

    5.  NetTools ̃CXg[

    [: ̏͂J[l 1.2 ̐lȑΏۂɂĂ܂]

    NetTools pbP[Wɂ́Albg[NfoCXƂ肷̂Ɏgp
    ̊{Iȃ[eBeB[܂܂Ă܂Barp  rarpArouteA
    ifconfigAnetstatƂvO܂܂܂B̃vO̓f
    tHg Token Ring 悤ɂȂĂȂ̂ŁANetTools pb`
    ĂKv܂B邱ƂɂāÃ[eBeB[
    Token Ring hCoƂƂɂIɎgpł悤ɂȂ܂B

       :
          1.2.x J[lp NetTools ݂̌̃o[ẂA1.2.0.łB
          ̃J[l 2.0 ł΁Anettools ͂łɃAbvf[gς݂
          BɂAŐṼ\[X͈ȉ̂Ƃ납肪\łB

            <ftp://tapac.inka.de/pub/comp/Linux/networking/NetTools/>

    1. (1) Nettools ̃\[XȂ̃\[XfBNgɃRs[Atar 
           WJ܂B

         cp net-tools-1.2.0.patched.tar.gz  /usr/src
         tar -zxvof /usr/src/net-tools-1.2.0.tar.gz

    2. (5) net-tools t@C make ܂B

    cd /usr/src/net
    make install

    6.  m̖

    lƂẮA܂ɂ͏o킵Ă܂BقǒԎg
    ł͂܂񂪁AȂƂɂƂĂ͊ɓĂ܂B

    A1.2.x J[lŃhCo̖肪Nꍇ́A2.0 ɃAbvf[
    gĂB̕Ă鎞_ōŐṼo[W 2.0.33 
    B2.0  Token Ring hCoɂ́A1.2 ppb`肸Ƒ̉ǂ
    ȂĂ܂BƂ낪̂قƂǂ́A1.2 pb`ɂ͔fĂȂ
    ̂łB

    ܂ALinux 2.0 J[lɂ Toke Ring ̂߂̃pb`𓖂ĂKv͂
    ܂B\[Xɂłɑgݍ܂Ă܂BȂA2.1 ɑgݍ܂ł
    낤R[hɑΉeXgppb`JĂ܂̂ŁAKpĂ݂
    ͂Ɨǂł傤B

    7.  Ƃɑ΂Rg

       Q: Token Ring hCo̓W[ƂăRpCł܂?

       A: ͂B͉\łAȂ삵܂BW[ƂăR
          pC鎞ɂ͓ʂȃp[^gp邱Ƃł܂BႦ
          RedHat ̃u[gfBXNȂǂŁA(NFS/FTP CXg[) Token
          Ring J[h Ethernet foCXƂ悤ɌăCXg[
          vO܂ƂKv΁A``device'' p[^
          ŁAfoCX tr0 ȊOɐݒ肷邱Ƃ\łB̃A_v^
          gpĂꍇÃIvVgƂ炭肪N
          \z܂BAL̗̂悤ȋLq邱ƂɂāA
          ̂Ƃ̖͉݊邱Ƃł܂B

            /sbin/insmod ibmtr device=eth0

       Q: ``0011'' ƂG[R[h\܂BNĂ̂
          傤H

       A: lbg[NɐڑĂ邩AڑĂȂ΃g[N
          OJ[hɃ[vobNRlN^tĂ邩ǂ
          mFĂB̃bZ[ẂAOI[vłȂƂ
          Ƃ\킵Ă܂B99.99% ̊mŁAG[̌͒PɃJ[h
          ̃RlN^ɉڑĂȂƂɂ̂Ǝv܂B

       C: Ȃ̃}VɃTEhJ[hZbgĂāAI/O x[X
          AhX 0x220 ɃZbgĂȂAI/O x[XAhX
          0xa20 ɃZbg Token Ring A_v^ƏՓ˂N܂B
          [: ISA A_v^̓AhX̃fR[h(`I) 10bit 
          ĂȂ̂B̏ꍇAAhX bit10 ȏ͐؂̂Ă
          Ă܂߁A0x220  0xa20 ̋ʂȂ]
          T|[gĂ͂̃A_v^܂삵ȂꍇATEh
          J[htĂȂAToken Ring J[h̐ݒ 0xa24 
          ݒ肷邩A܂̓TEhJ[h I/O AhXړA
          ̓TEhJ[ĥ̂𔲂ĎĂ݂ĂB

     ...

          ȉ́A󂯎 Token Ring  Linux Ɋւ email łB
          ̕ł́AXy[Xߖ񂷂邽߂ɏdvłȂ폜
          Ă܂B

          Q:

               ol: "Mr. Chuck Rickard" <chuck@gl.umbc.edu>
               薼: Re: Token Ring Kernel patch

               pb`肵A𓖂ĂăRpC܂Bu[g
               ɁA"tr0: Can't assign device to adapter" (tr0: A_v^
               ɃfoCXATCł܂)ƂbZ[WoĂ܂
               ܂Btr1 ɂꍇlłB邱Ƃ͂܂?

               낵肢܂B

               Chuck Rickard
               (chuck@umbc8.umbc.edu)

          A:

               ol: David Morris <dwm@shell.portal.com>

          \̂̃bZ[WȂÄӖƂ́AA_
          v^𓾂邽߂ PIO NGXĝƂŃANZXĂ̂
          Sꂽ I/O AhXŁA I/O AhX Token Ring J[h
          𔭌łȂƂƂłB(ibmtr.c  segment = inb(PIOaddr))
          ̕QƂĂ)

          Q:

               ol: Mike Glover <glover@credit.erin.utoronto.ca>
               薼: Token ring problems. (Token ring ł̖)

               Ԏ肪ƂBȑOêȂ̂ŁA
               e܂BƂŁAȉ̓u[g /var/adm/messages t
               @C̈ꕔłB

               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 (A_v^foCX
               ATCł܂)ƂȂĂ镔ĂƂ
               BƂɂhLg̕ʂȂ̂ŁÃbZ[W
               ɑ΂ĂǂΏĂ悢̂܂B Token Ring
               Ɋւݒ肵ĂȂ߂ł낤Ƃ͕̂ł
               Aǂɐݒ肷΂̂܂B

               n[hEFA͈ȉ̂ƂłB
                           PC ݊@ (Ɍ Dell OMNIPLEX 560)
                           Token ring J[h Olicom 16/4 Adapter

               DOS  Token Ring hCo͎ĂāAꂾƃlbg[
               NɂȂ܂B킯Ȃ̂ŃJ[hɂ͖͂Ȃ
               v܂BLinux ł̐ݒ肪Aق̏Ȃ
               ƂƎv̂łB

          A: Olicom 16/4 A_v^ Tropic Chipset gpĂ܂B
              HOWTO ̍ŏɋXg̒ɂJ[hgpĂ
             B
             [:  (98/3/17)A Olicom  Token Ring J[h
             p̃hCo Olicom  web TCg_E[h\ɂȂ
             Ă܂Bڍׂ http://www.olicom.com QƂ̂]

          Q:
               ol: Mike Glover <glover@credit.erin.utoronto.ca>
               薼: Found an IBM card...(IBM J[h͌̂łc)

               IBM Token Ring J[hA肵܂B܂
               Ă܂B(/etc/rc.d/rc.inet1  ifconfig Gg[
               eth0  tr0 ɊĂ܂B)

               ȉ /var/adm/messages t@C̈ꕔłA
               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

               ǂӖ̃bZ[WȂ̂ł傤Bɂ͂܂ǂ
               ܂B

          A:

               ol: David Morris <dwm@shell.portal.com>

          ̃bZ[ẄӖ́AMMIO ̈̃Փ˂Ă邩Ah
          Coƌ̖݊ Token Ring J[hgpĂƂƂ
          B(ȂƂVOl`͊m̂̂ł͂܂)

          Q:

          ol: Mike Glover <glover@credit.erin.utoronto.ca>
          薼: Almost there...

          ȉ͎̂Ƃ messages t@C̓ełB

          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 longer
             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 longer
             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 Ŏn܂s telnet  rloginAftp Ń[g}Vɐڑ
          Ƃ݂̂ɕ\܂BxNƔɒԐڑ~܂
          ܂܂B̑SẴn[hEFA(SCSI J[h 1)O
          Token Ring J[hŎĂ݂܂BłB̌ʂA
          n[hEFA IRQ ]X̘_ɋyԂƂ͂ȂƎv܂B

          ȉɎ̂AJ[h DIP XCb`̐ݒłB

          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 XCb`̐ݒ肩A[ge[u₻̑̃lbg[N
          ݒ^Ă̂łB

          ł͂悤ȂA
          Mike

          A: Arrg Ɋւ 2.0 J[lłԂǂȂĂ܂B
             Â߂̑SẴpb` 1.2 ɔfĂ
             ł͂܂B̌͂̓_ɂ邱Ƃl܂B
             A܂ɂ Arrg bZ[Wł悤ł
             Linux 2.0 ɈڍsĂ݂Ă܂񂩁B

    8.  fBXgr[VŗL̃CXg[菇
    8.1.  Slackware 96

    ܂Ȃ̃VXe ``netconfig'' 𑖂点ƂȂ΁A܂
    点Ă݂ĉBāA(ۂɂ͖Ă) Ethernet J[h}V
    ɃZbgĂƂݒɂĂB

     /etc/rc.d/rc.inet1 XNvgҏWāAfoCX eth0 ƂȂ
    Ă镔 tr0 ɏ܂BȉɎ菇qׂ܂B

    L̂悤ȍsƎv܂B

         /sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask
  ${NETMASK}

  ̍sȉ̂悤ɕύX܂B

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

    8.2   RedHat 4.0 ȍ~

    RedHat fBXgr[V Linux ɂ́AX Window œ삷
    control panel Ƃ΂炵c[tĂ܂BgăW
    [foCX̐ݒsƂł܂BToken Ring A_v^ǉ
    ꍇARedHat 𕁒ʂɃCXg[ (J[lȂǂ̂܂) 
     Token Ring T|[g͂łɃW[ƂăRpCĂ
    ̂ŁAăRpC̕Kv͂܂B
    ̃R}hāA\mFĂ݂ĂB

         modprobe ibmtr

    AgpĂA_v^̏񂪕\ĂΓ삷\
    ܂B(̃A_v^T|[gĂ̂ł΂̘bł)

    ݒς̂ɈԊȒPȂ̂ control panel gƂłB܂ŏ
    kernel module control ̉ʂJAV Token Ring p̃lbg[N
    foCX[h܂B ibmtr hCou[gɎ[h
    悤ɂȂ͂łBꂩ network configuration JāAtr Ƃ
    VfoCXǉAIP AhX̐ݒs܂B

    Ƃ̓X^[gĂ΁ARedHat 4.0(ȏ)  Linux  Token
    Ring g悤ɂȂĂ͂łB

    ŒӂĂƂ܂Bɏ RedHat Ɋւ
    ̎菇́A܂ł̒ŎvׂȂ珑̂Ȃ̂ł (
    ۂɍƂȂ珑킯ł͂܂)B Ƃ܂̂A͎
    (RedHat fBXgr[V Linux) VXe̍\Ȃɂ
    Ă΂肢킯ł͂܂B킯ŁA͎̋̕L
    ɗĂ܂BAɂA̕ǂłƂŁA
    KvƂȂƂ͂肢Ǝv܂B

  [{ł̎ӎ: ̍̕쐬ɓẮALvȂ
    ǎ قAJF ̊FɊӂ܂B ]

