DECchip 21040 Ethernet Card with Alpha 2.4.18-generic
Greetings,
I'm trying to get a DECchip 21040 Ethernet card working with 2.4.18-generic
on a Digital AlphaStation 200 4/166 and I'm having some troubles. After
loading tulip.o that ships with the kernel and bringing up the ethernet
interface, I cannot ping other machines.
# modprobe tulip
# ifup eth0 (At this point, the link light on the switch goes off)
# ping <remote host IP>
eth0: No link beat found.
Here's what /proc/pci has to say about the card:
Bus 0, device 11, function 0:
Ethernet controller: Digital Equipment Corporation DECchip 21040 [Tulip] (rev 36).
IRQ 15
Master Capable. Latency=32
I/O at 0x8400 [0x847f].
Non-prefetchable 32 bit memory at 0x1241000 [0x124107f].
Thinking it might be a bad NIC, I've switched it out with another identical
card and get the same behavior. I then tried downloading the latest version
of tulip.c and pci_scan.c from http://www.scyld.com/network/tulip.html
When trying to compile pci-scan.c with the following command:
# gcc -DMODULE -D__KERNEL__ -DEXPORT_SYMTAB -Wall -Wstrict-prototypes -O6 -I/usr/src/kernel-headers-2.4.28-generic/include -c pci-scan.c -o pci-scan.o
I get the following error:
/usr/src/kernel-headers-2.4.28-generic/include/asm/current.h:4: global register variable follows a function definition
After doing a bit of research, I found a suggestion to add the following options:
-mno-fp-regs -ffixed-8
After adding those options, both pci-scan.c and tulip.c compiled and loaded
successfully. I was also able bring up the interface successfully; however,
when I tried to ping or ssh to another machine, I got a kernel panic.
# insmod ./pci-scan.o
pci-scan.c:v1.11 8/31/2002 Donald Becker <becker@scyld.com> http://www.scyld.com/linux/drivers.html
# insmod ./tulip.o
tulip.c:v0.97 7/22/2003 Written by Donald Becker <becker@scyld.com>
eth0: Digital DC21040 Tulip rev 36 at 0xfffffc0301241000, 00:00:F8:5E:4F:35, IRQ 15.
# ifup eth0
# ping <remote host IP>
Unable to handle kernel paging request at virtual address 0000000100000578
ping(304): Oops 0
<register dump here -- sorry, I'm copying this by hand>
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
Here's the info on my environment:
# uname -r
2.4.18-generic
# gcc --version
2.95.4
Thanks in advance for any help you can provide. If you need any further
information, please let me know.
Andy
--
Andy Dalton | Graduate Student
Department of Computer Science | Appalachian State University
Boone, North Carolina USA | Office: (828) 262-6706
ard@cs.appstate.edu | http://www.cs.appstate.edu/~ard/
Reply to: