2.2->2.4 : kernel conflict problem, NICs not recognized
Hi,
I want to upgrade the kernel of a Woody from 2.2.22 to 2.4.25. The
computer is an old Pentium 75 with two NICs (NE2000) ; everything goes
well with 2.2 (io and irq in modules.conf), but NICs are not recognized
with 2.4, even with insmod followed by the io and irq parameters.
The module is ne.o , which needs 8390.o. When loading this last one, I
obtain this:
Using /lib/modules/2.4.25.v/kernel/drivers/net/8390.o
/lib/modules/2.4.25.v/kernel/drivers/net/8390.o: unresolved symbol
bitreverse_Rbaeb160c
/lib/modules/2.4.25.v/kernel/drivers/net/8390.o: unresolved symbol
crc32_le_Ra34f1ef5
=> No idea where the problem could be. Just searching for the cause of the
conflict led me to find the same definition of bitreverse in ksyms.c and
crc32.c. As I don't know much about the kernel, I have no idea if this is
really a conflict and/or if this involves the "CRC32" module that I have
too.
Any idea is welcomed, thanks in advance!
tartine:/usr/src/linux-2.4.25# grep -r "bitreverse" *
include/linux/crc32.h:extern u32 bitreverse(u32 in);
include/linux/crc32.h:#define ether_crc(length, data)
bitreverse(crc32_le(~0, data, length))
include/linux/modules/crc32.ver:#define __ver_bitreverse baeb160c
include/linux/modules/crc32.ver:#define bitreverse
_set_ver(bitreverse)
kernel/ksyms.c:EXPORT_SYMBOL(bitreverse);
lib/crc32.c:u32 bitreverse(u32 x)
lib/crc32.c:EXPORT_SYMBOL(bitreverse);
lib/crc32.c: init = bitreverse(init);
lib/crc32.c: crc2 = bitreverse(crc1);
lib/crc32.c: if (crc1 != bitreverse(crc2))
lib/crc32.c: crc1, crc2, bitreverse(crc2));
--
Christophe Courtois - Ostwald, Alsace, France
http://www.courtois.cc/
----------------------------------------------------------------------
Join the Army,
travel to exciting new places,
meet interesting new people,
and kill them.
Reply to: