NE2000 PCI ethercard random freezes

I am using a PCI ethernet card, NE2000 compatible, and it is working OK. Randomly (with an interval which varies between minutes and months) the card gets freezed. There is no apparent event triggering the freeze, but I have to reboot in order to have networking again.

Any clue?

Any way to reset the card without having to reboot the system?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

The problem is very vague so it is hard to give a definitive answer - my first impression is that it is probably the card is faulty or dies with too much load. Perhaps investing in a higher quality card may be the answer. Also to reset the card I need to know what ifconfig gives and what the rote table looks ilke when the card dies. However if there is no interface visible to ifconfig I would do an ifconfig eth0 and add the routing for the card - don't need to reboot to do this....
quadrioAuthor Commented:
You say that the problems is vague, but my probles IS that the problem is vague.
The card dies RANDOMLY, not under load (often during nighttime, i.e. no use at all). The interface is there, "ifconfig down" works but "ifconfig up" does not work anymore. I do not see anything strange until everything gets blocked.
My question was deliberatly generic, since I am sure it is not a kernel-dependent question (happened from 1.2.x to 2.0.30)
I have plenty of other cards but I want to solve the problem for THIS card.
How to know if the card is faulty?
Sounds like the card is faulty. Do as unicorntech suggests - try another card! It's the most obvious thing to do.
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

In my experience, this sort of 'hard to pin down' problem is usually a hardware error, either because the card is physically faulty, or because it is conflicting with something else. IRQ conflicts can cause this kind of thing.

I suggest:-

Check the I/O address range and IRQ of your card, and DMA, if applicable. Change these to a different setting - if the card is plug and play, try disabling plug and play, or using PCI settings in the BIOS to force a specific IRQ. This may well cure it - I knew of one incident where a card had a DMA conflict with an IDE controller, when both happened to be in use at exactly the same moment, raw network packets held in the DMA buffer got written to random disk sectors - took the guy ages to figure out what was going on....
quadrioAuthor Commented:
I already tried changing settings like IRQ.

But I have right now collected new information:
I don't know from where, but I saw couple of times messages like "eth0 mismatched read page pointer xxx vs. yyy" on the console.
I think this supports the idea that the card is not a perfectly good NE2000 clone (i.e. "faulty" card, even if perfectly working from a HW point of view)

I would like to trace the behaviour of the card, eventually going down to the ne.c and 8390.c source files.

Do you think there are real chances of avoiding freezes anymore?

Hmm, the mismatched read page pointer errors definitely sound like they are symptomatic of the real cause of your problem.

I suspect that the card is doing something it shouldn't. I wouldn't be surprised if the card works fine under DOS, or even Win95, but when you get it into a real 32 bit OS, it can't hack it. I'd guess it would choke under NT as well (though calling that a real OS goes against the grain :-))

It may be a configuration issue - the card might be fine in another machine.

As far as tracing the behaviour goes, this is going to be very difficult when you can't reproduce the problem to order. If you can find the source of the error message, you may get insight into what is happening, but probably not into why.

Given that a cheap network card shouldn't set you back too much, I'd say it might be worth just replacing it, and forgetting about it. You can spend a lot of time rtying to track down these things with little success, and you have to wonder whether or not it is really worth it. Of course, if you're curious, and have the time t spare, go for it.... you might find a kernel bug... :-)

Good luck
quadrioAuthor Commented:
I was quite sure someone already found that infame "mismatched read page pointer" problem.

I will keep with my curiosity, eventually substituting the card.
Thank to sauron and unicorntech for the help, and for your time.
Easy, In your kernel setup the Ethernet card as a module, then at startup have your system load the module, if/when it freezes remove the module and reload it.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux Networking

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.