From: Matt Kirsch kirschm@wycol.com
Newsgroups: comp.os.linux.hardware,comp.os.linux.setup,comp.os.linux.misc
Subject: Re: Need help w/ ISAPNP & SB16pnp
Date: Thu, 23 Oct 1997 08:59:27 -0400
Organization: Wyoming County Online
To: Abby Fleischer abb@erols.com

Abby Fleischer wrote:

> Loading failed! The module symbols (from linux-2.0.18) don't match your
> linux-2.0.18

> ... so, what's all that mean? I can only guess that somehow the module
> is not compatible with my kernel version. From "Running Linux": "If you
> attempt to load a module with a newer or older kernel than it was
> compiled for, insmod will complain and not allow the module to be
> loaded." But how could this happen? I built the module under my current
> kernel version... I think...????

That is a generic error message, and is only correct in some cases.
In your case, it simply means that the module didn't load for some
UNKNOWN reason.

The driver developers weren't more descriptive because they didn't know
what was causing the error when they wrote the driver. All they knew was
that it worked on their test system, but they still had to cover all the
open cases.

I know of a few factors that could be causing this:

1. CONFIG_MODVERSIONS is enabled (answered "y" in "make config")
Personally, I've always had this trouble with this option enabled. I
don't have any use for it, and I occasionally load modules that didn't
come with the kernel, so I turn it off.

2. Your boot kernel is not the kernel that goes with the modules you
compiled. For example, you're booting the default RedHat kernel, but you
wanted some other funky module, so you recompiled the kernel and
modules, installed the modules, but didn't install the kernel that was
compiled with them. I don't know why/if this is a real problem, but it
was something I tried when I was debugging this problem, and it helped.

The way I set up a modular kernel:

1. make menuconfig
2. make dep
3. make clean
4. make zImage
5. make modules
6. make modules_install
7. cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz (It's a RedHat
system)
8. cp /usr/src/linux/System.map /boot/System.map (don't ask me why, but
without it, my ATAPI CDROM doesn't work?)
9. lilo (to rewrite the boot drive's MBR so it loads the new kernel)
10. depmod -a
11. reboot with the new kernel
12. test the new module with modprobe <module>
if FAILURE:
{ modprobe -r <module>
make menuconfig (and adjust the module's settings)
make modules (to recompile the modules)
make modules_install
depmod -a
goto 12. }
-and/or-
{ tweak /etc/pnp.conf in the case of a SB16PnP
isapnp /etc/pnp.conf
goto 12. }
if SUCCESS:
{ add modprobe line to /etc/rc.d/rc.modules }

> Furthermore, are there supposed to be
> files called "audio_init" and "DMAbuf_init" somewhere? (I can't find
> them, if so.) Were they supposed to be automatically created by some
> part of the configuration process?

They're not files, they're functions that initialize the card.