[eepro100] PCI EtherExpress Pro100 82557 "reports no resources" - "no rx buffers"

Ian Zapczynski ianz@quarterleaf.com
Fri Jun 28 14:49:01 2002


Hello all.

I'm hoping someone here can kick me in the right direction.  We have two
VA Linux machines running VA's version of Red Hat 6.2 that include Intel
PCI EtherExpress Pro100 82557 cards which we have experienced some
problems with.  My problem is that seemingly without cause, we'll get
the following errors on the console and in /var/log/messages:

kernel: eth1: card reports no resources.
kernel: eth1: card reports no RX buffers.

Sometimes the errors refer to eth0, other times they refer to eth1.
Both are Intel Pro100 NICs, though one is on-board while the other is a
PCI card.  Sometimes when the errors appear, the machine is then knocked
off the network.  In some cases a reboot will resolve the issue, but
once it took two reboots and some patience.

In searching for the error messages, I came across this older post on
this mailing list:

http://www.scyld.com/pipermail/eepro100/2000-July/001135.html

While this post refers specifically to the 82559 chip, I assumed I
should upgrade the driver first before anything else.  Long story short,
I couldn't successfully get the Intel driver compiled on my machine.  So
I came back to www.scyld.com to download the latest driver available
there and see if I'd have better luck.

I placed eepro100.c, kern_compat.h, pci-scan.c, and pci-scan.h in
/usr/src/modules and issued the included compile commands (with
appropriate -I flags added).  When doing so, I got:

In file included from eepro100.c:133:
kern_compat.h:63: stray '\' in program
kern_compat.h:64: parse error before `license'
eepro100.c:146: stray '\' in program
eepro100.c: In function `speedo_open':
eepro100.c:874: `NETIF_MSG_IFUP' undeclared (first use in this function)

eepro100.c:874: (Each undeclared identifier is reported only once
eepro100.c:874: for each function it appears in.)
eepro100.c: In function `speedo_timer':
eepro100.c:1017: `NETIF_MSG_TIMER' undeclared (first use in this
function)

as well as several other complaints of failed declarations.

Unfortunately, I am not familiar with C code, so my feeble attempts to
fix what I hoped to be a blatant syntax error in kern_compat.h failed.

According to uname -r, my kernel version is 2.2.18pre11-va2.1smp.

Would anyone be so kind as to help me understand:

1)  what I might do to get the driver compiled on my machine
2)  if I should be looking at something else as a cause of the "card
reports no resources" errors other than an outdated driver and available
RAM (of which there is plenty)
3)  in general, what I could be doing that is terribly stupid

Thank you in advance for the help!  One of these machines is in
production, so it would be very helpful if I can find a solution to this
problem.  Unfortunately the problem didn't exhibit itself until nearly a
year after being put into that environment.

-Ian