2002-01-15 01:01:52

by Christoph Dworzak

[permalink] [raw]
Subject: 2.4.17 tulip multiport-patch

Hi

After lots of Headscratching, I found this little bug:

replace line 1642 of tulip_core.c:

irq = last_irq;

with

dev->irq = irq = last_irq;


It's a hack for Multiport-NICs where only the first one contains
an EEPROM (I have a Adaptec ANA-6944A/TX). It puts other ports
on the same irq as the first one, but it forgot to actually set
it in the dev-structure...

With this correction my Firewall works like a champ now (before
it crashed immediately when activating the second port of the
multiport-nic).


While searching for this Bug, I also tried the de4x5-driver.
It worked, but with troubles. It sets the MAC-Address of all
the other ports to the MAC of the first port + 1. ALL of them
to the same MAC!
I tried to find out why, but I didn't find this in the code
(I found where it adds this 1, but didn't see why it doesn't
increase it further for further ports...)



Don't know if this is related:
While using the de4x5-driver, my system-load climbed steadily
up. After 3 Days it was at 99.5%.

Top didn't show any processes using this time, but the Computer
was reaaaaaly slow (pressing a key took several seconds until
it appeared on the console...)

This was repeatable. -> Reboot every other day :(

If this happens again, how do I find out what's using the CPU?
(I tried top, vmstat, free, but nothing unusual showed up beside
the system-% in top).


bye
dworz

Config (two Computers A and B):
A Amd-k6/300, 64MB
B Dual PIII-600, 512MB
both with ANA-6944A/TX + 2 other tulips
both RH7.2 with all updates as of 1.1.02
kernel 2.4.9-13 (the tulip-bug is still in 2.4.18pre3)

Computer B would not slow down with DE4x5, but maybe it wasn't
running long enough yet...
Both crashed with tulip.


2002-01-15 02:00:36

by Donald Becker

[permalink] [raw]
Subject: Re: [tulip] 2.4.17 tulip multiport-patch

On Tue, 15 Jan 2002, Christoph Dworzak wrote:

> After lots of Headscratching, I found this little bug:
>
> replace line 1642 of tulip_core.c:
>
> irq = last_irq;
>
> with
>
> dev->irq = irq = last_irq;

Hmmm, a little bit of bad conversion here. The tulip.c code follows
this section by

dev->irq = irq;

a few lines later.

> While using the de4x5-driver, my system-load climbed steadily
> up. After 3 Days it was at 99.5%.

Check the interrupt count in /dev/interrupts.

> This was repeatable. -> Reboot every other day :(

Donald Becker [email protected]
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993