# Nach kernelupdate kein modul mehr ladbar[solved]

## fabi@allstuff.de

Hallo,

Nachdem ich meinen Kernel von 2.6.11-gentoo-r5 auf r6 geupdatet hatte, zeigte dmesg folgende Meldungen:

b44: version magic '2.6.11-gentoo-r6 preeempt PENTIUMM 4KSTACKS gcc-3.3' should be '2.6´.11-gentoo-r6 SMP preeempt PENTIUMM 4KSTACKS gcc-3.3' 

modprobe b44:

invalid module format

Leider bekomme ich diesen Fehler bei jedem modul, somit auch bei wlan.

Bitte dringenst um Hilfe,

mod edit: [wichtig] aus dem Titel entfernt. --Earthwings

----------

## fabi@allstuff.de

Leider macht meine Festplatte seit diesem Update auch ein zwar sehr hohes, aber total nerviges Geräusch. DMA ist aktiviert.

Das Summen verstummt, sobald der PC am arbeiten ist, oder ich auf das Touchpad drücke.

Weiß jemand Abhilfe?

----------

## m.b.j.

Vieleicht hast du 

"make modules install" vergessen?

es kann auch schon mal helfen 

```
modules-update
```

aufzurufen...

----------

## fabi@allstuff.de

Ne, hab ich *leider* schon gemacht.

Es kommen die gleichen Fehler dabei raus.

Habe auch den Kernel und ipw2100 reemerged und neu compiled.

----------

## Earthwings

Das b44 ist auch ein externes Modul, oder? net-misc/bcm4400 schätzungsweise.

Ist evtl. der Symlink /usr/src/linux falsch? Die externen Module scheinen ohne SMP Unterstützung gebaut zu werden, während dein Kernel wohl mit kompiliert wurde. Brauchst du die überhaupt, sprich hast du mehrere Prozessoren oder benutzt Hyperthreading?

----------

## fabi@allstuff.de

Ich habe weder HT noch mehrere CPUs. Ich habe aber die Option im Kernel erst später deaktiviert.

Der Link ist auch richtig.

b44 ist das Modul für die Broadcom 4400 Netzwerkkarte.

----------

## Earthwings

 *fabi@allstuff.de wrote:*   

> Ich habe weder HT noch mehrere CPUs. Ich habe aber die Option im Kernel erst später deaktiviert.
> 
> Der Link ist auch richtig.
> 
> b44 ist das Modul für die Broadcom 4400 Netzwerkkarte.

 

Überprüf mal den laufenden Kernel. 

```
gzcat /proc/config.gz | grep SMP
```

muss ergeben, das SMP deaktiviert ist. Evtl. musst du den Kernel noch mal neu kompilieren mit der entsprechenden Option 

```
Symbol: IKCONFIG_PROC [=y]                                                │

  │ Prompt: Enable access to .config through /proc/config.gz                  │

  │   Defined at init/Kconfig:233                                             │

  │   Depends on: IKCONFIG && PROC_FS                                         │

  │   Location:                                                               │

  │     -> General setup                                                      │

  │       -> Kernel .config support (IKCONFIG [=y])
```

----------

## fabi@allstuff.de

Die Datei /proc/config existiert leider nicht  :Sad: 

----------

## fabi@allstuff.de

Nachdem ich den Kernel nochmals geändert habe, nun folgendes:

Warning: /..../ipw2100.ko needs unkown symbol _per_cpu_offset

Die gleiche Meldung bekomme ich für die Module ipw2100 und ieee80211 (mit ähnlichen).

modprobe ipw2100:

...Error...: unkown symbol in modul, or unkown parameter

modprobe b44 bringt mir aber erstaunlicher Weiser den vorherigen Fehler: invalid module format

----------

## Earthwings

Ist SMP jetzt deaktiviert oder nicht? Damit /proc/config.gz existiert, musst du den Kernel enstprechend konfigurieren, siehe oben.

----------

## fabi@allstuff.de

Habe anscheinend den Kernel mit SMP kompilied, aber ich brauche es eigentlich gar nicht ->Pentium M Laptop.

Kann ich SMP im Kernel deaktiviert lassen?

----------

## Earthwings

