home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / mini / Token-Ring < prev    next >
Text File  |  1998-05-08  |  19KB  |  661 lines

  1.   Token-Ring mini-HOWTO
  2.   Mike Eckhoff, mike.e@emissary.aus-etc.com
  3.   v4.1, 7 January 1998
  4.  
  5.   This howto is designed to help you install the kernel patch and also
  6.   try to point out some things to look for. I suggest that you at least
  7.   browse through all of this document before attempting to install any
  8.   part of the Token Ring driver for Linux.
  9.   ______________________________________________________________________
  10.  
  11.   Table of Contents
  12.  
  13.  
  14.   1. Copyright and other Jazz
  15.  
  16.   2. Hardware requirements
  17.  
  18.   3. Software needed
  19.  
  20.   4. Installation and setup
  21.  
  22.   5. NetTools installation
  23.  
  24.   6. Known problems
  25.  
  26.   7. Questions and comments
  27.  
  28.   8. Distribution Specific Installations
  29.  
  30.      8.1 Slackware 96
  31.      8.2 RedHat 4.0+
  32.  
  33.  
  34.   ______________________________________________________________________
  35.  
  36.  
  37.      Special Thanks
  38.         to Mark Swanson, Peter De Schrijver, David Morris, Paul Norton
  39.         and everyone else I may have missed who put in their time to
  40.         write and maintain this driver.  Also to packrat for his support
  41.         of the linux-tr listserv.
  42.  
  43.  
  44.   1.  Copyright and other Jazz
  45.  
  46.   We do not guarantee that this howto will be accurate for your system.
  47.   Most people who have used it have had very good results in installing
  48.   Linux on a Token Ring network.
  49.  
  50.   USE THIS HOWTO AT YOUR OWN RISK!!!  ...  We are not responsible for
  51.   any problems caused by using this howto.
  52.  
  53.   If you have any problems with the driver that are not talked about in
  54.   this howto, feel free to email me at...
  55.  
  56.        mike.e@emissary.aus-etc.com
  57.  
  58.  
  59.   You may also wish to join the Linux on Token Ring Listserv by mailing
  60.   majordomo@emissary.aus-etc.com with the body containing:
  61.  
  62.  
  63.        subscribe linux-tr
  64.  
  65.  
  66.  
  67.   This document is copyright (c) 1995-1998 by Michael Eckhoff.  You may
  68.   make copies of this document in whole or in part, in any medium
  69.   physical or electronic, as long as the copyright notice is retained on
  70.   all copies.  Commercial redistribution is allowed and encouraged;
  71.   however, please notify me so that I can make sure that you have the
  72.   most current information available.
  73.  
  74.   2.  Hardware requirements
  75.  
  76.   Make sure that you have a Token Ring card that is supported by this
  77.   driver.  Currently the only cards that are supported are those that
  78.   use the Tropic chipset.
  79.  
  80.   Cards that I personally know to work are:
  81.  
  82.   ╖  3Com 3C619B Token Link
  83.  
  84.   ╖  3Com 3C619C Token Link
  85.  
  86.   ╖  HyperRing Classic 16/4
  87.  
  88.   ╖  IBM Turbo 16/4 ISA adapter**
  89.  
  90.   ╖  IBM Token Ring Auto 16/4 ISA adapter
  91.  
  92.   ╖  IBM Token Ring Auto 16/4 adapter /A
  93.  
  94.   ╖  IBM Token Ring 16/4 adapter /A
  95.  
  96.   ╖  IBM Token Ring adapter /A
  97.  
  98.   ╖  IBM Token Ring adapter II (4 Megabit only)
  99.  
  100.   ╖  IBM 16/4 ISA Token Ring card (16bit)
  101.  
  102.   ╖  IBM 16/4 ISA Token Ring card (8bit)
  103.  
  104.   ╖  Madge Blue (100% IBM compatable)
  105.  
  106.      All other 100% IBM compatable shared-ram adapters should also work
  107.      fine.  Please let us know if you find differently.
  108.  
  109.   It is recommended that you use 16KB Shared RAM for the time being.
  110.  
  111.   Cards that may cause problems:
  112.  
  113.      IBM Turbo 16/4 ISA adapter
  114.         This adapter will, in fact, work fine with the Linux token ring
  115.         driver.  However, you MUST run the card in Auto 16/4
  116.         compatability mode.  The simplest way to set this is to use the
  117.         LANAID disks sent with the card and run the command:
  118.  
  119.  
  120.           LANAIDC /FAST=AUTO16
  121.  
  122.  
  123.  
  124.  
  125.  
  126.      You should then use LANAIDC or LANAID to configure the card accord¡
  127.      ing to documentation.
  128.  
  129.  
  130.      Token-Ring Network 16/4 Adapter II
  131.         This adapter will NOT work.  Do not confuse this card with the
  132.         IBM Token Ring adapter II (4mbit) which does. It is a
  133.         DMA/Busmaster adapter for ISA.
  134.  
  135.  
  136.      3Com TokenLink Velocity ISA
  137.         You may or may not get this one to work.  I have had reports of
  138.         people running it without problems, and others who get errors
  139.         left and right.
  140.  
  141.  
  142.      PCI adapters
  143.         Currently, none of the IBM PCI adapters are supported.
  144.  
  145.  
  146.      IBM Auto LanStreamer 16/4 Token-Ring PCI Adapter
  147.         Currently not supported, but being worked on.  This driver
  148.         should be Full Duplex as well when completed.
  149.  
  150.   3.  Software needed
  151.  
  152.  
  153.      NOTE:
  154.         If you are running a 2.0 distribution of Linux, please jump to
  155.         the distriubtion specific section of this document.  The
  156.         following is mostly for 1.2 kernels.
  157.  
  158.   This assumes you already have Linux up and running.
  159.  
  160.   Obtain the Token Ring patch from:
  161.  
  162.        <ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/Token¡
  163.        Ring.patch-1.2.0.gz>
  164.  
  165.  
  166.   Obtain the NetTools patched source from:
  167.  
  168.        <ftp://ftp.wayne.esu1.k12.ne.us/pub/Linux/Token-Ring/net-
  169.        tools-1.2.0.patched.tar.gz>
  170.  
  171.  
  172.   Create a directory for the patches (such as /usr/src/patches) and
  173.   place the patches there.
  174.  
  175.  
  176.        mkdir /usr/src/patches             central directory for patch storage
  177.        mkdir /usr/src/patches/token       place TokenRing patch here
  178.  
  179.  
  180.  
  181.  
  182.   4.  Installation and setup
  183.  
  184.  
  185.      NOTE:
  186.         These instructions are for patching a 1.2 kernel for token ring
  187.         support.  If you have a 2.0 kernel, you only need to recompile
  188.         the current source and say ``yes'' or ``module'' when asked for
  189.         token ring support.
  190.  
  191.  
  192.   1. Install the Token Ring card into the system and configure it for
  193.      the settings that you want to use.  It is a good idea to see if you
  194.      can use the card through DOS before trying to use it through Linux.
  195.      If it works in DOS, chances are, it will work in Linux with the
  196.      same settings. If you have a Plug and Play adapter, if possible,
  197.      lock the settings once you get them where they work.
  198.  
  199.   2. Make a backup of your linux directory.  This is very important in
  200.      case you need to totally remove the source of the patch from your
  201.      kernel and go back to your original code.
  202.  
  203.  
  204.        cd /usr/src
  205.        tar cvzhf linuxbak.tar.gz linux
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.   3. Uncompress the TokenRing patch.
  213.  
  214.  
  215.        cd /usr/src/patches/token
  216.        gzip -d TokenRing.patch-1.2.0.gz
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.   4. Modify your kernel with the TokenRing patch.
  224.  
  225.  
  226.        cd /usr/src/linux
  227.        patch -p1 < /usr/src/patches/token/TokenRing.patch-1.2.0
  228.  
  229.  
  230.  
  231.  
  232.  
  233.   -or-
  234.  
  235.  
  236.        patch -p1 < <directory-of-patchfile>/TokenRing.patch-1.2.0
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.   5. Search your kernel for any rejects from the patch and make changes
  244.      as necessary.
  245.  
  246.  
  247.        find . -name \*.rej -print
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.   6. Search your kernel for the orig files and remove them.
  255.  
  256.  
  257.        find . -name \*.orig -print | xargs rm
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.   7. Configure your kernel and remake.
  266.  
  267.      NOTE:
  268.         Make sure your swap space is active if you have one.
  269.  
  270.  
  271.  
  272.        cd /usr/src/linux
  273.        make config
  274.  
  275.  
  276.  
  277.  
  278.  
  279.   (The patch should have added two lines to your config.in file for the
  280.   following options)
  281.  
  282.  
  283.        Token Ring support (CONFIG_TR) [y]
  284.  
  285.  
  286.  
  287.  
  288.  
  289.   (and further down the list...)
  290.  
  291.  
  292.        IBM Tropic chipset based adaptor support (CONFIG_IBMTR) [y]
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.        make dep
  301.        make clean
  302.        make zImage
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.   8. Setup LILO.
  310.  
  311.      First rename your /vmlinuz kernel to vmlinuz.old then copy the
  312.      kernel to /vmlinuz.  On my system this would consist of copying
  313.  
  314.        /usr/src/linux/arch/i386/boot/zImage to /vmlinuz and editing
  315.        /etc/lilo.conf to boot that kernel.
  316.  
  317.  
  318.   Now from the prompt run ``lilo''.
  319.  
  320.   9. You should now be able to reboot your system and use the Token Ring
  321.      card in your computer.  Please check the distribution specifc
  322.      section for any extra configuration information.
  323.  
  324.   5.  NetTools installation
  325.  
  326.   The NetTools package contains a lot of the basic utils that you will
  327.   use to communicate with network devices.  This includes programs like
  328.   arp, rarp, route, ifconfig and netstat.  Since these programs do not
  329.   know about Token Ring by default, you will need to add the NetTools
  330.   patch so these utilities can work more efficiently with the Token Ring
  331.   driver.
  332.  
  333.      NOTICE:
  334.         The current version of NetTools for 1.2.x kernels is 1.2.0.  If
  335.         you are running a 2.0 kernel, your nettools is most likely
  336.         already up to date.  However, you can get the latest source
  337.         from:
  338.  
  339.           <ftp://tapac.inka.de/pub/comp/Linux/networking/NetTools/>
  340.  
  341.  
  342.  
  343.   1. (1) Copy and Untar the NetTools source into your source directory.
  344.  
  345.  
  346.        cp net-tools-1.2.0.patched.tar.gz  /usr/src
  347.        tar -zxvof /usr/src/net-tools-1.2.0.tar.gz
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.   2. (5) Make the net-tools files.
  355.  
  356.  
  357.        cd /usr/src/net
  358.        make install
  359.  
  360.  
  361.  
  362.  
  363.  
  364.   6.  Known problems
  365.  
  366.   I personally have had very few problems with this driver.  It has been
  367.   working perfectly for me for quite some time.
  368.  
  369.   If you have any problems with the driver on a 1.2.x kernel, please
  370.   update to Linux 2.0.  The current version, as of this writing, is
  371.   2.0.33.  There have been many improvements to the token ring driver
  372.   since the 1.2 patches and most of them have not been ported back.
  373.  
  374.   Also, you will not have to patch a Linux 2.0 kernel for token ring.
  375.   The source is already included.  However, there are some test patches
  376.   of the code going into 2.1 available if you would like to use it.
  377.  
  378.   7.  Questions and comments
  379.  
  380.  
  381.      Q: Can the token ring driver be compiled as a module?
  382.  
  383.      A: Yes, it can be -- and it works rather well.  There is an extra
  384.         parameter that you can use when it is compiled as a module.  If
  385.         you ever need to ``spoof'' software install programs, such as
  386.         the redhat boot disks, into configuring your token ring card as
  387.         an ethernet device (for NFS/FTP installs, etc), you can use the
  388.         ``device'' parameter to force a device name other then tr0.  You
  389.         will probably have problems if you try this with multiple
  390.         adapters.  It is mostly there to get around a few
  391.         incompatabiliites. Ex.:
  392.  
  393.  
  394.           /sbin/insmod ibmtr device=eth0
  395.  
  396.  
  397.      Q: I keep getting an error code ``0011''.  Whats up?
  398.  
  399.      A: Make sure that your connection to the network is good or that
  400.         you have a loopback connector on your token ring card.  This
  401.         message just means that it could not open the ring.  99.99% of
  402.         the times, it is just not plugged into one.
  403.  
  404.  
  405.      C: If you have a sound card in your machine, and it sits at IO
  406.         0x220, you may end up with a conflict with your token ring
  407.         adapter at 0xa20.  If you notice that a supported adapter does
  408.         not seem to be working and you have a sound card, please try to
  409.         either set your token ring card to 0xa24 or move/remove your
  410.         sound card.
  411.  
  412.         Also...
  413.  
  414.         Here are some email messages that I have received about Token
  415.         Ring and Linux.  In some of the messages, I have removed parts
  416.         that were not important to save space.
  417.  
  418.         Q:
  419.  
  420.  
  421.              From: "Mr. Chuck Rickard" <chuck@gl.umbc.edu>
  422.              Subject: Re: Token Ring Kernel patch
  423.  
  424.              I d/l'd the patch, applied it, and re-compiled. When booting it said,
  425.              "tr0: Can't assign device to adapter" and again for tr1.  Any ideas?
  426.  
  427.              Thanks!
  428.  
  429.              Chuck Rickard
  430.              (chuck@umbc8.umbc.edu)
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.         A:
  438.  
  439.  
  440.              From: David Morris <dwm@shell.portal.com>
  441.  
  442.  
  443.  
  444.  
  445.  
  446.         When this is the only message issued, it means that the PIO
  447.         request for adapter information (see segment = inb(PIOaddr) in
  448.         ibmtr.c) was so out of range that there is no TR card at that IO
  449.         address.
  450.  
  451.  
  452.         Q:
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.         From: Mike Glover <glover@credit.erin.utoronto.ca>
  464.         Subject: Token ring problems.
  465.  
  466.         Thanks for responding. I was starting to thing that I posted incorrectly,
  467.         and I was about to post again. Anyway, the following  clip is part of my
  468.         /var/adm/messages file from when I boot up.
  469.  
  470.         May  2 10:03:14 linux kernel: tr0: Unable to assign adapter to device.
  471.         May  2 10:03:14 linux kernel: tr1: Unable to assign adapter to device.
  472.  
  473.         The section, tr0: Unable to assign adapter device. is what kinda confuses
  474.         me. The documentation is slim at best so I didn't know what to do with
  475.         the message. I know I didn't assign any token ring information,
  476.         and I didn't know where to do it.
  477.  
  478.         The hardware:
  479.                     Its a PC clone (Dell OMNIPLEX 560 to be exact)
  480.                     The token ring card is a Olicom 16/4 Adapter.
  481.  
  482.         I have DOS token ring drivers and it snaps into the network, so there is
  483.         nothing wrong with the card. I think, I am just missing something really
  484.         small in the config on the Linux side.
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.         A: The Olicom 16/4 Adapter does not use the Tropic Chipset.  Try
  492.            using one of the cards that are listed at the top of the
  493.            HOWTO.
  494.  
  495.  
  496.         Q:
  497.  
  498.  
  499.              From: Mike Glover <glover@credit.erin.utoronto.ca>
  500.              Subject: Found an IBM card...
  501.  
  502.              I found myself an IBM token ring card and I got a little further,
  503.              but still not luck. (I did change /etc/rc.d/rc.inet1 ifconfig entry
  504.              from eth0 to tr0)
  505.  
  506.              Anyway, here is part of the /var/adm/messages file:
  507.              May  2 16:23:07 linux kernel: IPX Portions Copyright (c) 1995 Caldera, Inc.
  508.              May  2 16:23:07 linux kernel: tr0: PIOaddr:  a20 seg/intr: b8 mmio base:
  509.                 000dc000 intr: 0
  510.              May  2 16:23:07 linux kernel: tr0: Channel ID string not found for PIOaddr: a20
  511.              May  2 16:23:07 linux kernel: tr0: Expected for ISA: 5049434f3631313039393020
  512.              May  2 16:23:07 linux kernel: tr0:            found: 000902003021111000182000
  513.              May  2 16:23:07 linux kernel: tr0: Expected for MCA: 4d4152533633583435313820
  514.              May  2 16:23:07 linux kernel: tr0: Unable to assign adapter to device.
  515.              May  2 16:23:07 linux kernel: tr1: Unable to assign adapter to device.
  516.              May  2 16:23:07 linux kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS
  517.                 OPTIMIZE_FLAGS
  518.  
  519.  
  520.              Does this tell you anything. It tells me little.
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.         A:
  528.  
  529.         From: David Morris <dwm@shell.portal.com>
  530.  
  531.  
  532.  
  533.  
  534.  
  535.         This message means either a memory conflict with the MMIO area
  536.         or a TR card which is not compatible with the driver (at least
  537.         the signature isn't known).
  538.  
  539.  
  540.         Q:
  541.  
  542.  
  543.              From: Mike Glover <glover@credit.erin.utoronto.ca>
  544.              Subject: Almost there...
  545.  
  546.              The following sample is what I'm getting on my messages file:
  547.  
  548.              May  3 14:50:24 linux kernel: tr0: now opening the board...
  549.              May  3 14:50:24 linux kernel: tr0: board opened...
  550.              May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec.
  551.                 Donald resets adapter, but resetting
  552.              May  3 15:11:47 linux kernel:  the IBM tokenring adapter takes a long time.
  553.                 It might not even help when the
  554.              May  3 15:11:47 linux kernel:  ring is very busy, so we just wait a little longer
  555.                 and hope for the best.
  556.              May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec.
  557.                 Donald resets adapter, but resetting
  558.              May  3 15:11:47 linux kernel:  the IBM tokenring adapter takes a long time.
  559.                 It might not even help when the
  560.              May  3 15:11:47 linux kernel:  ring is very busy, so we just wait a little longer
  561.                 and hope for the best.
  562.              May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec.
  563.                 Donald resets adapter, but resetting
  564.  
  565.              The Arrg entry only comes when I telnet, rlogin or ftp to a remote
  566.              machine. Once that happens, the connection hangs big time. I took out all
  567.              the other hardware (which was 1 SCSI card) and tried running the card all
  568.              by itself. Same thing, so it eliminates hardware IRQ's from getting into
  569.              a yelling match. The following are the DIP switches on the card:
  570.  
  571.              1       Up      |
  572.              2       Down    |
  573.              3       Down    |       According to the manual this sets the
  574.              4       Up      |       base address to CC000 Which is fine for
  575.              5       Up      |       my machine.
  576.              6       Down    |
  577.              7       Down    +       This sets the IRQ to 2. Which is also fine
  578.              8       Down    +
  579.              9       Up      X       Primary Lan adapter. Which it is.
  580.              10      Up      =       16 KB shared RAM size. This OK?
  581.              11      Down    =
  582.              12      Up      #       16 Mbps Data rate.
  583.  
  584.              I was wondering if it is in fact the dip switches, or the way I have
  585.              configured my route table and other network info.
  586.  
  587.              ttfn,
  588.              Mike
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.         A: The Arrg problem is pretty much taken care of in the 2.0
  596.            kernels.  All of the patches have not been ported back to
  597.            1.2, and I doubt that they will be.  If you get excessive
  598.            Arrg messages, do yourself a favour and move to Linux 2.0.
  599.  
  600.   8.  Distribution Specific Installations
  601.  
  602.   8.1.  Slackware 96
  603.  
  604.   If you have not already ran ``netconfig'' on your system, do so now.
  605.   Setup your machine just as if it were on Ethernet.
  606.  
  607.   Edit your /etc/rc.d/rc.inet1 scripts to point to the tr0 device rather
  608.   than the eth0 device.
  609.  
  610.   You should have a line that looks like
  611.  
  612.  
  613.        /sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}
  614.  
  615.  
  616.  
  617.  
  618.   Change this line to read
  619.  
  620.  
  621.        /sbin/ifconfig tr0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}
  622.  
  623.  
  624.  
  625.  
  626.   8.2.  RedHat 4.0+
  627.  
  628.   The RedHat distribution of Linux has a wonderful Xwindows control
  629.   panel for configuring modules and devices. If you have added a token
  630.   ring adapter to a standard RedHat installation, there should already
  631.   be token ring support compiled in as a module.  Try to:
  632.  
  633.  
  634.        modprobe ibmtr
  635.  
  636.  
  637.  
  638.  
  639.   and see what you come up with.  Chances are, if you have a supported
  640.   adapter, you will be ready to go.
  641.  
  642.   The easiest way to configure your interface would be to use the
  643.   control-panel.  You will first want to go to the kernel module control
  644.   and instruct it to load a new network device for token ring.  It
  645.   should then start to autoload the ibmtr driver on boot.  You will then
  646.   want to jump over to network configuration and add a new device, tr,
  647.   and give it an ip address, etc.
  648.  
  649.   You should then be able to restart and go with Linux and Token Ring on
  650.   RedHat 4.0+.
  651.  
  652.   Please note that these RedHat instructions came from the top of my
  653.   head.  I havn't had to modify any of my RedHat systems for quite some
  654.   time and am writing this from memory.  Either way, they should be able
  655.   to get you where you need to go.
  656.  
  657.  
  658.  
  659.  
  660.  
  661.