Using Older Kernel Modules in Linux
datazone asks:
"I have a particular network device, that
is currently not supported, however the
manufacturer gave me a precompiled module
from a 2.0.33 system. They have no plans
of releasing the source or creating new
modules, it was only by numerous messages
that I got my hands on these. The only
problem is that i use the 2.2.4 kernel and
it will not allow me to load these modules.
I was wondering if anyone knew a way around
this. I need to get these modules loaded,
without having to use an old kernel. Anyone
have any information on this?"
Try enabling CONFIG_MODVERSIONS (Set version information yadda yadda yadda in make menuconfig). Might work. You could also try pestering them to build a module against a more recent kernel (like 2.2.4 :)
you could always try to hexedit the module and change the version-number
I'm no kernel guru, but I'm pretty sure that many driver APIs have changed in the late 2.1's, and the same goes for network APIs (hence the need for new net-tools for 2.2...).
:)
CONFIG_MODVERSIONS can help between 2 relatively close kernel versions, but I doubt very much it can do anything to handle "2.0 in 2.2", that'd be emulation
It was sort of nice that they gave you an old obsolete binary module, in a short term here's a crumb sort of way. But that's it. Binary modules are short term fixes while you go about getting a real network device. Wha is this gadget, who makes it, why is it so important? It sounds like it is old obsolete hardware, single sourced, or you wouldn't be stuck with it and its obsolete module.
If you have to have this device to interface to some equipment or a network, why not scrounge an old 486/Pentium, install a 2.0 kernel, and make the best of a bad situation?
--
Infuriate left and right
Indeed, please name names, as this sounds like a network driver that I wrote once, for a company called Gigalabs. I wouldn't happen to be their GigaPipe NIC, would it?
-The Code Nazi
Ce n'est pas une signature automatique.
I got the feeling from reading all of the various help things with various kernel options when I was compiling my kernel that this was possible, through use of modprobe (and a kernel switch, somewhere.) Of course, I may be wrong as I'm not at my linux box now, and can't really check, but I *think* that this is possible.
The catch is, I'm not quite sure how. I'd start by going through the kernel module documentations, and maybe the man pages for modprode and the like. Of course, I could be way off here, so it's probably a good idea to see what other people have to say.
Hope that was a help...