Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Linux Software

Linux Token Ring Support Bringing Down Corporate Nets? 354

mjh asks: "I've been running Debian GNU/Linux on my company supplied laptop for 3 months now. I got permission from my manager to run it on the network, but I did not go through the somewhat rigorous process of getting the software certified. I have legitimate business reasons for using it on the corporate network (which is why my manager approved it). I even managed to get Lotus Notes to run under wine so I never had to boot into Winders at all (unless someone sent me a PPT doc). I was pretty happy...until I brought the entire network down." Anyone else running Linux on a Token Ring network who would care to talk about their own experiences?

"My company runs Token Ring at the office (puke!) I got drivers from the card manufacturer (Madge), and I'd been happily churning along. Then last week, we started seeing a bunch of errors on the network. These errors would bring everyone on the ring down. After a week of this kinda stuff, they eventually isolated it to me.

Reboot the laptop into Windows and the network card works just fine and they don't see any ring errors. Reboot into linux, and suddenly they start seeing ring errors. I don't really grok token ring, so I'm not entirely certain that I know exactly what the problem is. But, whenever I brought the token ring on line under linux, they saw ring errors, which eventually (as I understand it) would bring down the entire ring. Switch cards (same model) and it continues to happen. It looked to me (and the network analysts) that the Linux driver was causing the problem.

I tried switching to an IBM token ring card, but there's a bug and I hadn't patched for this. The people with the fluke would not wait around while I tried to figure this out. I didn't have any other token ring cards that I could try.

In the end, I agreed not to boot into Linux unless I went into the conference room (which is one of the only rooms in the building with ethernet ports). How should I have done this differently so that using Linux would have been a more positive experience for my company?"

This discussion has been archived. No new comments can be posted.

Linux Token Ring Support Bringing Down Corporate Nets?

