Oversized Ethernet Frame? Buggy 8139-Chipset!

Jan Tegtmeier tegtmeier@ngate.de
Fri Dec 17 06:27:37 1999


Hi,

>Dec 11 17:45:02 fsz-gw kernel: eth0: interrupt  status=0x0001 new
>intstat=0x0000.
>Dec 11 17:45:02 fsz-gw kernel: eth0: In rtl8129_rx(), current 7300 BufAddr
>0088, free to 72f0, Cmd 0c.
>Dec 11 17:45:02 fsz-gw kernel: eth0:  rtl8129_rx() status bc3a6ebb, size
>bc3a, cur 7300.
>Dec 11 17:45:02 fsz-gw kernel: eth0: Frame contents  bb 6e 3a bc 9f 15 37
>c3 4e 61 4a 97 dd 1a 4b 25 4e >72 e7 e7 b3 f0 5e 86 42 a1 b1 97 94 d9 32 d8
>38 72 72 ff bd ec 41 a6 ae 37 7d 0a 70 6e ca e1 94 44 35 >70 ef f3 d9 ad 63
>fa 79 6e 76 99 b1 67 6d b7 1b 6f 39 c1.
>Dec 11 17:45:02 fsz-gw kernel: eth0: Oversized Ethernet frame, status
>bc3a6ebb!
>Dec 11 17:45:02 fsz-gw kernel: eth0: Done rtl8129_rx(), current 2f40
>BufAddr 0088, free to 2f30, Cmd 0d.
>Dec 11 17:45:02 fsz-gw kernel: eth0: interrupt  status=0x0000 new
>intstat=0x0000.
>Dec 11 17:45:02 fsz-gw kernel: eth0: exiting interrupt,
>intr_status=0x4000000.

It looks the same at a few of our systems. We have some webserver running
with the LanTech FastNet/TX with the Rtl8139-Chipset. Sometimes - often if
there is much load on the nic, e.g. installing linux over nfs - the card
stops responding to anything. The card doesn't even answer to Arp-Requests
of other hosts. In the logfiles I found similiar entries:

kernel: eth0: Oversized Ethernet frame, status 46424548!
kernel: eth0: Oversized Ethernet frame, status ffffffff!
kernel: eth0: Oversized Ethernet frame, status ffff!
kernel: eth0: Oversized Ethernet frame, status 8e9d11c!
kernel: eth0: Oversized Ethernet frame, status 865e865e!

The systems produces these messages with always different status-code for
about 24h (until we shut down that host) about every 1-10 seconds.

>As you can see, the driver gets garbage data from the chip (there is not
>even a hint on a valid ethernet frame in the logged frame contents). In my
>opinion the following problems could be the cause:
>
>- Switch is broken and sends corrupted packet back on line -> Card receives
>  garbage.
>- Problems in the PCI system -> PCI data transfer between card and
mainboard
>gets corrupted
>- driver problem
>- chip problem

I heard that the chip has problems with some pci-chipsets of 486
mainboards... but I have also seen that problem on some pentium-systems so
it is not the only problem the 8139 has :(

It is not the driver! We have also some hosts running under Windows NT 4.0
Server having exactly the same problem (only the /var/log/messages is
missing ;-) and with the handicap that it is not possible to reinitialize
the devicedriver without a system-shutdown.

>The card is then locked, so it has to be reinitialized with ifconfig.

I thought about implementing a detection-function for the rtl8193.c that
automatically reinitializes the chipset... but I don't habe the time to do
so.

Has anybody else done this or something similiar or could maybe do this?

Best regards,
  Jan Tegtmeier (tegtmeier@ngate.de)
-- --
NetGate Internetservice
Web: http://www.ngate.de/




 | To unsubscribe, send mail to Majordomo@cesdis.gsfc.nasa.gov, and within the
 |  body of the mail, include only the text:
 |   unsubscribe this-list-name youraddress@wherever.org
 | You will be unsubscribed as speedily as possible.