Linux and the DEC "Tulip" chip

Robert G. Brown rgb@phy.duke.edu
Sat Aug 7 23:27:11 1999


On Sat, 7 Aug 1999, Neil MCGRANE wrote:

> Dear sir,

> I have Windows95/Redhat 5.2 dual boot on a Pentium pc. The PC has a
> netgear EA201 Ethernet card in it. This card works because I can use it
> with Windows95. I Spoke to the netgear support people they told me to
> look at the website http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html
> and follow the instructions, which I have done.

> After downloading the tulip.c, I compiled it with gcc -DMODULE
> -D__KERNEL__ -Wall -Wstrict-prototypes -O6 -c tulip.c `[ -f
> /usr/include/linux/modversions.h ] && echo -DMODVERSIONS`, which worked.
> When I try the insmod I get the error message "tulip.c: init_module:
> Device or resource busy" what is this Have I done something daft?

Usually that means that the driver is already loaded.  Indeed, if you
installed RH 5.2 correctly, it should already have the tulip driver
installed, and it should already automatically load the tulip driver at
boot time without your doing a thing.

Please capture the output of the "dmesg" command.  You should find
therein (or see scroll past at boot time) lines like:

tulip.c:v0.89H 5/23/98 becker@cesdis.gsfc.nasa.gov
eth0: Digital DS21140 Tulip at 0xe800, 00 20 18 58 5f b6, IRQ 5.
eth0:  EEPROM default media type Autosense.
eth0:  Index #0 - Media MII (#11) described by a 21140 MII PHY (1)
block.
eth0:  MII transceiver found at MDIO address 1, config 1000 status 782d.
eth0:  Advertising 01e1 on PHY 1, previously advertising 05e1.
eth1: Digital DS21140 Tulip at 0xec00, 00 20 18 58 50 7c, IRQ 10.
eth1:  EEPROM default media type Autosense.
eth1:  Index #0 - Media MII (#11) described by a 21140 MII PHY (1)
block.
eth1:  MII transceiver found at MDIO address 1, config 3100 status 7829.
eth1:  Advertising 01e1 on PHY 1, previously advertising 05e1.
eth0:  Advertising 01e1 on PHY 0 (1).
eth0: Using user-specified media MII.
eth0:  Advertising 01e1 on PHY 0 (1).
eth1:  Advertising 01e1 on PHY 0 (1).

(as you can see, I have TWO tulip cards in my system that work
perfectly).  If you do, there is no need (probably) to get a more recent
version of the tulip driver or kernel and build them; indeed if you are
a newbie at linux you could make life more difficult rather than simpler
by your trying to figure out how to do so when all you want to do is get
started using it.

There are a couple more things that COULD be going on.  Rarely, a tulip
card gets into an interrupt fight with other hardware in the system, so
that the message refers to ANOTHER device conflicting with the netgear
card. In this case, moving the netgear card into a different PCI slot
can sometimes fix it.  Another possibility is that the 2.0.36 kernel in
RH 5.2 is pretty old and contains a tulip driver that won't support
every "new" tulip card; there are now various tulip clone card makers
(like the lite-on) and I don't know if the netgear uses one of these or
a genuine tulip or a new "Intel" tulip.  The old driver works perfectly
with genuine DEC 21140 tulips like I have, but may well fail for the
newer ones or clones. 

The newer Red Hat 6.0 as well as its SUSE and Caldera cousins all use
the 2.2.x kernel which is much improved and has much more recent drivers
that should work fine with these newer chips.  I'd personally recommend
that you consider upgrading to RH 6.0 (or one of the 2.2.x
distributions) in any event -- the 2.0.36 kernel is static at this point
and lots of features in the distribution are greatly improved.  You
should be able to do this for free if you are good at net-surfing (you
have to get a copy of the distribution from one of many Red Hat (or Suse
or Caldera) mirrors or RH itself via the net) or you can always buy a
box set of any of the above for prices from maybe $30 to $80 US.

At this point, I can't give you much more advice without more
information.  If the tulip driver is NOT already loaded, you have one
problem.  Send me (or rather, the list) the output of dmesg if you can,
as well as the contents of /proc/pci, /proc/interrupts.  If you can
download Don Becker's tulip-probe program, that might also help.  If the
tulip driver IS already loaded (so you do indeed have an eth0 device)
then your problem is more likely to be that you just haven't set up the
network correctly yet.  Read about "linuxconf" (or just crank up
linuxconf as root under X) and see if you can navigate it well enough to
define and run your existing network adapter.

   rgb

> Also your link to  http://www.mxic.com.tw/publish/2276.htm. does not work.

Not my link -- I'm just a list participant.  But Don (if it is his) will
probably notice and do something if appropriate.

   rgb

Robert G. Brown	                       http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb@phy.duke.edu