Fiber optic adapters

Graham Mainwaring ghjmai@magellanlabs.com
Sat May 1 00:33:02 1999


I was just wondering, has anybody successfully used a Tulip-based
fiber NIC under Linux? I have a strange situation that smells like a
driver bug.  Let me tell the tale. 

I have two buildings, with 12 strands of multi-mode fiber in an
underground conduit. In order to route traffic between these two
buildings, I bought a pair of Adaptec/Cogent ANA-6910/FXSC network
cards.  These are PCI cards with a DEC 21140-AE chip and an SC fiber
transciever.  I am running them back-to-back in a pair of Red Hat 5
boxen and they have worked fine for...(check uptime)...197 days. A
perfect example of how to use Linux and Tulip cards to get cheap,
effective IP routing. 

Now, we just built another building. It's 50,000 square feet and has a
(gasp) proper server room, with its own dedicated HVAC on the roof,
isolated electrical circuits, generator back-up, the works. So,
presented with the sight of acres of beautiful rack space, we decided
to buy something more exciting than just a beige-box PC to talk to the
other buildings. Instead, we bought a BayStack 350 switch, with two
100Base-FX fiber ports on it. The idea being, these two ports would be
used to talk to each of the two existing fiber NICs in the other two
buildings. 

The problem is, they won't talk. 

I have a third 6910 floating around, and any of the 6910s can talk to
any of the other 6910s over any of the cables. Also, I borrowed
another Bay 350F, and two 350Fs can talk to each other over any of the
cables.  However, a 6910 can't talk to a 350F, no matter what kind of
cable you put between them--even just a six foot patch cord. Yes,
everything is configured for full duplex, and yes, I'm using the right
kind of fiber optic cable. What happens is, as soon as you plug a 6910
into a 350F, the "Activity" light on the 350F goes on and stays on,
but neither side shows any packets moving. 

Does this make any sense to anyone? 

For the sake of completeness, here's what I get in syslog when I load
the tulip.o module: 

Apr 30 20:22:25 linux kernel: tulip.c:v0.79 9/3/97 becker@cesdis.gsfc.nasa.gov
Apr 30 20:22:25 linux kernel: eth1: DEC DS21140 Tulip at 0xd400, 00 00 92 97 30 19, IRQ 12. 
Apr 30 20:22:25 linux kernel:  The following verbose information is emitted for
Apr 30 20:22:25 linux kernel:  bug reports on media selection.
Apr 30 20:22:25 linux kernel: eth1: Old format EEPROM on 'Cogent EM100' board. Using substitute media control info.
Apr 30 20:22:25 linux kernel: eth1:  EEPROM default media type Autosense. 
Apr 30 20:22:25 linux kernel: eth1:  Index #0 - Media 100baseTx (#3) described by a 21140 non-MII (0) block.

And here's what tulip-diag has to say about it:

tulip-diag.c:v1.10 4/12/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter
at 0xd400. Digital DS21140 Tulip chip registers at 0xd400: 
  fe204800 ffffffff ffffffff 00fff820 00fff920 fc000106 33840200 fffe0000
  e0000000 fff583ff ffffffff fffe0000 ffffff81 ffffffff 1c09fdc0 fffffec8
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, full-duplex. 
 Transmit stopped, Receive stopped, full-duplex. 
  The Rx process state is 'Stopped'. 
  The Tx process state is 'Stopped'. 
  The transmit threshold is 128.  EEPROM contents: 
  0000 9792 1930 4855 5548 3019 9297 0000
  0000 9792 1930 4855 00ff aa55 00ff aa55
  0015 ffff ffff ffff ffff ffff ffff ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
  ffff ffff ffff ffff ffff ffff ffff ffff
 ID CRC 0x49 (vs. 00), complete CRC 1d2020b1. 
  * An old-style EEPROM layout was found. 
  * The old-style layout does not contain transceiver control information. 
  * This board may not work, or may work only with a subset of transceiver
  * options or data rates. 
   No MII transceivers found!           

The only thing that jumps out at me is this business of a "scrambler"
in the port selection. Does anyone know what that means? Could it be
causing the current problems? Or does anyone have any other
suggestions I can try out?

-Graham

p.s. If you reply to the list, please cc: ghjmai@magellanlabs.com, as
I am not subscribed to the list. However, I will be check for
responses in the Web-based archives. Thanks in advance for any help.