# Modules not working anymore !!!

## gza

I was having problems (and still am) getting the madwifi modules (ath_hal, ath_pci, wlan) to load.  Under the advice of another poster I recompiled my kernel and modules thinking that the gcc used to compile each were different.

Now none of my modules will work.

During boot, it says "missing user or kernel mode driver"; and if I try to modprobe, I get "invalid module format"

As a note, when I do "make && make modules modules_install install", nothing really happens with regards to my kernel, it just goes straight to my creating my modules. How can I ensure that it is creating a WHOLE new kernel?

How does one determine under what gcc their kernel was compiled?

Help!

----------

## emes

try running make clean then recompile

----------

## gza

I did:

```
make clean

make && make modules modules_install install

```

Still no dice... *sigh*

----------

## mope

 *gza wrote:*   

> I was having problems (and still am) getting the madwifi modules (ath_hal, ath_pci, wlan) to load.  Under the advice of another poster I recompiled my kernel and modules thinking that the gcc used to compile each were different.
> 
> Now none of my modules will work.
> 
> During boot, it says "missing user or kernel mode driver"; and if I try to modprobe, I get "invalid module format"
> ...

 

that was me, sorry  :Wink: 

anyway, I should have made this more clear:

delete the kernel directory

unmerge the kernel (emerge -C)

re-emerge the kernel

recompile the kernel 

recompile the modules

(make && make modules_install will work for 2.6)

----------

## a2gentoo

During a recent update (emerge -u world) there was an update to hotplug.

The new hotplug gets its firmware from a completely different location than the old version. In trying to get everything working I tried a simlink from the old location /usr/lib/hotplug/firmware to the new location /lib/firmware. 

That didnt work. But when I actually moved the firmware loads all of my stuff started working.

 It wasnt the modules it was the firmware that drove the hardware.

Hope this helps.

----------

## gza

Thanks for the help... but unfortunately, I still have the same problem.  My modules don't work!

[/quote]

that was me, sorry  :Wink: 

anyway, I should have made this more clear:

delete the kernel directory

unmerge the kernel (emerge -C)

re-emerge the kernel

recompile the kernel 

recompile the modules

(make && make modules_install will work for 2.6)[/quote]

Any other options?  I'd hate to have to reinstall and still be stuck with my original madwifi problem..

-----

dmesg is saying this for each of the modules:

(module) disagrees about version of symbol struct_module

----------

## headgap

did you ever get this working? if so, drop me a line.

not-compiled-in modules haven't worked for me since

upgrading to 2.6.x kernel (maybe there's a hint there).

not sound, not nvidia, not ip_conntrack.

'Invalid module format'.

tried linux26-headers, rebuild glibc, rebuild kernel,

rebuild drivers -- no go.

compiled-in to the kernel, they work fine.

after emerge coldplug, there is 'nothing' in either

'firmware' location on my disk -- is that a problem?

cheers

----------

## feld

uhh do u have the lastest "module-init-tools" package? its pretty buggy and advised that you dont get it if ur running ~x86. if u did get it downgrade and see if that helps u at all.

-Feld

----------

## Cintra

Hei

module-init-tools 3.0-r2 is working fine for me..

mvh

----------

## headgap

module-init-tools is at 3.0-r2

i tried backing it out to 3.0-r1

and there was no change

modprobe -v via82cxxx_audio:

Warning: error inserting (full-path):

Invalid module format

dmesg shows the error as:

via82cxxx_audio: version magic

'2.6.7-gentoo-r11 SMP preempt PENTIUM4 4KSTACKS gcc-3.3' 

should be

'2.6.7-gentoo-r11 preempt PENTIUMIII 4KSTACKS gcc-3.3'

----------

## Cintra

obvious question I guess - do you have a Pentium 4 or III?

If P4, .config should show..

```
 

# CONFIG_MPENTIUMIII is not set

# CONFIG_MPENTIUMM is not set

CONFIG_MPENTIUM4=y

```

Also, 'emerge info' will show something like..

```

CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"

```

regards

----------

## headgap

it's a P4-based Celeron, with mmx,

mmx2, and sse support

i manually set arch=pentium4 in make.conf

and selected P-4 / Coppermine / Celeron in make menuconfig, along with SMP/4 (since it can hyper-thread) and hyperthreading support

it's a stock intel 800 or so, o-clocked to 950, runs at 45C with nice cooling, gives 2400 bogomips. 

cross-boots to my 'other' linux, a debian-based mod'ed undead at 2.4.20, which loads and runs the nvidia-1.0-4151 driver nicely (using modprobe)

----------

## headgap

more error dumps:

'forcing' it to ignore version magic

modprobe --f via82cxxx_audio:

stderr gives:

Unknown symbol in module or unknown parameter (see dmesg)

dmesg gives:

via82cxxx_audio: no version magic, tainting kernel

via82cxxx_audio: unknown symbol: midi_devs

via82cxxx_audio: unknown symbol: uart401_intr

via82cxxx_audio: unknown symbol: __preempt_spin_lock

and so on, for some 40-odd missing references across its 4 dependency modules

----------

## headgap

i'm gonna try rebuilding module-init and the kernel with P-3, non-SMP and see what happens

shouldn't be more than 20 minutes...

----------

## headgap

well, it's been more than 20 minutes  :)

i've done some regression testing, and -O3 seems to give me 'illegal instruction' traps, in general.

so i backed that out

modprobe is happy with -O2 -arch=pentium3

many thanks for pointing me in the right direction

onwards to nvidia/xorg lockup heaven...

----------