Comments Filter:
  • With the number of developers on linux, it amazes me that this wasn't caught.
    • Too many cooks.. not enough real stability.

      Linux just isn't tested enough before its branded "stable". How many people have had VM failures in linux or at least really bad performance of swapping. I have heard several horror stories.

      • The kernel module for Alta Sundance 100 meg cards drops any packets it receives that are > ~1500 bytes.

        I'm pretty sure it isn't user error; and it's happened on several different machines I've tried it on.

        I can do a ping -s 1465 (The number is something like that, but that's not exact), and it'll work fine... increase it to ping -s 1466, and no replies come back.
        • The kernel module for Alta Sundance 100 meg cards drops any packets it receives that are > ~1500 bytes.
          I'm pretty sure it isn't user error; and it's happened on several different machines I've tried it on.
          I can do a ping -s 1465 (The number is something like that, but that's not exact), and it'll work fine... increase it to ping -s 1466, and no replies come back.


          You need to read up on MTUs. Ethernet has a *fixed* maximum frame size, due to latency messing with collision detection. That's what you're hitting.
          • Hmm. It doesn't happen on any other network card I've tried it on.

            In any case, someone else decided we were going to use Sundance cards in our servers here.

            I downed all the servers, and put them in. The netware machines came up fine, but all of a sudden we had no internet connection and no incoming/outgoing email. I put the old cards back in, and everything went fine.

            The part that annoys me is that I had specifically asked for tulip chipset cards, because I know they work fine. =)
            • Hah. tulip chipsets are a total mess. The best supported cards under linux are 3coms and intels. There are just too many tulip variants to keep up with with.

              Anyway, see your ifconfig:
              $ /sbin/ifconfig
              eth0 Link encap:Ethernet HWaddr 00:50:DA:1F:06:57
              inet addr:10.0.0.42 Bcast:10.0.0.255 Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
              RX packets:83036 errors:0 dropped:0 overruns:0 frame:0
              TX packets:80763 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100
              RX bytes:18468908 (17.6 Mb) TX bytes:6354302 (6.0 Mb)
              Interrupt:18 Base address:0xc800

              See that MTU setting? Screw with that a bit to see what I'm talking about.
      • Given the ubiquitous nature of Token Ring, this should have been caught during pre-alpha.
    • The driver is not a part of the standard kernel but has been developed by Madge Networks. The source-code and it's license requires you to supply any changes to the source-code to Madge Networks. Madge has only tested the drivers on kernel 2.0.36-2.2.12.

      So not being a part of the standard kernel and not having a large user-base seems to be the problem here.
  • I have a Linux box that's been on my company's token ring for nearly three years (I work for IBM), using an Olicom card. Not only do the sysadmins not bug me about it, they use it on a regular basis. It's my team's development server, but the network admins come to me quite frequently with some little thing they'd like to try or some temporary service they need to provide and they find that my box is the simplest and most reliable place to do those things (the other local servers are NT and OS/2; there are plenty of AIX boxes around, but they're not at my location and the local sysadmins don't really have access to them).

    • I, also, am an employee of big blue. Right now my entire plant is on Token Ring, and there are a good number of Linux machines on the network. I've not heard of any problems. However, the majority of the people who run it, run RedHat, SuSE or TurboLinux from what I've read on our internal mailing list. Havent heard of any debian users
  • Perhaps... (Score:3, Funny)

    by Krellis ( 19116 ) <.gro.sillerk. .ta. .todhsals.> on Sunday September 16, 2001 @05:49PM (#2306705) Homepage
    The token is falling out, and getting caught in the ether net? You'd better go looking for it on the floor around you... :)
  • My office is mostly token ring, but we have some people who have asked for ethernet and the networking guys have been very willing to switch a port over to ethernet. They just need to move some cables on the patch panel.

    If you already have ethernet in a conference room it might not be too hard to just have the port you use added to whatever hub they use for the conference room.

    It seems that you are running on a laptop since you can move you computer to the conference room. Another option is to insist that they put up an 802.11b network. You could then wander freely and have wireless ethernet. Even better!

  • Well, first, debug the whole thing beforehand. By then, you'll find out about it and will be able to accomidate.

    Now, I'm unsure on Token Ring. I'm taking that it runs on coax cabling and you have to be in a loop for every computer to work. UGH! I'm unsure of the protocalls used with it, but if it can run TCP/IP on it, you may be able to get away with a gateway computer (which does TokenRing &lt;==&gt; Ethernet.)
    • Token Ring runs over many sorts of cable, among them Coax and good 'ol UTP. The real fun is the ancient wall-drop plugs in use by IBM, and others.

      I used to work for IBM, and was only too exposed to the hell that is TR. The most common way rings go boom is when unix-type users add machines to a ring at the wrong speed. E.g. Bringing a card up at 4Mbit on a ring running at 16 will usually drop it.

      My solution was to build a gateway running a very hacked up debian. IBM's 300PL worked great, as it came out of the box with both ethernet and token ring cards. I ran 2.2.19 on it and used iproute2 to do various NAT and address forwarding tricks to an ethernet switch.

      Worked great until the hard drive melted. Damned fujitsu's.

      Lessons learned:

      1. Test first. A nice way of doing this is to get one of IBM (or someone else's) TR Hubs, and use it for your testing. That way, if you blow something up, you'll only blow up your testing network. The downside is that these things are expensive as all hell, and hard to come by. Even at IBM they required much bribery to nab for... 'unofficial uses'.

      2. Use IBM hardware if at all possible. Someone else said something to the effect of "IBM - Hardware build like a tank". Very true.

      3. Ask someone first. Chances are, at least in larger tech-oriented companies, someone else will have tried alternative operating systems before, and have advice (or horror stories) to share.
    • It's a logical ring, not a physical ring. Uses regular cat5 utp, in most setups. Physical star topology. His whole problem centers around linux barfing on token ring, so building a gateway is only going to move the problem to a new machine (unless he wants an NT gateway, LOL).
  • I once installed a firewall with a madge card. After the installation I never heard from the client so I assume it still works)
    Anyway token ring is obsolete and you should try to avoid it...
  • by Fluffy the Cat ( 29157 ) on Sunday September 16, 2001 @06:01PM (#2306761) Homepage
    If you have a reproducable problem that causes the entire network to fall over, the only thing you can do is pull the machine. On the other hand, you should really get in touch with the developer of the driver you were using. It's possible that this bug is known and a fixed version of the driver exists, or it's possible that nobody's ever seen it before. Either way, doing what you can to help the developer get this fixed will help prevent other people from having the same problems in the future. You should be able to find out who's responsible for the driver by looking at either /usr/src/linux/MAINTAINERS or the source for the driver itself (it'll probably be under /usr/src/linux/drivers/net/tokenring).
  • by Syberghost ( 10557 ) <syberghost@syber ... S.com minus poet> on Sunday September 16, 2001 @06:08PM (#2306780)
    Token Ring is horribly sensitive to timing issues, especially when using Cat5 in a physical bus instead of a physical coax ring.

    I have seen a TR network where a single machine could develop a problem, and this would cause a group of 8 machines to all lose the net. Any one of those machines could bring them all down, and the only thing that would get them back up was shutting them all off (completely power-down, even rebooting didn't do it) and then bringing them back up one by one. Something as simple as shutting down Windows NT to the "click to reboot" prompt was enough to cause the problem to develop; eventually one of them would lose it's mind, and they'd all go.

    Throw into that mix, the fact that Linux Token Ring drivers are bastard stepchildren that get 1/1,000th of the use of the Ethernet drivers (if that much) and you end up with real problems.

    Bottom line; come in a weekend and try that other NIC out, maybe it's drivers are more mature. But other than that, don't dick with the company network, Token Ring is too damn sensitive.

    You might try putting a few NT boxes into the "click to reboot" state, and see if they screw up the company network too. Works best with 3COM TR NICs, which is ironic since they also seem to recover the best to having their cable pulled and replaced while live.

    If they see the problem is Token Ring specific, and just exacerbated by a bad Linux driver, perhaps they'll switch to Ethernet. If they trade their TR NICs in to somebody like CablExpress, they might break even or make a small profit on the switchover, and they'll certainly recover the costs in a short period of buying Ethernet NICs instead of new TR ones; they're horribly expensive, and the infrastructure gear (CAUs, LAMs, MAUs, switches, routers, etc.) is even worse.

    An even better suggestion might be to find a job in a shop that prefers the more-manageable problems of Ethernet to the problems of Token Ring.
    • Good response, "Your NIC is Fsck'd, you should go work for a differnet company." Not the most dedicated employee are you?

      /Ryan
    • by Anonymous Coward
      Wow. everyone's bashing token ring so much you'd think it was a Microsoft product.
      I work for a large bank that is _SUPRISE_ largely an IBM shop. the vast majority of our network is token ring and thanks to relatively clueful network design is very stable. Token ring is not ancient technology, it is a mature technology that has a lot of advantages over ethernet for wide area networking; especially in a Mainframe environment. Source Route Bridging anyone? try that with ethernet.
      as far as MAUs are concerned, gimme a break. now that _is_ ancient. hit up ebay and grab a nice synoptics hub and a token ring switch. follow IBM's standards on lobe length, number of stations per ring and cabling type and verify the buffer sizes on your adapters. most of the non-ibm adapter drivers i've seen set them far too low and you end up with gobs and gobs of reciever congestion errors. if you have enough stations broadcasting these errors, bam. you have a beaconing ring.
      my experience so far has been best with the IBM PCI token Ring adapter 2 and the IBM auto 16/4 PC cards (the older ones with the hologram-y label, not version 2). The lanstreamers are kinda junky but work well in windows and Novell.
      to sum up, use your head, follow standards and understand how token ring actually works. grab an IBM redbook on it while you're at it...

      Token Ring lover in WI,

      sixty4k
      • > Source Route Bridging anyone? try that with ethernet.


        Well, that's just the point, isn't it? Source Route bridging was designed by people who Just Didn't Get It - it's doing almost all the work of a router without gaining any of the benefits. It doesn't deserve as much bashing as Microsoft, who also Never Did Get It about networking, because the folks who did SNA and its predecessors were trying to design protocols that would run well on systems with slightly more horsepower than digital watches, back when RAM actually cost money. It's possible to use Transparent Bridging on many kinds of IBM systems, and these days any of the mainframes will run TCP/IP. And almost all the applications can either be handled using tn3270 (since there aren't a lot of Genuine Original Green-Screen 3270 terminals left - almost everyone uses PCs with various boards in them) or if necessary encapsulated in IP using DLSW or other tunnelware.

      • Token ring is over-complicated. It is very dificult for vendors tro get the drivers right, taking 2 or 3 or 4 tries for most of them. Shops that go purely Big Blue do have better luck. But it IS ancient tecnology, 100Mb tokenring, anyone? The standard may exist but I wouldn't touch it with *your* dick. And if you think source-route bridging is cool, - YUCK. The only thing worse is transparent bridging. Bridging SUCKs. 40 second reroute times, 7 hop network diameter limits (if you follow the standard - you might increase network diameter, but only by increasing reroute time) - arghhh. Give me a routed network anyday.
      • I used to be a network admin for a IBM shop. We were completely TR, running over type 1 even. Token Ring had one advantage over ethernet, and that was the ability to lock one machine to a particular CICS connection.

        Otherwise it's not worth it.

        Two speeds, 16/4 Granted, no collisions but you'll get better throughput with 100 Mb ethernet than 16 Mb TR. We'll probably see Gb ethernet more common in offices soon, and that will definately put that arguement to bed.

        Ever bought a TR card? I'm not talking ebay either, most companies don't let you do that. When I last bought one, they were running at about $250, each. 10 3c905's were $250 at that time. We were using type-1 o we were using MAU's, find one of those... 8 port MAU would run you close to a grand.

        So the logical solution was to pull all the TR and replace it with cat-5. I requested $3000, and set up switched 100bt. This cost us a little more initially, but they haven't had to buy a TR card since, and it is so much simpler to drop a new cable now. Also don't have to worry about the ring falling due to an old card dying on you. That's fun. Take 30 minutes out of everyones day to shut down and then bring machines back one by one...

        Sure, we could have ran TR over cat-5, but I should have been fired if I reccommended that. It just makes better sense to run ethernet.
      • my experience so far has been best with the IBM PCI token Ring adapter 2 and the IBM auto 16/4 PC cards (the older ones with the hologram-y label, not version 2).

        Yes, as I said, the IBM cards are less susceptible to the timing issue I discussed. However, in the testing we did, they almost never recover properly if you yank the cable, wait a few seconds, and plug it back in. Under NT and OS/2, you had to reboot in that situation to regain network connectivity.

        With the 3COM cards, they usually reconnected.

        Plus we could get refurbs from CablExpress' Equal2New program for cheap, and still have a lifetime warranty. But it was still way more expensive than Fast Ethernet, and for 1/4th the throughput.
      • Token ring is not ancient technology, it is a mature technology that has a lot of advantages over ethernet for wide area networking
        I was always taught that the main advantage was that it can offer guarantees on maximum times between transmits, which ethernet obviously cannot, and is therefore preferable in realtime applications (e.g., factory floor automation where there needs to be tight timing synchronization; isn't there some ISO standard for factory floor networking based on token ring?).

        This, of course, is more of a LAN than a WAN point.

  • oh really ! (Score:1, Flamebait)

    by johnjones ( 14274 )
    come on sort it

    thats the sort of FUD that gets alot of people angry

    LOTS of people (and by this I mean end users) have used token ring drivers with complete success

    the poster knew this

    so what are they looking for ?
    help with their card and hardware ?
    (which it seems is the problem)
    info needed

    kernel version
    card ID
    machine ID
    and maybe a trace of the network

    to say IT DONT WORK is cave man like in the extream even kids as young as 7 know that to fix something that you cant see you need to have it described

    regards

    john jones

    p.s. what kind of editor runs this ?
    • FUD? Pardon?

      What the poster is asking is how he should have gone about taking a machine that totally did not fit within the specifications of the network that IT set up, inserting it onto a network that uses a technology he does not understand, and using an operating system whose Token-Ring driver are sub-par.

      Basically, 'What should I have done that would have prevented this from happening?'.

      The answer to this, I can't help but think, is to go and talk to IT/the network admin/God, and tell them 'My manager gave me permission to connect this laptop to the network, what do I need to know before I do?' They would know more about the system than his manager, likely, and at the very least, more than he did, and would be able to track down problems easier later on if they couldn't prevent them entirely.

      His post is not FUD, nor is it driver help, nor is it networking help, nor is it technical help at all. You would be well adviced to read what he is saying, and avoid flooding your kneejerk reactions onto slashdot without prior thought.

      p.s. what kind of editor runs this ?

      The same kind of editors that have been running this site for years and built it up from nothing to become one of the most popular techie/open-source websites on the internet. If you don't like how they're doing it, don't read, but please, don't complain about it. No one's forcing it upon you.

      --Dan
  • by Anonymous Coward
    Last time I had a problem with my Tolkien Ring it was a Nazgul. Fortunately I had a CSU/DSU handy to whack it upside the head with (made by Gandalf, of course - wouldn't have worked otherwise).

    Yeah, I know, jokes like this are a bad Hobbit...
  • Token Ring (Score:5, Informative)

    by kune ( 63504 ) on Sunday September 16, 2001 @06:15PM (#2306811)
    We have used Linux and Token Ring for years in our company network. Biggest problem has been to find a reliable drivers. We settled for Olicom adapters and their driver. The driver works under kernel version 2.2.19. We used it on our central CVS server with more than 50 users. Olicom has been bought by Madge the other non-IBM-producer of Token-Ring-Adapters.

    We switched the whole network to 100 MBit Ethernet, so we will not look into the issue in the future.

    The drivers in the kernel have some problems, particular for PCMCIA.

    Here some useful links:

    Linux Token-Ring page, with updated drivers, but a discouraging news entry from 9/14/2001:
    http://www.linuxtr.net/

    Linux-Software for Olicom-Drivers(recommended):
    http://www.madge.com/connect/downloads/software/ ol icom/

    Linux-Software for Madge-Adapters on:
    http://www.madge.com/Connect/Downloads/Software/
  • by Karpe ( 1147 )
    are to blame. oh, you said "token". Nevermind.
  • How should I have done this differently so that using Linux would have been a more positive experience for my company?"
    Don't feel too bad about it -- this sort of thing happens all the time, and it's not restricted to Linux or Token Ring.

    It's not that uncommon at all to find some application that conflicts with some other application and floods the network with crap. Ditto for hardware.

    Yes, in this case, Linux did get a bad rep, and it may have been deserved. It's a fairly safe bet that very few people use Linux with Token Ring, so the drivers probably haven't been very well tested.

    If you're truly paranoid, do what another poster did and test in a limited environment. Unfortunately, doing this for every new piece of hardware and software added to the network (not just Linux stuff) would take *forever* so you need to trust that things will work at some point.

  • While this is a large issue for those involved, a good network design should not allow this to happen in the first place. If a client is sending incorrect commands to the network or is eating up the token, etc, the router should cut off that node's access to the network and the node should display an error like:

    "Your system is sending inproper commands to the network and as a result, your network interface has been shut down. Please contact your system administrator for details."

    Imagine how much havoc one could reek if they walked into a business with a small "network tool" that would bring down the network, plugged it into a nearby jack, and left.

    When writing CGI programs for the web, the first thing you learn after how to work the #! ling is that you should NEVER TRUST THE USER. Networks need to work the same way. If the node says that it is supposted to speak now because it has the token, the router should check that the node really has the token and make adjustments to avoid bringing down the network if it does not.

    Short of charging the network lines with a 5,000 volt current (and surge protecters were invented to stop even this), there should be no way that I can bring down the network from a point on the network. (Well, excluding using SNMP to shutdown the router, which assumes that I have the password, etc.)
    • Um, most likely they don't have a $100,000 cisco with token ring boards doing this. Just a guess, but a bank of old IBM mau's sitting in a dark corner somewhere, doing this. Even then, token ring relies heavily on the nodes to behave themselves, and if the router cuts off one node, chances are it still might not recover. Besides, if you cut it off, how are you going to send the message to the node?
    • a good network design should not allow this to happen in the first place. If a client is sending incorrect commands to the network or is eating up the token, etc, the router should cut off that node's access to the network

      A router is just another node on a token-ring - it can't do the stuff you're talking about in the general case. If some broken-ring adaptor screws up, the router is typically just as baffled as anyone else. token-ring is over-complicated, over-costly nonsense. With really cheap switched ethernet available, no new network should ever use it, and old networks should migrate, as new NICs and hub costs will eat you alive.
  • are you're office running? Token ring is fragile stuff, but much faster than a half duplex 10mbit/s ethernett. I've read that TR has been released in a 100mbit/s version too, but I have only experience with the 4/16 mbit/s versions. It's been a while since the last time.
    Obvious the hardware is working fine. You say nothing about what speed you brought the TR-NIC up at, but you're probably aware of that bringing up a NIC at 4mbit/s in a 16mbit/s network will beakon the ring and bring the network down.

    Anyway, to work out the problem, simply ask the network people to lend you a MAU. Hook up one or more of the other pc's that works fine in the ring and do some labbing with your own little ring until you locate the problem.

    A quick look at the Madge website it seems like they actually SUPPORTS their linux drivers :) . Check out their knowlegde base and/or mail them.
    .lars
  • by DenialS ( 21305 ) on Sunday September 16, 2001 @06:32PM (#2306866) Homepage Journal

    I ran Token Ring on my personal desktop and a server at work for over two years without any incidents requiring sysadmin intervention.


    Here's how I did it:

    • check out the development site: http://www.linuxtr.net [linuxtr.net]. This site is quite good about posting patches and information for the tr module.
    • get a static IP! The Linux token ring driver was not at all happy with DHCP
    • double-check your network settings--we had dire threats about setting our MTU right (yep, even in Windows), so I ensured that I knew what I was doing before plugging into the network
    • get recent linux kernels! I used Red Hat, who didn't ship token ring support, so needing to recompile the kernel anyways, I always picked up the latest kernels. For a driver that few people apparently use, there have been a lot of patches that made their way into the kernel. I ran 2.2.19 on the server, and 2.4.8 on my desktop. I don't know what Debian gives you, but I would consider recompiling your kernel.
    • read the docs! Unfortunately the Token Ring HOWTO appears to have forked down two paths: out of date (http://www.linuxtr.net [linuxtr.net]), and further out of date (http://www.linuxdoc.org [linuxdoc.org]). I wrote the author of the newer version (Tom Gall), asking him to submit the updates to the LDP, but despite his assurances it never happened. Sigh.
    • with IBM TR cards, you have to run some program that changes the firmware settings to get it to run in Turbo 16/4 mode, or some such arcana

    So, it worked for me, as I said, for a couple of years. But then I moved to a new site with pure Ethernet, and I have to admit that life is much simpler now.
  • by HRB ( 307853 ) on Sunday September 16, 2001 @06:46PM (#2306917)
    What I see here is that a lot of People no longer have a clue about Token ring - am I getting realy old (I am 25) ?

    This is generally bad, because TR is realy a cool Technology (except that it was always to expensive and proprietary)

    But superior technology was never the point.
    (see also: Donalds Becker s comment on NE2000 clones)

    The Network card is not the only possible error source. Token Ring is an active Network, where a lot of the logic is within the NIC and the Cabling (e.g. M(S)AU = Multi Station access unit)

    All Stations are assembled in a physical double ring. Even though the Cabling is a star topology.

    If you connect your station to a MAU (= TR hub)
    your plug is connected to the MAU, but you are not yet connected to the ring. If you turn on your computer, the network driver opens a relay in the MAU (signaled via the adabter cable) to switch you into the ring.
    If you turn off the computer you get discinnected.

    All data on the ring passes all the NICs in the ring (exception: Early Token Release). The NC acts as a Bridge (it amplifies the signal to the next ring segment).

    Since the unamplified distance between to NCs is limited this can lead to the "Token Ring Sleeps at Night" Problem, where the token Ring refused to work at night (simply because too many employes turn off there PC after work)

    This can simply be overcome by replacing passive MAUs with active TR Switches.

    One should also have in mind, that the cable to the network card is a part of the ring after activation of the card. A faulty cable can disturbe the ring (even though it should be automaticaly removed from the ring)

    I would try your laptop directly on a TR switch.
    Thís way you can eliminate driver/TR component interaction (a driver which agressivly tries to connect to a ring with a faulty cable)

    I personaly implemented many Linux Servers with linux and never had problems with disturbing ring operation. I used IBM and Olicom Adabters and they always worked well.
    • Token Ring is cool because it can allow one bad node to bring down the whole network?
      • This happens with ethernet as well. I've seen this many times over the years (and even within the past month) -- a single machine spewing packets faster than any router can process, a bad port in a switch turning everything in broadcast traffic, trunking misconfigurations spewing uncomprehensible junk to workstations, unstable etherchannel configurations...
  • by mj6798 ( 514047 ) on Sunday September 16, 2001 @07:06PM (#2306968)
    Why isn't the Madge driver in the Linux distribution? Did it come in source form or in binary form? In any case, if the driver doesn't work, it's Madge's fault, doubly so if it is binary only or proprietary. The fact that a malfunctioning driver easily brings down a ring is an inherent problem with TokenRing.

    You do have a way out: use the IBM card. It was working a few years ago, and I imagine it's still working today. Yes, you do have to patch the kernel--what's the problem with that?

    If that's not to your liking, you can throw money at the problem and buy a TokenRing/Ethernet bridge and use an Ethernet card on the Linux machine. Maybe your managers will see the light and convert more of your network to Ethernet.

    In general, TokenRing is dead technology. Many operating systems just don't support it at all anymore. How long should Linux carry the burden of supporting outdated and flaky technologies?

  • by r2ravens ( 22773 ) on Sunday September 16, 2001 @07:07PM (#2306973)
    I work with broken... sorry, Token Ring every day. I work for a state agency with near 5,000 nodes (server, workstation, printer, etc) which until just last year were all on TR. The switch has only just started to Ethernet and going office by office as budget allows.

    I came from an all Ethernet environment prior to the this job and have had some experience with ARCNet as well. (Hows that for you old /.'ers out there?)

    Token Ring is a logical ring topology, ususally implemented in a physical star or bus topology. Some of our rings have upward of 200 nodes with thousands of feet of cabling connecting them. We have MAU's (Multiple Access Units - a hub) connected to each other with copper and fiber. Most of the cabling that runs to the workstations is type I - 4 conductor, big gauge stuff that comes to large data connectors at the wall. If you haven't seen these, you'd love them, about 1 1/4" square and 2 1/2" long. Then a lobe cable goes to a db-9 connector on the NIC card.

    TR works by passing a token (electrically) to each node in sequence. When a node has data to be transmitted, it hangs the data on the token and sends it on it's way. All subsequent cards check to see if the data is for them and then pass it all on if it's not. The intended recipient strips the data and sends the token on it's way. In a 4Mb ring, there is one token and on a 16 Mb ring there are two, 180 deg. to each other (timing-wise) on the ring. I don't know how the 100 Mb version does it, but almost nobody uses that.

    This has an advantage in that there are no such things as collisions like on Ethernet. This allows for the massive number of nodes per ring and high efficiency in data transfer - perhaps 80 - 90% For comparison, Ethernet starts having problems due to collisions at 40% or so - depending on the number of nodes.

    It also has the disadvantage that a single break at any point in the ring breaks the whole ring. (Think Christmas lights in series rather than parallel.) Another disadvantage is exactly the problem the poster reports - timing errors. I don't know if the problem was just timing errors, but the other problem - beaconing - would have brought the whole ring down right away and he said that it was was just noise with the potential to bring the ring down.

    Indeed, timing is critical. Beacon errors are worse as the NIC put out spurious signal that doesn't allow any node to hear the token as they attempt to pass it around.

    Early in my employment, I attempted to put a linux box on the ring, but couldn't get the TR drivers to work with a Madge or old IBM card. About a year in, they got all tight-assed and concerned about security and prohibited all alternate OS's. We're an all M$ house, how's that for irony. Security, what security? At least we're behind a pretty good firewall.

    As far as the problem with this particular installation, I agree with other posters who have said that the author of the driver needs to be contacted to report the bug and maybe get a fix. It would be good to set up a separate ring with just the two nodes (and the fluke) to try to ID the problem. But he may also be facing administrative/political issues as well. Those are hard to overcome, especially in a large organization, and even more in a government agency - as I have found.

    I'm not karma whoring, I just thought that since this technology (TR) is so ancient and in use by so few places, readers unfamiliar with it might like a little info.

    BTW, the aforementioned ARCNet is also a token passing design that runs on a bus or a star and runs at 2 Mb. It can run on UTP or 93 ohm coax (RG-62) It's relatively robust, if slow. A boss of mine went to a Novell Admin class where the instructor hooked a server and workstation together on ARCNet with BNC connectors crimped to a piece of barbed wire. It passed data acceptably.

    Hope this all helps a bit.

    • Ha!

      On my home server (2way dual p100 mosix cluster) I have...

      Arcnet
      Token Ring
      Localtalk PC (this one wasn't easy to find, or config)
      10mps ethernet (to the cable modem)
      2 100mps ethernet (to the LAN)
      2 gigabit (crossover, dedicated cluster link)
      FDDI
      100mps Fast Arcnet

      Still looking for 64mps token ring hardware (some people describe it as 100mps TR *shrug*), Acorn econet for PC, cheap 155mps ATM cards, VG Anylan, and possibly Corvus Omninet cards. If anyone can help, please let me know.
    • Believe it or not, I used to work for a company that manufactured "1-hour photolab" equipment, and many of those systems STILL use ARCNet internally for all the different components to talk to each other.

      It may sound arcane, but it's robust, interference resistant, cheap (I guess), and reliable. If you're not passing tons of data, it works just fine.

      MadCow.
    • Ethernet starts having problems due to collisions at 40% or so - depending on the number of nodes.

      Oh fergawdsakes, will this urban legend ever die!

      It simply isn't true.

      • Ethernet starts having problems due to collisions at 40% or so - depending on the number of nodes.

        Oh fergawdsakes, will this urban legend ever die!

        It simply isn't true.

        Actually, it is true... Under ethernet, the more nodes you put in a collision domain (this is layer 2, not to be confused with a layer 3 _broadcast_ domain), the more likely a collision, the more time is spent recovering from collisions. The exact 40% depends on how many nodes are on the segment and how much info they have to send and how often, but 40% is in the ballpark for when problems start to appear

        There is a very simple (and not very expensive nowadays) way to get around this problem: use switches in place of hubs. A switch creates a two node collision domain (the switch and the end node). In fact, when full duplex is enabled (only possible with switches for an obvious reason) the collision detection is turned off.

        The result: no collisions and thus you can get even more efficient than token ring (no token to wait for).

      • Do you actually have any stats to the contrary? My numbers show about 30% actually.

        I've never had a 10/T segment with more than 5 computers active get any more than 2-3Mbps in backplane bandwidth.

        With a switched hub, yes, you get full bandwidth between each port (assuming the hub has sufficient backplane bandwidth to deal with all the inter-port traffic), but with normal "old-fashioned" ethernet hubs, no, you don't.
  • Token Ring gets another "Check" on the Chalkboard for being bad and mischevious during class!!!
  • Voodoo debugging (Score:5, Informative)

    by RobertGraham ( 28990 ) on Sunday September 16, 2001 @07:23PM (#2307030) Homepage
    Token Ring came out in the late 1980s as a more "reliable" technology because it replaced the old "bus" topology of coax Ethernet with a "star" topology that isolated errors to a single port. Adapters even had the ability to detect that they were causing errors and would automatically pull themselves off the network.

    The promised reliability never materialized. In the early days, the TR connector was the same as that for DB9 serial ports and EGA (pre-VGA) video. L-users would frequently connect the cables incorrectly, taking down the entire LAN. In the later days, 10BaseT Ethernet replaced coax, and became slightly more reliable than Token Ring. These days, we used switched Ethernet, which is infinitely more reliable than Token Ring.

    Keeping Token Ring networks running has become like voodoo management. Stories like yours are common. Nobody knows exactly WHY things are going wrong, so they are quick to point the finger at oddball stuff. There is so little support for Token Ring that nobody can figure out how to solve even basic problems. The only solution is to remove the offending products from the network.

    Here is some background for what might be going wrong. First of all, your card has its own microprocessor. As a kid in the early 1980s I owned a TI-99/4a home computer/game-console: it is roughly the same CPU in your card. It runs its own embedded OS. This means that under normal conditions, your card will run fine, regardless of the driver: all the intelligence is on the adapter, not in the driver.

    I point this out because you never specified exactly the types of errors you are receiving. In theory, all such errors are related to the hardware, and there is nothing the driver can do to cause them. Specifically, I don't know how it can be possible for something to "cause ring errors that eventually bring down the entire net". There are really no progressive failures like this in Token Ring.

    If you mentioned the precise ring error and/or the method in which the ring goes down, it might be helpful. Here are some possible ring erors.

    A burst-error is caused when an adapter inserts itself into or removes itself from the ring. This might be caused because, for some reason, Linux might be re-initializing the card. For example, you may have DHCP set to renew the lease every minute which may cause this to happen. I have no knowledge of how Linux deals with Token Ring, but if the problem is "Burst Errors", then it is because of some higher-layer interaction like this.

    A "receiver congestion" error is caused when the Linux driver doesn't remove packets from the card's buffers fast enough. In theory, they are suppose to indicate that packets are coming in too fast for the machine to handle. In practice, you see this happen when machines "hang" and fail to empty their queues. You might be running some sort of libpcap packet-sniffer on the system or have the adapter running in promiscuous mode (do an ifconfig to check) that is having some sort of pathelogical condition.

    Maybe you are getting "FC errors" which indicate that somebody has the same MAC address as you. This won't happen if you use the standard MAC address built into the card, but it could happen if the Linux driver has a bug setting a locally administered address. Maybe it's setting it to all zeroes, causing a conflict with some other card that has a similar bug.

    None of these errors really cause problems. Burst errors will nuke a frame as it passes by (maybe one out of a thousand) -- the hardware auto-retransmits, so it doesn't cause performance problems. Receiver congestion errors only cause problems for YOU and nobody else on the ring. A duplicate address will only cause problems with the other machine that shares your MAC address.

    My guess is that your admins are just getting testy over the fact that your Linux box re-inserts itself more often than Windows boxen, causing a higher number of relatively harmless burst-errors. When they diagnose problems with the ring, they notice that your machine causes the highest number of errors, and therefore blamr any ring failure on you.

    If your machine is truly causing a problem, the only thing I can think of is that your port on the hub gets "stuck" (this happens a lot). The process of re-inserting has a small chance of getting stuck, so if your Linux box re-inserts 100 times more often than Windows, you'd see this.

    BTW, Token Ring is a good lesson in Zen. A burst-error is defined as 5 half-bit times without a transition. What this really means is that a station has entered or left the ring. I point this out because if you try to debug this problem yourself, you'll have to hunt down Token Ring references. Go quickly to the definition of burst-errors: if it has the "technical" definition, discard the reference and move on. If it has the "practical" definition, then you'll be in luck.

    • Token ring was often more reliable than Real Ethernet Thick-wire with Vampire Taps - the mechanical connectors were better than just chomping your way into a coax cable with the possible risk of trashing the code enough to get reflections. I'm not sure if it was better than connectorized thinwire or not, and it certainly wasn't better than Cat5 10baseT, at least if you used genuine Cat5 and didn't cheat with Cat3 (or didn't use cable-TV coax instead of proper thinwire :-) Back when I used to deal with this awful stuff, I had one customer for whom the original Ugly Shielded Twisted Pair token-ring really did make sense - they were a city's Department of Water and Power, and they had lots of Really Big Electric Motors which were a really bad electrically noisy environment, and their network needed all the help if could get. These days I hope they're using fiber.
    • Re:Voodoo debugging (Score:5, Interesting)

      by mjh ( 57755 ) <mark@ho[ ]lan.com ['rnc' in gap]> on Sunday September 16, 2001 @10:34PM (#2307512) Homepage Journal
      A "receiver congestion" error is caused when the Linux driver doesn't remove packets from the card's buffers fast enough. In theory, they are suppose to indicate that packets are coming in too fast for the machine to handle. In practice, you see this happen when machines "hang" and fail to empty their queues. You might be running some sort of libpcap packet-sniffer on the system or have the adapter running in promiscuous mode (do an ifconfig to check) that is having some sort of pathelogical condition.

      Wow! This has *got* to be what the problem was. This problem started showing up right around the time of the big Code Red hubub. So I installed snort just to watch and see what was going on. Snort, of course, uses libpcap and puts the card into promiscuous mode. Right afterwards, is when we started seeing problems on the network.

      My guess is that your admins are just getting testy over the fact that your Linux box re-inserts itself more often than Windows boxen, causing a higher number of relatively harmless burst-errors. When they diagnose problems with the ring, they notice that your machine causes the highest number of errors, and therefore blamr any ring failure on you.

      Holy schnikies! You must have been in the room! That is *exactly* what happened. They discovered these errors and basically said that the errors were the *only* thing that they could see that was wrong with the network. From this they concluded that the problem must have been caused by my running Linux.

      About the only thing that does not fit, is that since I've stopped running Linux on the network at work, the problem has completely gone away. Not a single recurrance in several weeks time (I actually submitted this article to /. many weeks ago. Why it took so long to get accepted, I dunno.) They did, as part of their process of troubleshooting replace all of the TR equipment in the closet. But even after they did that, we were still having problems. So far the only thing that seems to have fixed this problem was me staying out of Linux.

      Thanks for you're very informative post!

  • by tshak ( 173364 ) on Sunday September 16, 2001 @07:26PM (#2307045) Homepage
    One ring to rule them all, One ring to find them.
    One ring to bring them all and in the darkness bind them.
  • How should I have done this differently so that using Linux would have been a more positive experience for my company?

    Um, how about posting the actual "ring errors" that your lan admins were seeing. Also, did you try contacting Madge, since they supply the card and drivers? I'm still not really sure why this is an Ask Slashdot. While I'm sure it's within the realm of possibility that an errant (or improper configuration of a) driver hosed the network (an ex-admin of ours hosed our network with the linux box after he was let go), there isn't much detail here, there are many mailing lists devoted to this kind of thing, and your hardware vendor does support your card under linux. From their website:

    Madge Networks has extended its Token Ring adapter software support to include the Linux Operating System. Linux is becoming an increasingly popular application environment within and this new driver support provides Token Ring users with Linux support on the latest adapters:
    yada yada. The fact that you posted this as an Ask Slashdot (and the complete lack of details), make me question the veracity of this report. Regardless, if this did happen, it is too bad. People at your work will undoubtedly have a bad impression of linux from this. Such is life.
  • Prolly you have NT boxxes hanging on the TR, add a NIC to one Set IP routing on and Use Ethernet to get on The Network...one Cross Cabel will do..

    Yes it costs you an extra box, but it could be just some old p166 or something..

    Have Fun..
  • Linux does token ring really well if you use the right adapters.

    We have token ring adapters of all types. I've found the newer IBM PCI TR adapters to work best. They use the "olympic" driver included with the kernel. I have 6 Linux machines at work using these drivers and they've performed flawlessly... except when someone unplugs the cable. In that case, the box needs a reboot, but the rest of the network is fine.

    I first tried the IBM PCI LanStreamer but couldn't get it to last more than a few minutes. I'm guessing there's a problem with the buffers that freezes up the interface. I tried one of the newer Olympic cards on a whim, and haven't looked back.

    If you have REALLY ancient equipment, the Tropic-based 16/4 TR Adapter/A (long and short version) is known to work on Microchannel machines. I've put together one of these and had it running as a TR-to-ethernet router for a while.

    All this stuff can be gotten on eBay or elsewhere for dirt cheap.

    I haven't tried the Madge or Olicom cards, but we have plenty of IBM cards, so I've stuck with those.

  • TokenRing is nasty (Score:3, Insightful)

    by chazR ( 41002 ) on Sunday September 16, 2001 @08:54PM (#2307281) Homepage
    No. I'll qualify that. It's vile.

    Theoretically, TokenRing is wise, clever, fault-tolerant and the *only* way to get your LAN running close to ultimate bandwidth.

    I *like* TokenRing. In theory.

    In practise, it sucks. Specifically, it sucks *all* the bandwidth out of your network.

    A healthy TR network *will* use all the bandwidth that it needs. Collisions are impossible.

    Then, a node fails (which is what happened to you). Gradually, the overhead of regenerating tokens becomed an issue. Remember, a node will *never* regenerate a token unless it is convinced that it's up-ring node is dead or bonkers. However, if the upstream node has gone totally doolally, the one downstream will regenerate.

    Regeneration is *good*. except that the upring node is spewing filth onto the ring. So, the regenerated token is lost in garbage. Guess what happens next?

    Yes! the next node tries to regenerate.....

    Identifying this is easy. Find the node that is still operating. Then, find the nearest axe, and apply it with enthusiasm. Amazingly, the LAN recovers within seconds.

    I still bear the scars of a TR network that failed. We split it every way we could. Eventually, we we took the server with the borked ISA bus (feeding the NIC) out of the loop.

    All I can say is *GET THAT BOX OFF THE LAN* You are pissing people off with it. That is *not* good for Linux.

    I would say "rewrite the network drivers", but that's pointless. Say sorry (repeatedly) and advocate Ethernet. I'd rather have collisions than catastrophes...
  • Ring Speed? (Score:2, Informative)

    by z84976 ( 64186 )
    It sounds very much like you're trying to insert into the ring at 4mbps on a 16mbps ring or vice versa. That will freak out other things on the ring pretty badly. I know of successful Olicom usage, but I always used an IBM PCMCIA Token Ring 16/4 card. Check your ring speeds.



  • This looks like something that happened a few years ago where I was working.


    If the driver sets the card to 4MBits (The token ring cards have different speeds) the whole ring will pop into 4 Mb/s and the ring will crash as a result.


    It was at a .gov institution and afterwards everybody could just laugh (you know, the kind of laugh when people have had a near-death experience :-)

  • My last company used to have a Token Ring network. THey had the same problem if an IBM PS/2 was brought up on the network at 4Mbps and not 16Mbps. In short it would bring down the entire network.

    I did not view this as a PC problem, but an inherrent problem with Token Ring, so I moved that the company should migrate to Fast Ethernet, and low and behold they did.

    That was the end of that particular problem.
  • I used to work for the major AS400 software house in the UK and had a lot of dealings with token ring (and Twinax!!) and we found the major cause of network issues was the type of card.

    Madge cards do not like working in an environment with IBM cards (okay they have sorted things out a wee bit, but it still isn't perfect) because IBM token ring cards run to lower timing tolerances. This is fine where all other cards on the ring accept this, but Madge cards are designed to much higher specifications and easily start beaconing if the previous/next card round the ring is off on its timing.

    Your best bet is to get hold of those IBM drivers and use an IBM card - and go for a test environment for a wee while too:)

"Ninety percent of baseball is half mental." -- Yogi Berra

Working...