Linux-kernel mailing list archive 2000-06,: PCMCIA ethernet problems (packet loss) remain in 2.3.41

# PCMCIA ethernet problems (packet loss) remain in 2.3.41

Matt Yourst (yourst@mit.edu)
Sun, 06 Feb 2000 04:10:15 -0500

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: iafilius@xs4all.nl: "ip alias (2.3.42)"
- Previous message: Michael Schulz: "Re: Problems after building a 2.2.14 Kernel"

I've been trying the latest kernel builds and am having a problem with my
laptop's ethernet adapter. Somewhere between 2.3.33 (works perfectly) and
2.3.38, the ethernet card (an IBM PCMCIA Ethernet adapter using pcnet_cs.o)
reports constant receive errors as soon as I enable it, yet a few packets still
get through. The system was a Dell Inspiron with the TI PCI-1220 (rev 02)
CardBus controller. I understand that the PCMCIA/Cardbus code went through a big
revision around 2.3.36, but it seems that some hardware-specific bugs still
remain. As a test, I booted 2.3.41 to a shell (nothing else running) and started
/etc/rc.d/init.d/pcmcia manually. As soon as I did this, ifconfig starts
reporting errors:

eth0 ...after starting pcmcia...
RX packets:11 errors:326 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:10 Base address:0x300
...and a few seconds later...
RX packets:11 errors:346 dropped:0 overruns:0 frame:0

This was on a fairly busy ethernet segment, so it appears that the driver is
reporting errors for every packet it sees, regardless of whether or not the
packet was intended for my system (in this test, I initiated no network activity
at all.) When I do start heavy network activity (for instance, downloading a big
file from a server on the same LAN), it's evident that packets are actually
being discarded to the point where things slow down more and more until all
packets are rejected.

For these tests, CONFIG_PCMCIA and CONFIG_CARDBUS were set and compiled into the
kernel, and CONFIG_I82365 was left out. gcc 2.95.2-pgcc and pcmcia-utils 3.1.8
were also used. It appears that 8390.c is doing the rejection around a piece of
code that's already received some attention regarding this:

/* Check for bogosity warned by 3c503 book: the status byte is never
written. This happened a lot during testing! This code should be
cleaned up someday. */
if (rx_frame.next != next_frame
...
ei_local->stat.rx_errors++;
continue;
}

However, this code is virtually identical to 2.3.33's, so it's not clear where
the problem lies. If anyone knows what the cause might be, just e-mail me for
more information if needed.

- Matt Yourst

-------------------------------------------------------------
Matt T. Yourst Massachusetts Institute of Technology
yourst@mit.edu 617.225.7690
476 Memorial Drive Cambridge MA 02139
-------------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

- Next message: iafilius@xs4all.nl: "ip alias (2.3.42)"
- Previous message: Michael Schulz: "Re: Problems after building a 2.2.14 Kernel"