[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

compiling 3c59x driver on PPC



Hi,

I got a PowerMac 7200 cheap on eBay, and a 3Com
ethernet card. The idea is to set up a router to
share our cable modem.

I have a standard installation of Debian, or at
least I just stuffed the CDs in and let it do its
thing! (I'm completely new to linux.)

Unfortunately I've fallen at the first hurdle and
am now lying on the floor with grazed hands and
knees and about to have a tantrum...

...it all started when I slotted in the ethernet
card and ifconfig showed nothing.

I worked out that the card is a 3Com 905 and that
I need the 3c59x driver. It seems that this is
not included, so you have to download and compile
it.

I found the web page (from Ethernet-HOWTO) and
downloaded the driver source and did as it said:

# cd /usr/src/modules

# ls
3c59x.c kern_compat.h pci-scan.h

# tail 3c59x.c
/*
* Local variables:
* compile-command: "gcc -DMODULE -Wall
-Wstrict-prototypes -O6 -c 3c59x.c"
* cardbus-compile-command: "gcc -DCARDBUS
-DMODULE -Wall -Wstrict-prototypes -O6 -c
3c59x.c -o 3c575_cb.o -I/usr/src/pcmcia/include/"
* eisa-only-compile: "gcc -DNO_PCI -DMODULE -O6
-c 3c59x.c -o 3c597.o"
* c-indent-level: 4
* c-basic-offset: 4
* tab-width: 4
* End:
*/

# gcc -DMODULE -Wall -Wstrict-prototypes -O6 -c
3c59x.c
In file included from 3c59x.c:93:
/usr/include/linux/string.h:28: warning:
conflicting types for built-in function `memset'
/usr/include/linux/string.h:29: warning:
conflicting types for built-in function `memcpy'
/usr/include/linux/string.h:32: warning:
conflicting types for built-in function `memcmp'


hmmm, looks like somethings gone wrong. Indeed it
has:

# insmod 3c59x.o
3c59x.o: kernel-module version mismatch
3c59x.o was compiled for kernel version
2.2.16pre4
while this kernel is version 2.2.18pre21.


This turns out to be true: version.h says

# cat /usr/include/linux/version.h
#define UTS_RELEASE "2.2.16pre4"
#define LINUX_VERSION_CODE 131600
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b)
<< 8) + (c))

whereas

# uname -r
2.2.18pre21


but I can't fix version.h because

# cd /usr/src/linux; make include/linux/version.h
bash: cd: /usr/src/linux: No such file or
directory
make: *** No rule to make target
`include/linux/version.h'. Stop.



What on earth do I need to do?

Also, once I've compiled the driver, what do I
do?
Is it soemthing to do with modconf?

Thanks
Ricahrd.

____________________________________________________________
Do You Yahoo!?
Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
or your free @yahoo.ie address at http://mail.yahoo.ie



Reply to: