# [part SOLVED] disagrees bout version of symbol module_layout

## Munin

today I somehow managed to mess up my kernel

I was trying to get an old wifi-stick (D-Link DWL-G122, rt73) to work

I don't have a clue what I did wrong but when I booted into the new kernel a lot of modules failed to start, among them nfsd and basically anything related to sound, all complaining about the version of the symbol module_layout

what's really strange is that I just recompiled my 2.6.32-tuxonice-r5, I didn't use a new one

"make clean" didn't help and now I'm pretty helpless... I have no idea what causes those problems, after all its kernel-stuff that fails  :Shocked: 

when I try to modprobe rt73usb it says

```
FATAL: Error inserting rt73usb (/usr/lib/modules/2.6.32-tuxonice-r5/kernel/drivers/net/wireless/rt2x00/rt73usb.ko): Invalid module format
```

the same goes for "modprobe snd" (and basically all the others):

```
FATAL: Error inserting rt73usb (/usr/lib/modules/2.6.32-tuxonice-r5/kernel/sound/core/snd.ko): Invalid module format
```

I knew that problem from the nvidia-drivers but strangely X still starts and nvidia-drivers work fine

does anyone have an idea on how to fix this?

----------

## Rexilion

Perhaps something changed over all the modules.

Perhaps a make modules_install will fix that?

----------

## Munin

I always do that when I compile the kernel... "make && make modules_install"

and if I'm not mistaken "make clean" should have removed everything "make" created, so everything should be created anew - including all those modules

(correct me if I'm wrong)

----------

## Hu

 *Munin wrote:*   

> I always do that when I compile the kernel... "make && make modules_install"
> 
> and if I'm not mistaken "make clean" should have removed everything "make" created, so everything should be created anew - including all those modules
> 
> (correct me if I'm wrong)

 You are slightly incorrect on the details.  make with no targets will build all, which compiles both the kernel and the modules.  make install will install the kernel, system map, and supporting config.  make modules_install will install just the modules.  make clean will clean most, but not all, products of a build.  In particular, make clean cleans the build tree, and does not touch anything you installed.  Are you certain that you installed both the new kernel and the new modules to your live filesystem?  Check the mtimes on both.  In the meantime, it may be helpful to boot back to your previously built fully functioning kernel.

----------

## Munin

I do know how make works, I just didn't check what rules the target clean has  :Wink:  (after all that Makefile is damn huge)

I tried booting the old kernel, was no use, the modules are the same  :Confused:  (same kernel version... I expected as much since the path to those files depends on the kernel version)

----------

## NeddySeagoon

Munin,

Have you done a gcc upgrade?

The kernel checks that modules are made with the same version if gcc that it was. make clean should have taken care of that though.

Try 

```
emerge -1 module-init-tools
```

to rebuild modprobe and friends.

----------

## Munin

if I'm not mistaken I didn't update gcc

I will give your suggestion a try as soon as I can get online with that machine

I'll also try compiling with an older version of gcc, just for the fun of it...

----------

## Munin

I was able to sorta fix the problem

here's what I did

boot a different kernel (different version!)

remove /lib/modules/2.6.32-tuxonice-r5/

(make sure /usr/src/linux still points to 2.6.32-tuxonice-r5)

cd to /usr/src/linux-2.6.32-tuxonice-r5

make && make modules_install

copy the new image to /boot, like usual

reboot into newly built kernel

all modules get loaded without any problems again

yet one new problem occured:

I can modprobe rt73usb, yet ifconfig -a doesn't show any new interfaces, no eth1, no wlan0

suggestions welcome, yet for now I'm just glad I can use my system again... would be nice if I could access the internet with it, too, though

----------

## NeddySeagoon

Munin,

That suggests your wlan0 interface is not an rt73 device.

The firmware is missing - look in dmesg.  It should be in /lib/firmware 

The kernel may be missing the firmware loading option but from memory, thats turned on by other kernel options that you should have turned on anyway.

----------

## Munin

you're right!

when I first googled the first three results all said its rt73 (so I didn't check any more), after your post I googled once more and all results said its rt2500usb...

so, anyway, the stick now works, thanks once more  :Smile: 

----------

