[tulip] Bug in the starfire driver in 2.4.0-testxx ?

Vidar =?ISO-8859-1?Q?Haugsv=E6r?= vidar@gs.bergen.hl.no
Wed, 13 Dec 2000 22:20:41 +0100


I couldn't locate any mailing list for the starfire driver, please
direct my to the correct mailinglist if I'm on the wrong one here.

On my newly installed 2 CPU server with redhat-7.0 I have two Adaptec
quartet64 (ANA-62044) ethernet cards. Using the 2.4.0-testxx kernel I
get this kernel error for something that looks like every single packet
passing the network interface, providing vast syslog files, and makes it
impossible to use the console terminal to anything usefull, also
featuring unreliable nettwork connection.

	kernel: eth0: Internal fault: The skbuff addresses do not match 	in
netdev_rx: 922368017 vs. f6fa3800 / f6fa3810.

The numbers changes as the errors keep coming rapidly.

I have tried the preview "2.4.0-26" kernel provided on the redhat
cd-drom, and selfcompiled versions of 2.4.0-test11 and 2.4.0-test12
kernels using

	gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
	glibc-2.2-5.

The network itself is kind of working, providing speed from 11.5Mbytes/s
to 3-4Mbytes/s on one tp cable, but sometimes hangs for a while,
providing lousy and unreliable network performance.

Below follows some output from starfire-diag -(e|a) for the one
interface I currently use. Full output my be produced and webbyfied if
neccessary :-) The nic is currently connected with a single cat5 tp
cable to a switch, with auto-negotiation for speed and duplex enabled,
showing no errors either on the switch side nor from the output of ifconfig.

Does the starfire.c driver compile and work reliable with 2.2.x kernels?
Since the network seems to be working almost fine, I believe it's just a
small bug that needs to be located and fixed.

Should I also warn the kernel-devel team?


# starfire-diag -e

Index #1: Found a Adaptec Starfire 6915 adapter at 0xa000.
   Queue states
     Tx producer index 31, consumer index 31.
     Rx consumer index 243, producer index 242.
   PCI statistics
    PCI Bus maximum latency was 480 nsec, peak interrupt latency 6750 usec.
    PCI accesses: 59641 slave cycles, 19998 master bursts.
   Interrupts pending: 00000000
   Receive mode is 0x0000e044: Normal unicast and perfect multicast
filtering.
   MAC address is --:--:d1:ee:1a:61.
   MAC Config 1 is 00000c06: full-duplex.
EEPROM Subsystem IDs, Vendor 9004 Device 0019.
EEPROM Station address is 00:00:d1:ee:1a:61.
EEPROM Checksum is 983b8af8.
EEPROM Checksum is 000069a4.

[snip snip]

# starfire-diag -a

starfire-diag.c:v2.01 7/26/2000 Donald Becker (becker@scyld.com)
   http://www.scyld.com/diag/index.html
Index #1: Found a Adaptec Starfire 6915 adapter at 0xa000.
Adaptec Starfire 6915 chip registers at 0xa000
     0x000: 69159004 02900157 02000003 00004808 fa200000 0000a001
00000000 00000000
     0x020: 00000000 00000000 00000000 00199004 00000000 00000050
00000000 0509010a
     0x040: 00802104 00000001 015fa8d0 8f754e4f 3e010001 00000000
00000010 00000000
     0x060: 0000000c 00000000 00000000 ab8d00ff 0000000f 00000000
8330e0ea 0000000f
     0x080: **INTR** 00000000 fa09d350 0f00000d 02000401 00000000
37604000 00000000
     0x0A0: 0000001e 0000001e 0012c000 025812c0 0000001e 00000000
3734e000 37605000
     0x0C0: fffdff00 02be021a 02be021a 00000000 00000604 0600a000
bffc0000 00000000
     0x0E0: 372ef000 7fefff00 001a0019 00000000 01850000 0000e044
00010022 00010022
   Queue states
     Tx producer index 30, consumer index 30.
     Rx consumer index 26, producer index 25.
   PCI statistics
    PCI Bus maximum latency was 480 nsec, peak interrupt latency 5100 usec.
    PCI accesses: 44153 slave cycles, 20047 master bursts.
   Interrupts pending: 00000000
   Receive mode is 0x0000e044: Normal unicast and perfect multicast
filtering.
   MAC address is --:--:d1:ee:1a:61.
   MAC Config 1 is 00000c06: full-duplex.

[snip snip]