home *** CD-ROM | disk | FTP | other *** search
/ Caldera Network Desktop 1.0 / caldera-network-desktop-1.0.bin / doc / HOWTO / mini / Token-Ring < prev    next >
Text File  |  1995-07-09  |  18KB  |  427 lines

  1. Token-Ring HOWTO
  2. Mike Eckhoff (meckhoff@zaphod.wayne.esu1.k12.ne.us)
  3. 7/5/95 - Rev 3
  4. To make reading/printing of this document easier, be sure that your margins
  5. are set to ".3" and you are using a proportional font like Courier.
  6.  
  7. The Ethernet-HOWTO file mentions the Token Ring driver that is being worked
  8. on.  This howto is designed to help you install the kernel patch and also try
  9. to point out some things to look for.  I suggest that you at least browse
  10. through all of this document before attempting to install any part of the
  11. Token ing driver for Linux.
  12.  
  13. Special Thanks to Mark Swanson, Peter De Schrijver, David Morris and everyone 
  14.     else I may have missed who made this driver possible.
  15.  
  16. Also thanks to:
  17.  Larry Sanders (lsanders@iadfw.net) 
  18.  
  19.   ...who corrected me in a few places.
  20.  
  21. Copyright and other Jazz
  22. ------------------------
  23.  
  24.     We do not guarantee that this howto will be accurate for your system.
  25.     Several people have used it and had very good results in installing
  26.     Linux on a Token Ring network.
  27.  
  28.     USE THIS HOWTO AT YOUR OWN RISK!!! ... We are not responsible for 
  29.     any problems caused by using this howto.
  30.  
  31.     If you have any problems with the driver that are not talked about
  32.     in this howto, feel free to email me at...
  33.         meckhoff@zaphod.wayne.esu1.k12.ne.us
  34.  
  35.     This document is copyright (c) 1995 by Michael Eckhoff.  You may 
  36.     make copies of this document in whole or in part, in any medium 
  37.     physical or electronic, as long as the copyright notice is 
  38.     retained on all copies.  Commercial redistribution is allowed and
  39.     encouraged; however, please notify me so that I can make sure that
  40.     you have the most current information available.
  41.  
  42.  
  43.  
  44. INDEX
  45. -----
  46.  
  47.     I.    Hardware Requirements
  48.     II.    Software Needed
  49.     III.    Installation and Setup
  50.     IV.    NetTools Installation
  51.     V.    Known Problems
  52.     VI.    Questions
  53.  
  54.  
  55. ----
  56.  
  57. I.  HARDWARE REQUIREMENTS
  58.  
  59.        Make sure that you have a Token Ring card that is supported by this
  60.        driver.  Currently the only cards that are supported are those that
  61.        use the Tropic chipset.  
  62.        Cards that I personally know to work are:
  63.  
  64.           IBM Token Ring 16/4 adapter /A
  65.           IBM Token Ring adapter /A
  66.           IBM Token Ring adapter II (4 Megabit only)
  67.               IBM 16/4 ISA Token Ring card (16bit)
  68.               IBM 16/4 ISA Token Ring card (8bit)
  69.               3Com TokenLink Adapter (IBM and 3Com mode)
  70.           HyperRing Classic 16/4
  71.  
  72.     Please note that IBM makes a DMA/busmaster adapter for ISA with
  73.     the name:
  74.  
  75.           Token-Ring Network 16/4 Adapter II
  76.  
  77.     which will *NOT* work.  Do not confuse this card with the IBM
  78.     Token Ring adapter II (4mbit) which does.
  79.  
  80.       If you find another card that works please email me the brand and type 
  81.       of card so that I may add it to my list.  
  82.                             - meckhoff@zaphod.wayne.esu1.k12.ne.us.
  83.  
  84.  
  85. II. SOFTWARE NEEDED.
  86.  
  87.     NOTE:  The 1.3.x Linux kernels include the Token Ring driver.
  88.         If you are using this kernel, you can skip to the
  89.         NetTools section.
  90.     
  91.     This assumes you already have Linux up and running.
  92.  
  93.     Obtain the Token Ring patch from:
  94.              ftp://linux3.cc.kuleuven.ac.be/pub/Linux/TokenRing/
  95.  
  96.     It will have a filename like TokenRing.patch-1.2.0.gz.  If you are
  97.     not running at least kernel version 1.2.0, you probably should be.  I 
  98.     have tested this patch on kernels 1.2.0 - 1.2.10 without any problems.  
  99.     If you cannot upgrade your kernel to version 1.2.x, try installing 
  100.     this patch anyway.  If it works, great!  If not, there are some 
  101.     older versions of the patch on this site that you may want to try.
  102.     I have ran the kernel with other versions of the patch since 1.1.5?.
  103.  
  104.     Obtain the NetTools patches from:
  105.       ftp://linux3.cc.kuleuven.ac.be/pub/Linux/TokenRing/
  106.                         Nettools-1.1.95-TR.diff.gz
  107.  
  108.      Create a directory for the patches(such as /usr/src/patches) and place
  109.      the patches there.
  110.   
  111.        mkdir /usr/src/patches             central directory for patch storage
  112.        mkdir /usr/src/patches/token       place TokenRing patch here
  113.        mkdir /usr/src/patches/nettools    place Nettools patch here
  114.  
  115.  
  116.     Obtain the NetTools source from your normal Linux source provider,
  117.     or from:
  118.           ftp://tsx-11.mit.edu/pub/linux/packages/net/PROGRAMS/NetTools/
  119.           net-tools-1.2.0.tar.gz
  120.  
  121.  
  122. III.  INSTALLATION AND SETUP
  123.  
  124. 1.  Install the TokenRing card into the system and configure it for the settings
  125.     that you want to use.  It is a good idea to see if you can use the card
  126.     through DOS before trying to use it through Linux.  If it works in DOS,
  127.     chances are, it will work in Linux with the same settings.
  128.  
  129. 2.  Make a backup of your linux directory.  This is very important in case you 
  130.     need to totally remove the source of the patch from your kernel and go 
  131.     back to your original code.
  132.  
  133.       cd /usr/src
  134.       tar cvzhf linuxbak.tar.gz linux
  135.  
  136. 3.  Uncompress the TokenRing patch.
  137.  
  138.        cd /usr/src/patches/token
  139.        gzip -d TokenRing.patch-1.2.0.gz
  140.  
  141. 5.  Modify your kernel with the TokenRing patch.
  142.  
  143.       cd /usr/src/linux
  144.       patch -p1 < /usr/src/patches/token/TokenRing.patch-1.2.0
  145.                     -or-
  146.       patch -p1 < <directory-of-patchfile>/TokenRing.patch-1.2.0
  147.  
  148. 6.  Search your kernel for any rejects from the patch and make changes as 
  149.     necessary.
  150.  
  151.       find . -name \*.rej -print
  152.  
  153. 7.  Search your kernel for the orig files and remove them.
  154.  
  155.       find . -name \*.orig -print | xargs rm
  156.  
  157. 8.  Configure your kernel and remake.
  158.         NOTE:  Make sure your swap space is active if you have one.
  159.     cd /usr/src/linux
  160.     make config
  161.         (The patch should have added two lines to your config.in file for the 
  162.          following options)
  163.  
  164.            Token Ring support (CONFIG_TR) [y]
  165.  
  166.               (and further down the list...)
  167.  
  168.            IBM Tropic chipset based adaptor support (CONFIG_IBMTR) [y]
  169.  
  170.     make dep
  171.     make clean
  172.     make zImage
  173.  
  174. 9.  Setup LILO.
  175.     First rename your /vmlinuz kernel to vmlinuz.old then copy the kernel to
  176.     /vmlinuz
  177.       On my system this would consist of copying
  178.         /usr/src/linux/arch/i386/boot/zImage to /vmlinuz and editing
  179.         /etc/lilo.conf to boot that kernel.
  180.     Now from the prompt run 'lilo'.
  181.  
  182. 10. If you have not already ran 'netconfig' on your system, do so now.  Setup
  183.     your machine just as if it were on Ethernet.
  184.  
  185. 11. Edit your /etc/rc.d/rc.inet1 scripts to point to the tr0 device rather 
  186.     then the eth0 device.  
  187.  
  188.     You should have a line that looks like
  189.  
  190.       /sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}
  191.  
  192.     Change this line to read
  193.  
  194.       /sbin/ifconfig tr0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}
  195.  
  196. 12.  You should now be able to reboot your system and use the Token Ring
  197.      card in your computer.
  198.  
  199. IV.  NETTOOLS INSTALLATION
  200.  
  201.       The NetTools package contains a lot of the basic utils that you
  202.       will use to communicate with network devices.  This includes
  203.       programs like arp, rarp, route, ifconfig and netstat.  
  204.       Since these programs do not know about Token Ring by default, 
  205.       you will need to add the NetTools patch so these utilities can 
  206.       work more efficiently with the Token Ring driver.
  207.  
  208.     NOTICE:  The current version of NetTools is 1.2.0.  The patch for
  209.     1.1.95 seems to work just fine with this version.
  210.  
  211. 1.  Copy and Untar the NetTools source into your source directory.
  212.     NOTE:  The copy of net-tools-1.2.0.tar.gz that I used did untar
  213.      into the net directory under /usr/src/net directory.
  214.  
  215.       cp net-tools-1.2.0.tar.gz  /usr/src/net-tools-1.2.0.tar.gz
  216.       tar -zxvof net-tools-1.2.0.tar.gz 
  217.  
  218. 4.  Uncompress and install the patch file to net-tools.
  219.  
  220.       cd /usr/src/patches/nettools
  221.       gzip -d Nettools-1.1.95-TR.diff.gz
  222.       cd /usr/src/net
  223.       patch -p1 < /usr/src/patches/nettools/Nettools-1.1.95-TR.diff
  224.  
  225. 5.  Make the net-tools files.
  226.  
  227.       make install
  228.  
  229. V.  KNOWN PROBLEMS
  230.  
  231.     I personally have had very few problems with this driver.  It has
  232.     been working perfectly for me for quite some time. 
  233.  
  234.     One of the main problems with this driver, according to Peter De
  235.     Schrijver is Source Routing.
  236.  
  237. ~From: Peter de Schrijver <Peter.DeSchrijver@linux.cc.kuleuven.ac.be>
  238.  
  239. Main source of problems is source routing. If you can't ping a node which is
  240. on the other side of the bridge, you have a problem with source routing. 
  241. Contact me if you encounter this and I will try to do what I can. I don't 
  242. have access to a bridged ring myself however, so It might be difficult to 
  243. solve the problem.
  244.  
  245. Peter. 
  246.  
  247.     Our network here at Wayne Community Schools is two token rings and
  248.     one ethernet segment bridged with IBM 8229 bridges.  I have had
  249.     no problems with source routing and this driver with these bridges.
  250.  
  251.     I have also tested this driver on a network made up of 7 rings bridged
  252.     with a combination of IBM 8229 bridges and IBM PC Bridges with IBM's
  253.     bridge software.  No problems there either.
  254.  
  255. VI.  Questions
  256.  
  257.     Here are some email messages that I have received about Token
  258.     Ring and Linux.  In some of the messages, I have removed parts
  259.     that were not important to save space.
  260. ----
  261.  
  262. ~From: "Mr. Chuck Rickard" <chuck@gl.umbc.edu>
  263. ~Subject: Re: Token Ring Kernel patch
  264.  
  265. I d/l'd the patch, applied it, and re-compiled.  When booting it said,
  266. "tr0: Can't assign device to adapter" and again for tr1.  Any ideas?
  267.  
  268. Thanks!
  269.  
  270. Chuck Rickard
  271. (chuck@umbc8.umbc.edu)
  272.  
  273. ~From: David Morris <dwm@shell.portal.com>
  274.  
  275. A:  When this is the only message issued, it means that the PIO request for
  276.     adapter information (see segment = inb(PIOaddr) in ibmtr.c) was so out
  277.     of range that there is no TR card at that IO address.
  278.  
  279. ----
  280.  
  281. ~From: Mike Glover <glover@credit.erin.utoronto.ca>
  282. ~ubject: Token ring problems.
  283.  
  284. Thanks for responding. I was starting to thing that I posted incorrectly, 
  285. and I was about to post again. Anyway, the following  clip is part of my
  286. /var/adm/messages file from when I boot up.
  287.  
  288. May  2 10:03:14 linux kernel: Detected scsi CD-ROM sr0 at scsi0, id 3, lun 0
  289. May  2 10:03:14 linux kernel: scsi : detected 1 SCSI cdrom 1 SCSI disk total.
  290. May  2 10:03:14 linux kernel: SCSI Hardware sector size is 512 bytes on device sda
  291. May  2 10:03:14 linux kernel: Memory: 31204k/32768k available (732k kernel code, 384k reserved, 448k data)
  292. May  2 10:03:14 linux kernel: This processor honours the WP bit even when in supervisor mode. Good.
  293. May  2 10:03:14 linux kernel: Swansea University Computer Society NET3.019
  294. May  2 10:03:14 linux kernel: Swansea University Computer Society TCP/IP for NET3.019
  295. May  2 10:03:14 linux kernel: IP Protocols: ICMP, UDP, TCP
  296. May  2 10:03:14 linux kernel: Swansea University Computer Society IPX 0.29 BETA for NET3.019
  297. May  2 10:03:14 linux kernel: IPX Portions Copyright (c) 1995 Caldera, Inc.
  298. May  2 10:03:14 linux kernel: tr0: Unable to assign adapter to device.
  299. May  2 10:03:14 linux kernel: tr1: Unable to assign adapter to device.
  300. May  2 10:03:14 linux kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS
  301. May  2 10:03:14 linux kernel: TCP compression code copyright 1989 Regents of the University of California
  302. May  2 10:03:14 linux kernel: PPP line discipline registered.
  303. May  2 10:03:14 linux kernel: Checking 386/387 coupling... Hmm, FDIV bug i586 system
  304. May  2 10:03:14 linux kernel: Checking 'hlt' instruction... Ok.
  305. May  2 10:03:14 linux kernel: Linux version 1.2.1 (root@linux) (gcc version 2.6.3) #4 Wed Apr 26 16:43:21 EDT 1995
  306.  
  307. The section, tr0: Unable to assign adapter device. is what kinda confuses 
  308. me. The documentation is slim at best so I didn't know what to do with 
  309. the message. I know I didn't assign any token ring information, and I 
  310. didn't know where to do it.
  311.  
  312. The hardware:
  313.     Its a PC clone (Dell OMNIPLEX 560 to be exact)
  314.     The token ring card is a Olicom 16/4 Adapter.
  315.  
  316. I have DOS token ring drivers and it snaps into the network, so there is 
  317. nothing wrong with the card. I think, I am just missing something really 
  318. small in the config on the Linux side.
  319.  
  320. A:  The Olicom 16/4 Adapter must not use the Tropic Chipset.  Try using
  321.     one of the cards that are listed at the top of the HOWTO.
  322.  
  323. -----
  324.  
  325. ~From: Mike Glover <glover@credit.erin.utoronto.ca>
  326. ~Subject: Found an IBM card...
  327.  
  328. I found myself an IBM token ring card and I got a little further, but 
  329. still not luck. (I did change /etc/rc.d/rc.inet1 ifconfig entry from eth0 
  330. to tr0)
  331.  
  332. Anyway, here is part of the /var/adm/messages file:
  333. May  2 16:23:07 linux kernel: IPX Portions Copyright (c) 1995 Caldera, Inc.
  334. May  2 16:23:07 linux kernel: tr0: PIOaddr:  a20 seg/intr: b8 mmio base: 000dc000 intr: 0
  335. May  2 16:23:07 linux kernel: tr0: Channel ID string not found for PIOaddr:  a20
  336. May  2 16:23:07 linux kernel: tr0: Expected for ISA: 5049434f3631313039393020
  337. May  2 16:23:07 linux kernel: tr0:            found: 000902003021111000182000
  338. May  2 16:23:07 linux kernel: tr0: Expected for MCA: 4d4152533633583435313820
  339. May  2 16:23:07 linux kernel: tr0: Unable to assign adapter to device.
  340. May  2 16:23:07 linux kernel: tr1: Unable to assign adapter to device.
  341. May  2 16:23:07 linux kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS
  342.  
  343.  
  344. Does this tell you anything. I tells me little.
  345.  
  346. ~From: David Morris <dwm@shell.portal.com>
  347.  
  348. A:  This message means either a memory conflict with the MMIO area or a TR
  349.     card which is not compatible with the driver (at least the signature
  350.     isn't known).
  351.  
  352. -----
  353.  
  354. ~From: Mike Glover <glover@credit.erin.utoronto.ca>
  355. ~Subject: Almost there...
  356.  
  357. The following sample is what I'm getting on my messages file:
  358.  
  359. May  3 14:50:24 linux kernel: IPX Portions Copyright (c) 1995 Caldera, Inc.
  360. May  3 14:50:24 linux kernel: tr0: PIOaddr:  a20 seg/intr: b1 mmio base: 000d8000 intr: 1
  361. May  3 14:50:24 linux kernel: tr0: ti->global_int_enable: 02F3
  362. May  3 14:50:24 linux kernel: tr0: irq=3.
  363. May  3 14:50:24 linux kernel: tr0: hw address: 10005A787197
  364. May  3 14:50:24 linux kernel: tr0: atype=e, drate=d, trel=d, asram=63K, srp=e, dhb(4mb=d, 16mb=b)
  365. May  3 14:50:24 linux kernel: tr0: shared ram page size: 32K
  366. May  3 14:50:24 linux kernel: tr0: Using 32K shared RAM
  367. May  3 14:50:24 linux kernel: tr0: ibmtr.c:v1.1.48 8/7/94 Peter De Schrijver and Mark Swanson
  368. May  3 14:50:24 linux kernel:            modified 10/3/94 David W. Morris
  369. May  3 14:50:24 linux kernel: tr0: resetting card
  370. May  3 14:50:24 linux kernel: tr0: card reset
  371. May  3 14:50:24 linux kernel: tr1: Unable to assign adapter to device.
  372. May  3 14:50:24 linux kernel: PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS
  373. May  3 14:50:24 linux kernel: TCP compression code copyright 1989 Regents of the University of California
  374. May  3 14:50:24 linux kernel: PPP line discipline registered.
  375. May  3 14:50:24 linux kernel: Checking 386/387 coupling... Hmm, FDIV bug i586 system
  376. May  3 14:50:24 linux kernel: Checking 'hlt' instruction... Ok.
  377. May  3 14:50:24 linux kernel: Linux version 1.2.1 (root@linux) (gcc version 2.6.3) #4 Wed Apr 26 16:43:21 EDT 1995
  378. May  3 14:50:24 linux kernel: Partition check:
  379. May  3 14:50:24 linux kernel:   sda: sda1
  380. May  3 14:50:24 linux kernel:   hda: hda1 hda2 < > hda3 hda4
  381. May  3 14:50:24 linux kernel: VFS: Mounted root (ext2 filesystem) readonly.
  382. May  3 14:50:24 linux kernel: tr0: Initial tok int received
  383. May  3 14:50:24 linux kernel: tr0: init_srb(000d7fc4):80 03 00 00 00 0<6>
  384. May  3 14:50:24 linux kernel: tr0: srb_init_response->encoded_address: CC02
  385. May  3 14:50:24 linux kernel: tr0: ntohs(srb_init_response->encoded_address): 02CC
  386. May  3 14:50:24 linux kernel: tr0: encoded addr (CC02,02CC,000d02cc): 10:00:5A:78:71:97
  387. May  3 14:50:24 linux kernel: tr0: now opening the board...
  388. May  3 14:50:24 linux kernel: tr0: board opened...
  389. May  3 14:51:41 linux sendmail[51]: starting daemon (8.6.11): SMTP+queueing@00:15:00
  390. May  3 14:52:09 linux login: ROOT LOGIN ON tty6
  391. May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec. Donald resets adapter, but resetting
  392. May  3 15:11:47 linux kernel:  the IBM tokenring adapter takes a long time. It might not even help when the
  393. May  3 15:11:47 linux kernel:  ring is very busy, so we just wait a little longer and hope for the best.
  394. May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec. Donald resets adapter, but resetting
  395. May  3 15:11:47 linux kernel:  the IBM tokenring adapter takes a long time. It might not even help when the
  396. May  3 15:11:47 linux kernel:  ring is very busy, so we just wait a little longer and hope for the best.
  397. May  3 15:11:47 linux kernel: tr0: Arrg. Transmitter busy for more than 50 msec. Donald resets adapter, but resetting
  398.  
  399. The Arrg entry only comes when I telnet, rlogin or ftp to a remote 
  400. machine. Once that happens, the connection hangs big time. I took out all 
  401. the other hardware (which was 1 SCSI card) and tried running the card all 
  402. by itself. Same thing, so it eliminates hardware IRQ's from getting into 
  403. a yelling match. The following are the DIP switches on the card:
  404.  
  405.     1    Up    |
  406.     2    Down    |
  407.     3    Down    |    According to the manual this sets the 
  408.     4    Up    |    base address to CC000 Which is fine for
  409.     5    Up    |    my machine.
  410.     6    Down    |
  411.     7    Down    +    This sets the IRQ to 2. Which is also fine    
  412.     8    Down    +
  413.     9    Up    X    Primary Lan adapter. Which it is.
  414.     10    Up    =    16 KB shared RAM size. This OK?    
  415.     11    Down    =
  416.     12    Up    #    16 Mbps Data rate.
  417.  
  418. I was wondering if it is in fact the dip switches, or the way I have 
  419. configured my route table and other network info.
  420.  
  421. ttfn,
  422.     Mike
  423.  
  424. A:  The solution to this problem is currently being worked on by other folks.
  425.     I will update this answer when a solution is found.
  426.  
  427.