[yellowfin] GNIC-II problem on SuSE 7.3 2.4.16 kernel

Chris Worley cworley@symbionsys.com
Fri Jul 4 01:49:01 2003

I'm resurrecting an old Hamachi card that should work, but I wouldn't be
surprised if the card was at fault.

The Hamachi module that came w/ SuSE's rev of the 2.4.16 kernel loads
fine, Transmits fine, but doesn't receive.  The RX error count
increments swiftly, with a few packets received (although, not enough to
see one valid ping).  The switch sees packets being both sent and
received and logs no errors.

So, I downloaded Don's latest driver (v1.04 11/17/2002), the driver in
the kernel was version: 1.01+LK1.0.1 5/18/2001.  The 1.01+LK1.0.1
version had the notes: "fix lack of pci_dev<->dev association" and
"ethtool support (jgarzik)".

I compiled the newer driver with the incantation being used by the
kernel's "make" rather than the one suggested at the bottom of the
source file:

    gcc -D__KERNEL__ -I/usr/src/linux-2.4.16.SuSE/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4  -DMODULE   -c -o hamachi.o hamachi.c

... and likewise for pci-scan (with warnings):

    gcc -D__KERNEL__ -I/usr/src/linux-2.4.16.SuSE/include -Wall  -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4  -DMODULE   -c -o pci-scan.o pci-scan.c
    In file included from pci-scan.c:60:
    /usr/src/linux-2.4.16.SuSE/include/linux/module.h:20: warning: `_set_ver' redefined
    /usr/src/linux-2.4.16.SuSE/include/linux/modsetver.h:9: warning: this is the location of the previous definition
If I use the compile command line suggested at the end of the source
files, the "version.h" #include squeals about not using the proper file.

Loading this driver, I get the oops:

    pci-scan.c:v1.11 8/31/2002  Donald Becker <becker@scyld.com> http://www.scyld.com/linux/drivers.html
    hamachi.c:v1.04 11/17/2002  Written by Donald Becker <becker@scyld>
    eth1: Packet Engines GNIC-II "Hamachi" type 20911 at 0xfc9b5000, <1>Unable to handle kernel NULL pointer dereference at virtual address 000000f2
     printing eip:
    *pde = 00000000
    Oops: 0002
    CPU:    0
    EIP:    0010:[<c86dc415>]    Not tainted
    EFLAGS: 00210286
    eax: c2de5400   ebx: 00000000   ecx: 000003e8   edx: 00000004
    esi: 00000000   edi: 00000000   ebp: c2de5400   esp: c8727ea0
    ds: 0018   es: 0018   ss: 0018
    Process insmod (pid: 2118, stackpage=c8727000)
    Stack: 00000000 c2de5474 c86dc0dc c2de5400 00000004 00000000 f8021000 00000106
           fc9b5000 00000016 c01ecfd1 c22fe000 ffffffff c82af31c c22fe000 00000000
           fc9b5000 0000000a 00000000 00000000 c86dc000 00000001 00000001 00002500
    Call Trace: [<c86dc0dc>] [<c01ecfd1>] [<c82af31c>] [<c86de370>] [<c86dd88c>]
       [<c86de3c0>] [<c0118e1d>] [<c86dc060>] [<c010710b>]
    Code: 66 89 93 f2 00 00 00 c6 83 f0 00 00 00 02 8a 83 f0 00 00 00

Does that provide enough clues for someone to give a suggestion on how
to proceed?