On Friday 01 August 2003 06:45, Andrew McGuinness wrote: [...residue of previous snipped...] > > include/pcmcia/version.h isn't a problem. > > The errors you quoted from you compile are in code that shouldn't > be compiled unless LINUX_VERSION_CODE indicates a 2.2 kernel, at > least in the rtl8139.c I picked up from scyld.com. > > So either, a different LINUX_VERSION_CODE is being picked up from > somewhere else, or the rtl8139.c you have been provided is so old > or hacked up that it only supports 2.2 kernels.
Probably the latter. Now I am beginning to understand. This is the top of the file /* rtl8139.c: A RealTek RTL8129/8139 Fast Ethernet driver for Linux. */ /* Written 1997-2000 by Donald Becker. ... /* Version 1.11 is originally written by Donald Becker. Version 1.11a is modified by Clifford Chiang, [EMAIL PROTECTED], with Link Down Power Saving */ It is the version distributed by the card maker on a floppy with the card. Looks out of date. No changelog on the disk. > > Options for continuing: > > a) Try to go back completely to 2.2 and compile with that. I don't > really recommend that, as being stuck with 2.2 kernel will hold you > back on other things. No, thanks. > > b) Find out where the rtl8139.c on your floppy disk came from. If > it is patched or modified by the manufacturer, try to find if they > have a newer version. The latest version on the realtek.com.tw site seems to be: Linux driver for kernel 2.4.x (RedHat 7.2 ) ver.1.60 2003/06/16 I tried to compile that, without success. At the risk of boring everyone I attach below the session to show what happened. > If the changelog doesn't suggest it has been modified by anyone but > Donald Becker, go to http://www.scyld.com/network/rtl8139.html > and follow the instructoins there. (That means downloading the > four files rtl8139.c kern_compat.h pci_scan.h, pci_scan.c and doing > roughly what you've been doing). If curiosity wins out over the pressure to finish real work, I might try that later. > > If that sounds a bit much, I'll try compiling it all for you > tonight or Saturday morning. I'm getting kind of hooked on this > problem. I'm glad to hear that. I doubt I could solve this without you! > > It might help if you mail the rtl8139.c you have to me (I don't > think it's of much value to the list generally) I haven't mailed it in the light of the above. Many thanks for your help so far. richard addendum: Here is the failed compile (I've added backslashes to mark split lines): ===============first, here is the Makefile================== # Makefile for a basic kernel module #----------------------------------------------------------------- # This flag specifies access type to operation register on PCI \ ethernet chips. # If you apply 8139/8139CP ethernet controller via cardbus interface \ on linux distribution Red Hat 7.3 # please turn on this macro. #------------------------------------------------------------------ #RTL_MEM_ACCESS = USE_IO_OPS #------------------------------------------------------------------ # Please specify the include path according to your kernel. #------------------------------------------------------------------ NEW_INCLUDE_PATH = /usr/src/linux-2.4.18-3/include/ #------------------------------------------------------------------ # GNU C compiler and its flags #------------------------------------------------------------------ CC=gcc MODCFLAGS := -O6 -Wall -DCONFIG_KERNELD -DMODULE -D__KERNEL__ \ -DLINUX -D${RTL_MEM_ACCESS} all: 8139too 8139too: 8139too.c /usr/include/linux/version.h $(CC) $(MODCFLAGS) -I$(NEW_INCLUDE_PATH) -c \ 8139too.c -o [EMAIL PROTECTED] . ===============and now what I did=========================== [EMAIL PROTECTED]:~/down/realtek$ make Makefile:28: *** missing separator. Stop. The file finishes with a blank line and a line (28) containing only a full stop (US period). I deleted the full stop and tried again: [EMAIL PROTECTED]:~/down/realtek$ make gcc -O6 -Wall -DCONFIG_KERNELD -DMODULE -D__KERNEL__ -DLINUX -D -I/usr/src/linux/include/ -c 8139too.c -o 8139too.o 8139too.c:0: malformed option `-D -I/usr/src/linux/include/' make: *** [8139too] Error 1 That empty -D is the '-D${RTL_MEM_ACCESS}'. Presumably something is supposed to substitute it. In a spirit of blind experimentation, I tried omitting it altogether: [EMAIL PROTECTED]:~/down/realtek$ ls 8139too.c Makefile linux24x-8139cp-1.60.zip readme.txt [EMAIL PROTECTED]:~/down/realtek$ gcc -O6 -Wall -DCONFIG_KERNELD \ -DMODULE -D__KERNEL__ -DLINUX -I/usr/src/linux/include/ -c \ 8139too.c -o 8139too.o 8139too.c: In function `rtl8139_close': 8139too.c:2753: warning: unused variable `ret' 8139too.c: In function `rtl8139CP_close': 8139too.c:2798: warning: unused variable `ret' [EMAIL PROTECTED]:~/down/realtek$ ls 8139too.c 8139too.o Makefile linux24x-8139cp-1.60.zip readme.txt It had written a file, so, WTH, I gave it a try. [EMAIL PROTECTED]:~/down/realtek$ su Password: segaccia:/home/richard/down/realtek# chown root:root 8139too.o segaccia:/home/richard/down/realtek# cp 8139too.o \ /lib/modules/2.4.18-bf2.4/kernel/drivers/net segaccia:~# insmod 8139too Using /lib/modules/2.4.18-bf2.4/kernel/drivers/net/8139too.o Warning: loading \ /lib/modules/2.4.18-bf2.4/kernel/drivers/net/8139too.o will taint \ the kernel: no license /lib/modules/2.4.18-bf2.4/kernel/drivers/net/8139too.o: \ init_module: No such device Hint: insmod errors can be caused by incorrect module parameters, \ including invalid IO or IRQ parameters Naturally, it didn't work. ========================================================= -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]