LinkSys EtherFast 10/100 LAN Card
Donald Becker
becker@cesdis1.gsfc.nasa.gov
Thu Nov 5 11:38:36 1998
On Thu, 5 Nov 1998, David Rose wrote:
> Subject: LinkSys EtherFast 10/100 LAN Card
...
> As soon as I try to ifconfig it, the machine locks up. On a hunch, I
> reinserted some code from an older version of tulip.c into
> tulip_interrupt():
>
>
> /* Code that should never be run! Perhaps remove after testing.. */
> {
> static int stopit = 10;
> if (dev->start == 0 && --stopit < 0) {
> printk(KERN_ERR "%s: Emergency stop, looping startup interrupt.\n"
> KERN_ERR "%s: Disabling interrupt handler %d to avoid "
> "locking up the machine.\n",
> dev->name, dev->name, dev->irq);
This code is invoked when the interrupt line is constantly set.
It indicates that some other device is raising an interrupt. There is not
way to clear it unless you know what that device is.
This (obviously!) should never happen. I put this code in for old 486 PCI
motherboards that had jumpered IRQ mapping, where a user might have an ISA
and PCI device sharing the same interrupt.
> -------------------------------
> tulip-diag -f -e -e -a -m -m
>
> tulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
> Unable to find a Tulip card in /proc/pci.
> If there is a Tulip card in the machine, explicitly set the I/O port address
> using '-p <ioaddr>
> -------------------------------
> Odd, isn't it? Shouldn't it be able to locate the card automatically?
Yes.
This message means that the pattern in /proc/pci couldn't be matched.
(Grrr, /proc/pci was badly designed.)
Which kernel version are you running?
> tulip-diag -p 0xf800 -f -e -e -a -m -m
...
> ***WARNING***: No MII transceivers found!
> -------------------------------
> Still odd. Should I be concerned by the inability of tulip-diag to
> find the MII transceiver?
This is the MII bug in the '168 that was fixed in the '169.
The fix from driver v0.90 is in my development version of tulip-diag
program, but that hasn't been released lately. (It takes some testing time
to do a release, and I'm pretty busy.)
> Nov 5 00:46:47 eros kernel: eth1: Lite-On 82c168 PNIC at 0xf800, 00 a0 cc 23 b2 d7, IRQ 9.
> Nov 5 00:46:47 eros kernel: eth1: MII transceiver #1 config 3100 status 7809 advertising 01e1.
BTW, you don't have link beat. But that's not the problem
> Nov 5 00:46:53 eros kernel: eth1: interrupt csr5=0x02001102 new csr5=0x02001000.
> Nov 5 00:46:53 eros kernel: eth1: exiting interrupt, csr5=0x2001000.
Yup, some other device is physically raising an interrupt on IRQ 9, but
a driver isn't handling and clearing the interrupt line.
Find out what else is on IRQ9.
Donald Becker becker@cesdis.gsfc.nasa.gov
USRA-CESDIS, Center of Excellence in Space Data and Information Sciences.
Code 930.5, Goddard Space Flight Center, Greenbelt, MD. 20771
301-286-0882 http://cesdis.gsfc.nasa.gov/people/becker/whoiam.html