Ja, ist sogar besser.

----------

## fabi@allstuff.de

Aber wie kann ich dann alles neukompilieren, was ich anscheinend muß.

emerge -e world geht nicht, da ich nicht ins Internet komme ohne Netzwerkkarte.

----------

## ZX-81

make sollte reichen, wenn nicht dann löscht make clean alle Objektdateien, nocht härter ist make mrproper, es versetzt die Kernelquellen wieder in den Zustad nach dem Auspacken, davor solltest Du allerdings Deine ".config" in Sicherheit gebracht haben. 

emerge -e world hat damit nichts zu tun.

----------

## ZX-81

 *m.b.j. wrote:*   

> Vieleicht hast du 
> 
> "make modules install" vergessen?
> 
> 

 

Vielleicht liegt hier der Hund begraben: Es muss make modules_install heissen. Ganz blöd dabei ist, dass es die beiden Targets modules und install gibt, und deshalb dabei nicht die Fehlermeldung target not found kommt.

----------

## fabi@allstuff.de

nein, make modules_install habe ich sicher ausgeführt.

Aber danke für den Hinweis, werde ich, soblad ich zu Hause bin testen.

----------

## fabi@allstuff.de

Mein Problem läßt sich leider auch dadruch nicht beheben, habe make und make clean ausgeführt.

Sobald ich aber irgendein Modul *.ko laden will, kommt die Meldung invaldi module format.

----------

## STiGMaTa_ch

 *fabi@allstuff.de wrote:*   

> Mein Problem läßt sich leider auch dadruch nicht beheben, habe make und make clean ausgeführt.
> 
> Sobald ich aber irgendein Modul *.ko laden will, kommt die Meldung invaldi module format.

 

Make und dann make clean? Ich hoffe das war nur eine Aufzählung und nicht die Reihenfolge die du angewendet hast. Ausserdem hoffe ich, dass du nicht z.B. versucht hast dein B44 Modul mittels modpropbe b44.ko zu laden.

Führe mal genau folgende Schritte durch und sag ob es dann klappt oder nicht.

Stell sicher, dass du alles als Benutzer root ausführst.

1.) In das Verzeichnis der Kernelsourcen wechseln:

```
cd /usr/src/linux
```

2.) Alte .config in sicherheit bringen.

```
cp .config ../config_backup
```

3.) Kernel in den Ausgangszustand versetzen.

```
make mrproper
```

4.) Die alte .config Datei wieder zurückholen.

```
cp ../config_backup .config
```

5.) Konfiguration ev. nochmals anpassen und prüfen, dass SMP deaktiviert ist.

```
make menuconfig
```

6.) Kernel kompilieren

```
make && make modules_install
```

7.) Die Kernel Dateien in das Boot Verzeichnis kopieren.

```
mount /boot

cp arch/i386/boot/bzImage /boot/kernel-2.6.11-gentoo-r6

cp System.map /boot/System.map-2.6.11-gentoo-r6

cp .config /boot/config-2.6.11-gentoo-r6
```

8.) Sicherstellen, dass in deinem GRUB/LILO ein Eintrag für diesen Kernel vorhanden ist.

```
z.B. GRUB Konfiguration mit boot Partition auf /dev/hda1 und root auf /dev/hda7

# 2.6.11 Kernel OHNE SMP

title=Gentoo Linux 2.6.11-gentoo-r6 ohne SMP

root (hd0,0)

kernel (hd0,0)/kernel-2.6.11-gentoo-r6 root=/dev/hda7
```

9.) Rebooten und den Menueintrag "Gentoo Linux 2.6.11-gentoo-r6 ohne SMP" auswählen.

```
reboot
```

10.) Als root anmelden und das Modul für deine Netzkarte laden.

```
modprobe b44
```

Wenn du keinen der Schritte auslässt sollte danach alles funktionieren.

Lieber Gruss

STiGMaTa

----------

## fabi@allstuff.de

Danke für die Bemühunge.

Habe aber selber beim Rumtüftlen gemerkt, dass weiß der Geier wieso, ich irgendwie einen Fehler beim Kopieren des kernel Images gemacht habe.

Jetzt geht wenigstens wieder alles.

Aber danke nochmal.

----------

