• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[HowTo] ipw 3945 (Centrino Duo) unter Suse 10.0 und 10.1

Ich werde in den nächsten Tagen ein kleines HOWTO dazu schreiben.
Bis dahin funktioniert das Vorgehen in der README-Datei des Treibers hervorragend und hat nicht so viele "dirty hacks".
 
Also gut, hier einmal ein Versuch:

Man besorge sich die aktuellen Treiber-Dateien von hier, das ieee80211-Subsystem von hier, sowie Microcode und Daemon von hier.
Die Installation des ieee80211 läuft ebenso ab wie im Howto zum ipw2200 erklärt.
Für die Installation des Treibers entpackt man das Archiv der Treiberdatei mit
Code:
tar xvf ipw3945-1.1.0-pre2.tar.gz
wechselt in das neu erstelle Verzeichnis und führt ein
Code:
make
und danach als root ein
Code:
make install_for_testing
aus.

Nun entpackt man den Daemon mit
Code:
tar xvf ipw3945d-1.7.18.tgz
wechselt in das neu erstellte Verzeichnis, und führt als root folgendes aus für ein 32Bit-System:
Code:
cp x86/ipw3495d /sbin/
Für ein 64-Bit-System stattdessen
Code:
cp x86_64/ipw3945d /sbin/
.

Nun entpacken wir noch die Firmware-Datei mit
Code:
tar xvf ipw3945-ucode-1.13.tgz
wechseln in das neue Verzeichnis und kopieren als root die Datei ipw3945.ucode in den Ordner /lib/firmware via
Code:
cp ipw3945.ucode /lib/firmware/

Um den Daemon automatisch beim Laden des Moduls zu starten, muss man Folgendes in die Datei /etc/modprobe.conf.local einfügen:
Code:
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
 remove ipw3945  /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945

Nun sollte ein
Code:
sudo /sbin/modprobe ipw3945
das Treibermodul laden, so dass die WLAN-Verbindung mit YaST zu konfigurieren ist.
 

xtrem

Newbie
Danke für die Anleitung.
Habe alle Pakete runtergeladen und den Treiber wie beschrieben entpackt. Das "make" schlug aber mit folgender Fehlermeldung fehl.
Code:
localhost:~/ipw3945-1.2.0 # make

 WARNING: Your kernel contains ieee80211 symbol definitions and you
are not using the kernel's default ieee80211 subsystem.  (Perhaps you
used the out-of-tree ieee80211 subsystem's 'make install' or have
provided a path to the ieee80211 subsystem via IEEE80211_INC.)

If you wish to use the out-of-tree ieee80211 subsystem then it is
recommended to use that projects' "make patch_kernel" facility
and rebuild your kernel to update the Module symbol version information.

Failure to do this may result in build warnings and unexpected
behavior when running modules which rely on the ieee80211 subsystem.


 Aborting the build.  You can force the build to continue by adding:

        IEEE80211_IGNORE_DUPLICATE=y

to your make command line.


make: *** [check_inc] Error 1
localhost:~/ipw3945-1.2.0 #

Ich kenne mich leider mit Linux nicht aus - bin blutiger Anfänger daher habe ich aufgrund der Fehlermeldung versucht ein "make IEEE80211_IGNORE_DUPLICATE=y" auszuführen
Code:
localhost:~/ipw3945-1.2.0 # make IEEE80211_IGNORE_DUPLICATE=y

 WARNING: Your kernel contains ieee80211 symbol definitions and you
are not using the kernel's default ieee80211 subsystem.  (Perhaps you
used the out-of-tree ieee80211 subsystem's 'make install' or have
provided a path to the ieee80211 subsystem via IEEE80211_INC.)

If you wish to use the out-of-tree ieee80211 subsystem then it is
recommended to use that projects' "make patch_kernel" facility
and rebuild your kernel to update the Module symbol version information.

Failure to do this may result in build warnings and unexpected
behavior when running modules which rely on the ieee80211 subsystem.



 ERROR: A compatible subsystem was not found in the following path[s]:

        /lib/modules/2.6.18.2-34-default /lib/modules/2.6.18.2-34-default/build

You need to install the ieee80211 subsystem from http://ieee80211.sf.net
and point this build to the location where you installed those sources, eg.:

        % make IEEE80211_INC=/usr/src/ieee80211/

or use the 'make patch_kernel' within the ieee80211 subsystem to patch your
kernel sources.

make: *** [check_inc] Error 1

könnte mir jemand weiterhelfen meine WLAN-Karte zum laufen zu bringen.
Habe eine Siemens Amilo Si1520 mit eingebauter WLAN-Karte (ipw 3945)
 

xtrem

Newbie
Hallo,

ich habe jetzt die ieee80211-1.2.16.tgz runtergeladen und mit tar xvzf entpackt.
Danach habe ich mich mit su als root angemeldet in das entpackte Verzeichnis gewechselt. Dann sudo make gefolgt von einem sudo make install ausgeführt.

Dann habe ich den Treiber ipw3945-1.2.0.tgz runtergeladen und mit tar xvf entpackt. Bin in das entpackte Verzeichnis gewechselt und habe ein make ausgeführt.
Dann kam wieder die Fehlermeldung:
Code:
localhost:/tmp/download/ipw3945-1.2.0 # make

 WARNING: Your kernel contains ieee80211 symbol definitions and you
are not using the kernel's default ieee80211 subsystem.  (Perhaps you
used the out-of-tree ieee80211 subsystem's 'make install' or have
provided a path to the ieee80211 subsystem via IEEE80211_INC.)

If you wish to use the out-of-tree ieee80211 subsystem then it is
recommended to use that projects' "make patch_kernel" facility
and rebuild your kernel to update the Module symbol version information.

Failure to do this may result in build warnings and unexpected
behavior when running modules which rely on the ieee80211 subsystem.


 Aborting the build.  You can force the build to continue by adding:

        IEEE80211_IGNORE_DUPLICATE=y

to your make command line.


make: *** [check_inc] Fehler 1
localhost:/tmp/download/ipw3945-1.2.0 #

Ich habe danach die IEEE80211_IGNORE_DUPLICATE=y rangehangen (make IEEE80211_IGNORE_DUPLICATE=y) dann hat er nicht mehr gemeckert.

Danach habe ich ein make install_for_testing ausgeführt aber leider kam dann da auch folgende Fehlermeldung

Code:
localhost:/tmp/download/ipw3945-1.2.0 # make install_for_testing
make: *** Keine Regel, um »install_for_testing« zu erstellen.  Schluss.
localhost:/tmp/download/ipw3945-1.2.0 #

Ich habe daher danach einfach nur ein make install ausgeführt - ist das ok?

Im Anschluss habe ich den Daemon runtergeladen ipw3945d-1.7.22 entpackt ins entpackte Verzeichnis gegangen und ein cp x86_64/ipw3945d /sbin/ ausgeführt.
Dann habe ich den microcode runtergeladen ipw3945-ucode-1.14.2.tgz entpackt ins entpackte Verzeichnis gegangen und cp ipw3945.ucode /lib/firmware/ ausgeführt.
Danach habe ich mit dem vi die /etc/modprobe.conf.local geöffnet und
Code:
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet 
remove ipw3945  /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945
eingetragen.

Nun habe ich sudo /sbin/modprobe ipw3945 in die Konsole eingegeben und bekomme folgende Fehlermeldung
Code:
localhost:/home/xtrem # sudo /sbin/modprobe ipw3945
FATAL: Error inserting ipw3945 (/lib/modules/2.6.18.2-34-debug/updates/ipw3945.ko): Unknown symbol in module, or unknown parameter (see dmesg)
2007-03-11 17:23:57: ERROR: Could not find Intel PRO/Wireless 3945ABG Network Connection
localhost:/home/xtrem #
 

xtrem

Newbie
hmm ok - ich habe die ieee80211-installation noch einmal durchgeführt und den Fehler gefunden - ich hatte bei der Meldung mit "Above" einfach weitergebaut, was ich nicht hätte machen sollen.

Code:
xtrem@localhost:/tmp/download/ieee80211-1.2.16> sudo make
root's password:
Checking in /lib/modules/2.6.18.2-34-debug for ieee80211 components...
/lib/modules/2.6.18.2-34-debug/net/ieee80211/ieee80211_crypt_ccmp.ko
/lib/modules/2.6.18.2-34-debug/net/ieee80211/ieee80211_crypt.ko
/lib/modules/2.6.18.2-34-debug/net/ieee80211/.tmp_versions/ieee80211_crypt_tkip.mod
/lib/modules/2.6.18.2-34-debug/net/ieee80211/.tmp_versions/ieee80211_crypt_ccmp.mod
/lib/modules/2.6.18.2-34-debug/net/ieee80211/.tmp_versions/ieee80211.mod
/lib/modules/2.6.18.2-34-debug/net/ieee80211/.tmp_versions/ieee80211_crypt_wep.mod
/lib/modules/2.6.18.2-34-debug/net/ieee80211/.tmp_versions/ieee80211_crypt.mod
/lib/modules/2.6.18.2-34-debug/net/ieee80211/ieee80211.ko
/lib/modules/2.6.18.2-34-debug/net/ieee80211/ieee80211_crypt_tkip.ko
/lib/modules/2.6.18.2-34-debug/net/ieee80211/ieee80211_crypt_wep.ko
/lib/modules/2.6.18.2-34-debug/include/net/ieee80211_radiotap.h
/lib/modules/2.6.18.2-34-debug/include/net/ieee80211.h
/lib/modules/2.6.18.2-34-debug/include/net/ieee80211_crypt.h
Above files found.  Remove? [y],n y
make -C /lib/modules/2.6.18.2-34-debug/build M=/tmp/download/ieee80211-1.2.16 modules
make[1]: Entering directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/debug'
make -C ../../../linux-2.6.18.2-34 O=../linux-2.6.18.2-34-obj/x86_64/debug modules
  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/debug'

Ich habe mich mal unter http://ipw3945.sourceforge.net/INSTALL belesen und da steht:
If you encounter problems with the above, you may need to install the
ieee80211 sources into your kernel and then build it as part of your
kernel image.

Jetzt meine Frage - wie mache ich das, das ich das als Teil meines Kernels baue?
 
Code:
sudo make patch_kernel
und dann den Kernel neu bauen, würde ich dir als Anfänger aber eher nicht empfehlen. Das läuft auch so.
 

xtrem

Newbie
Bin ein bisschen am verzweifeln.
Ich wollte meine Karte noch einmal neuinstallieren, da sie nicht in den monitor mode konnte.
Ich musste in den Treibern das makefile öffnen und
Code:
CONFIG_IPW3945_MONITOR=y
setzen.

Ich habe mitlerweile 3 mal versucht meine Karte neu zu installieren - ich schaffe es einfach nicht.

Ich installiere erst das ieee80111-Subsystem - da kommt dann dummerweise immer wieder die Fehlermeldung
Code:
Above files found.  Remove? [y],n
Ich mache dann immer mit
Code:
 y
weiter.

Wenn ich dann aber die Treiber mit make bauen will kommt die Fehlermeldung
Code:
IEEE80211_IGNORE_DUPLICATE=y

auch wenn ich dann weiterbaue mit
Code:
make IEEE80211_IGNORE_DUPLICATE=y
und alles weitere wie im WIKI erklärt mache, dann ist für den Moment die Karte installiert, aber nach einem Neustart bemerke ich, dass die Karte nicht da ist.

Code:
localhost:/tmp/download/ipw3945-1.2.0 # ipw3945d
ipw3945d - regulatory daemon
Copyright (C) 2005-2006 Intel Corporation. All rights reserved.
version: 1.7.22
2007-03-13 21:53:47: ERROR: Could not find Intel PRO/Wireless 3945ABG Network Connection

Ich habe den Eintrag in der modprobe.conf.local so wie es im WIKI steht getätigt, damit die Karte auch nach einem Neustart automatisch aktiviert wird.

Was mache ich denn nur falsch?
 
Warum lässt du das ieee80211 nicht einfach in Ruhe??
Du hast aber schon das
Code:
sudo make check_old
für ieee80211 ausgeführt vor dem make? Eventuelle Fehlermeldungen sind wichtig!
 

xtrem

Newbie
Habe gerade noch einmal Linux neu installiert.

Habe dann die 4 Files ( ieee80211-1.2.16.tgz, ipw3945-1.2.0.tgz,ipw3945d-1.7.22.tgz und ipw3945-ucode-1.14.2.tgz) aus dem Internet nach /tmp/download gezogen und alle mit tar xvzf entpackt.

Bin dann ins Verzeichnis von ipw3945-1.2.0.tgz und habe das makefile geändert für den monitor mode (CONFIG_IPW3945_MONITOR=y).
Dann bin ich ins Entpackte Verzeichnis ieee80211-1.2.16 und habe ausgeführt:
Code:
xtrem@localhost:/tmp/download/ieee80211-1.2.16> sudo make check_old
root's password:
Checking in /lib/modules/2.6.18.2-34-default for ieee80211 components...
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_wx.c
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_crypt_wep.c
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_crypt_tkip.c
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_rx.c
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_tx.c
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_crypt_ccmp.c
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_geo.c
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_module.c
/lib/modules/2.6.18.2-34-default/source/net/ieee80211/ieee80211_crypt.c
/lib/modules/2.6.18.2-34-default/source/include/net/ieee80211_crypt.h
/lib/modules/2.6.18.2-34-default/source/include/net/ieee80211_radiotap.h
/lib/modules/2.6.18.2-34-default/source/include/net/ieee80211.h
/lib/modules/2.6.18.2-34-default/kernel/net/ieee80211/ieee80211_crypt_tkip.ko
/lib/modules/2.6.18.2-34-default/kernel/net/ieee80211/ieee80211.ko
/lib/modules/2.6.18.2-34-default/kernel/net/ieee80211/ieee80211_crypt.ko
/lib/modules/2.6.18.2-34-default/kernel/net/ieee80211/ieee80211_crypt_ccmp.ko
/lib/modules/2.6.18.2-34-default/kernel/net/ieee80211/ieee80211_crypt_wep.ko
/lib/modules/2.6.18.2-34-default/build/include/config/ieee80211.h
/lib/modules/2.6.18.2-34-default/build/include/config/ieee80211.h
Above files found.  Remove? [y],n y
CONFIG_IEEE80211=m
CONFIG_IEEE80211_CRYPT_WEP=m
CONFIG_IEEE80211_CRYPT_CCMP=m
CONFIG_IEEE80211_CRYPT_TKIP=m
CONFIG_IEEE80211_SOFTMAC=m
CONFIG_IEEE80211_SOFTMAC_DEBUG=y
Above definitions found.  Comment out? [y], n y
ieee80211 symbols are found from /lib/modules/2.6.18.2-34-default/build/Module.symvers. Do you want to strip them? [y],n y
xtrem@localhost:/tmp/download/ieee80211-1.2.16>
dann habe ich sudo make install gemacht - wurde ausgeführt ohne Fehler

Dann bin ich in das entpackte Verzeichnis ipw3945-1.2.0 und wollte ein make machen - bekomme aber folgenden Fehler:
Code:
xtrem@localhost:/tmp/download/ipw3945-1.2.0> sudo make

 WARNING: Your kernel contains ieee80211 symbol definitions and you
are not using the kernel's default ieee80211 subsystem.  (Perhaps you
used the out-of-tree ieee80211 subsystem's 'make install' or have
provided a path to the ieee80211 subsystem via IEEE80211_INC.)

If you wish to use the out-of-tree ieee80211 subsystem then it is
recommended to use that projects' "make patch_kernel" facility
and rebuild your kernel to update the Module symbol version information.

Failure to do this may result in build warnings and unexpected
behavior when running modules which rely on the ieee80211 subsystem.


 Aborting the build.  You can force the build to continue by adding:

        IEEE80211_IGNORE_DUPLICATE=y

to your make command line.


make: *** [check_inc] Error 1
xtrem@localhost:/tmp/download/ipw3945-1.2.0>

Da ich mir nicht weiter zu helfen weiss, habe ich einfach mal weiter gemacht mit make IEEE80211_IGNORE_DUPLICATE=y
Code:
localhost:/tmp/download/ieee80211-1.2.16 # make IEEE80211_IGNORE_DUPLICATE=y
Checking in /lib/modules/2.6.18.2-34-default for ieee80211 components...
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211_crypt_tkip.ko
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211_crypt.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211_crypt_ccm
p.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211_crypt_tki
p.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211_crypt_wep
.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211.ko
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211_crypt.ko
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211_crypt_ccmp.ko
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211_crypt_wep.ko
/lib/modules/2.6.18.2-34-default/include/net/ieee80211_crypt.h
/lib/modules/2.6.18.2-34-default/include/net/ieee80211_radiotap.h
/lib/modules/2.6.18.2-34-default/include/net/ieee80211.h
Above files found.  Remove? [y],n y
make -C /lib/modules/2.6.18.2-34-default/build M=/tmp/download/ieee80211-1.2.16
modules
make[1]: Entering directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
make -C ../../../linux-2.6.18.2-34 O=../linux-2.6.18.2-34-obj/x86_64/default mod
ules
  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
dann habe ich noch die files kopiert:

Code:
localhost:/tmp/download # cd ipw3945d-1.7.22/
localhost:/tmp/download/ipw3945d-1.7.22 # cp x86_64/ipw3945d /sbin
localhost:/tmp/download/ipw3945d-1.7.22 # cd..
localhost:/tmp/download # cd ipw3945-ucode-1.14.2/
localhost:/tmp/download/ipw3945-ucode-1.14.2 # cp ipw3945.ucode /lib/firmware
Dann habe ich noch die Zeilen wie im WIKI beschrieben in die /etc/modprobe.d.conf.local geschrieben
aber danach ist wieder der Fehler aufgetreten beim ausführen von:

Code:
sudo /sbin/modprobe ipw3945
WARNING: Could not open '/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee8021
1_crypt.ko': No such file or directory
WARNING: Could not open '/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee8021
1.ko': No such file or directory
localhost:/tmp/download/ipw3945-ucode-1.14.2 # cd..
localhost:/tmp/download # cd ipw3945-1.2.0/
localhost:/tmp/download/ipw3945-1.2.0 # ./load debug=0
Unloaded: ipw3945 ieee80211 ieee80211_crypt
WARNING: Could not open '/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee802   1_crypt.ko': No such file or directory
FATAL: Could not open '/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211   ko': No such file or directory
insmod: can't read './ipw3945.ko': No such file or directory
Load failed.
ipw3945d - regulatory daemon
Copyright (C) 2005-2006 Intel Corporation. All rights reserved.
version: 1.7.22
2007-03-14 13:52:27: ERROR: Could not find Intel PRO/Wireless 3945ABG Network C   nnection
..done.
localhost:/tmp/download/ipw3945-1.2.0 #
 

xtrem

Newbie
Ok habe ich gemacht
Code:
localhost:/tmp/download/ipw3945-1.2.0 # find /lib/modules/`uname -r`/ -name "ieee8                  0211*"
/lib/modules/2.6.18.2-34-default/net/ieee80211
/lib/modules/2.6.18.2-34-default/kernel/net/ieee80211
/lib/modules/2.6.18.2-34-default/kernel/net/ieee80211/softmac/ieee80211softmac.ko
die 2 Verzeichnisse habe ich dann gelöscht
ein weiteres
Code:
localhost:/tmp/download/ipw3945-1.2.0 # find /lib/modules/`uname -r`/ -name "ieee80211*"
hat dann nichts mehr angezeigt
Code:
localhost:/tmp/download/ieee80211-1.2.16 # sudo make
Checking in /lib/modules/2.6.18.2-34-default for ieee80211 components...
make -C /lib/modules/2.6.18.2-34-default/build M=/tmp/download/ieee80211-1.2.16 modules
make[1]: Entering directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
make -C ../../../linux-2.6.18.2-34 O=../linux-2.6.18.2-34-obj/x86_64/default modules
  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
Code:
localhost:/tmp/download/ieee80211-1.2.16 # sudo make install
make -C /lib/modules/2.6.18.2-34-default/build M=/tmp/download/ieee80211-1.2.16 modules
make[1]: Entering directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
make -C ../../../linux-2.6.18.2-34 O=../linux-2.6.18.2-34-obj/x86_64/default modules
  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
install -d /lib/modules/2.6.18.2-34-default/net/ieee80211/
install -m 644 -c ieee80211.ko ieee80211_crypt.ko ieee80211_crypt_wep.ko ieee80211_crypt_ccmp.ko ieee80211_crypt_tkip.ko /lib/modules/2.6.18.2-34-default/net/ieee80211/
install -d `echo /lib/modules/2.6.18.2-34-default/include | grep "/net\$" || echo /lib/modules/2.6.18.2-34-default/include/net`
install -m 644 -c net/ieee80211.h net/ieee80211_crypt.h net/ieee80211_radiotap.h `echo /lib/modules/2.6.18.2-34-default/include | grep "/net\$" || echo /lib/modules/2.6.18.2-34-default/include/net`
make: [install] Error 1 (ignored)
mkdir -p /lib/modules/2.6.18.2-34-default/net/ieee80211//.tmp_versions
cd .tmp_versions && install -m 644 -c ieee80211.mod ieee80211_crypt.mod ieee80211_crypt_wep.mod ieee80211_crypt_ccmp.mod ieee80211_crypt_tkip.mod /lib/modules/2.6.18.2-34-default/net/ieee80211//.tmp_versions
/sbin/depmod -a 2.6.18.2-34-default
danach wieder
Code:
localhost:/tmp/download/ieee80211-1.2.16 # cd..
localhost:/tmp/download # cd ipw3945-1.2.0/
localhost:/tmp/download/ipw3945-1.2.0 # sudo make

 WARNING: Your kernel contains ieee80211 symbol definitions and you
are not using the kernel's default ieee80211 subsystem.  (Perhaps you
used the out-of-tree ieee80211 subsystem's 'make install' or have
provided a path to the ieee80211 subsystem via IEEE80211_INC.)

If you wish to use the out-of-tree ieee80211 subsystem then it is
recommended to use that projects' "make patch_kernel" facility
and rebuild your kernel to update the Module symbol version information.

Failure to do this may result in build warnings and unexpected
behavior when running modules which rely on the ieee80211 subsystem.


 Aborting the build.  You can force the build to continue by adding:

        IEEE80211_IGNORE_DUPLICATE=y

to your make command line.


make: *** [check_inc] Error 1
localhost:/tmp/download/ipw3945-1.2.0 #

P.S. ich bin in ca. 2h wieder am Rechner - wäre echt nett, du mir dann noch helfen könntest - ich will das mal gebacken bekommen. Habe auch schon viele Stunden gegoogelt nach "IEEE80211_IGNORE_DUPLICATE=y" sind auch viele Treffer aber so richtig beschrieben, was man dann machen muss, habe ich noch nicht gefunden.
 

xtrem

Newbie
Bin wieder da.
ich habe mal versucht den kernel zu patchen, aber da kommt dann folgende Fehlermeldung:
Code:
localhost:/tmp/download/ipw3945-1.2.0 # make patch_kernel
The ieee80211 subsystem was not found in your running kernel.  In order to
patch the kernel to support the driver, you must first patch the kernel
to include the ieee80211 subsystem.

Aborting.
make: *** [patch_kernel] Fehler 1
localhost:/tmp/download/ipw3945-1.2.0 #
 

xtrem

Newbie
OK - ich habe jetzt folgendes gemacht:
Code:
localhost:/tmp/download # cd ipw3945-linux-1.2.0/
localhost:/tmp/download/ipw3945-linux-1.2.0 # cd ieee80211-1.2.16/
localhost:/tmp/download/ipw3945-linux-1.2.0/ieee80211-1.2.16 # make
Checking in /lib/modules/2.6.18.2-34-default for ieee80211 components...
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211_crypt_tkip.ko
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211_crypt.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211_crypt_ccmp.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211_crypt_tkip.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211_crypt_wep.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/.tmp_versions/ieee80211.mod
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211.ko
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211_crypt.ko
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211_crypt_ccmp.ko
/lib/modules/2.6.18.2-34-default/net/ieee80211/ieee80211_crypt_wep.ko
/lib/modules/2.6.18.2-34-default/include/net/ieee80211_crypt.h
/lib/modules/2.6.18.2-34-default/include/net/ieee80211_radiotap.h
/lib/modules/2.6.18.2-34-default/include/net/ieee80211.h
Above files found.  Remove? [y],n y
make -C /lib/modules/2.6.18.2-34-default/build M=/tmp/download/ipw3945-linux-1.2.0/ieee80211-1.2.16 modules
make[1]: Entering directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
make -C ../../../linux-2.6.18.2-34 O=../linux-2.6.18.2-34-obj/x86_64/default modules
  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
Code:
localhost:/tmp/download/ipw3945-linux-1.2.0/ieee80211-1.2.16 # make install
make -C /lib/modules/2.6.18.2-34-default/build M=/tmp/download/ipw3945-linux-1.2.0/ieee80211-1.2.16 modules
make[1]: Entering directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
make -C ../../../linux-2.6.18.2-34 O=../linux-2.6.18.2-34-obj/x86_64/default modules
  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
install -d /lib/modules/2.6.18.2-34-default/net/ieee80211/
install -m 644 -c ieee80211.ko ieee80211_crypt.ko ieee80211_crypt_wep.ko ieee80211_crypt_ccmp.ko ieee80211_crypt_tkip.ko /lib/modules/2.6.18.2-34-default/net/ieee80211/
install -d `echo /lib/modules/2.6.18.2-34-default/include | grep "/net\$" || echo /lib/modules/2.6.18.2-34-default/include/net`
install -m 644 -c net/ieee80211.h net/ieee80211_crypt.h net/ieee80211_radiotap.h `echo /lib/modules/2.6.18.2-34-default/include | grep "/net\$" || echo /lib/modules/2.6.18.2-34-default/include/net`
make: [install] Error 1 (ignored)
mkdir -p /lib/modules/2.6.18.2-34-default/net/ieee80211//.tmp_versions
cd .tmp_versions && install -m 644 -c ieee80211.mod ieee80211_crypt.mod ieee80211_crypt_wep.mod ieee80211_crypt_ccmp.mod ieee80211_crypt_tkip.mod /lib/modules/2.6.18.2-34-default/net/ieee80211//.tmp_versions
/sbin/depmod -a 2.6.18.2-34-default
Code:
localhost:/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0 # IEEE80211_IGNORE_DUPLICATE=y make

 WARNING: Your kernel contains ieee80211 symbol definitions and you
are not using the kernel's default ieee80211 subsystem.  (Perhaps you
used the out-of-tree ieee80211 subsystem's 'make install' or have
provided a path to the ieee80211 subsystem via IEEE80211_INC.)

If you wish to use the out-of-tree ieee80211 subsystem then it is
recommended to use that projects' "make patch_kernel" facility
and rebuild your kernel to update the Module symbol version information.

Failure to do this may result in build warnings and unexpected
behavior when running modules which rely on the ieee80211 subsystem.


 Using ieee80211 subsystem version API v2 from:

        Base: /lib/modules/2.6.18.2-34-default/
        Path: /lib/modules/2.6.18.2-34-default/include/

 EXTRA_CFLAGS = -I/lib/modules/2.6.18.2-34-default/include/ -DIPW3945_COMPAT=2 -g -Wa,-adhlms=check_inc.lst

mkdir -p /tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0/tmp/.tmp_versions
make -C /lib/modules/2.6.18.2-34-default/build M=/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0 MODVERDIR=/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0/tmp/.tmp_versions modules
make[1]: Entering directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
make -C ../../../linux-2.6.18.2-34 O=../linux-2.6.18.2-34-obj/x86_64/default modules
  CC [M]  /tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0/ipw3945.o
  Building modules, stage 2.
  MODPOST
  CC      /tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0/ipw3945.mod.o
  LD [M]  /tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0/ipw3945.ko
make[1]: Leaving directory `/usr/src/linux-2.6.18.2-34-obj/x86_64/default'
localhost:/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0 # DIR=$(sed -ne "s:^FIRMWARE_DIR=\([^, ]*\).*:\1:p" /etc/hotplug/firmware.agent)
sed: can't read /etc/hotplug/firmware.agent: No such file or directory
Code:
localhost:/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0 # cd..
localhost:/tmp/download/ipw3945-linux-1.2.0 # cp ipw3945-ucode-1.14.2/ipw3945.ucode /lib/firmware
localhost:/tmp/download/ipw3945-linux-1.2.0 # cp ipw3945d-1.7.22//x86_64/ipw3945d /sbin
Code:
localhost:/tmp/download/ipw3945-linux-1.2.0 # cd ipw3945-1.2.0/
localhost:/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0 # ./load debug=0
Unloaded: ieee80211 ieee80211_crypt
Loaded: ieee80211 ipw3945
Loading ipw3945d.ipw3945d - regulatory daemon
Copyright (C) 2005-2006 Intel Corporation. All rights reserved.
version: 1.7.22
Intel PRO/Wireless 3945ABG Network Connection found at:
 /sys/bus/pci/drivers/ipw3945/0000:01:00.0
Daemon launched as pid 5509.  Exiting.
..done.
Code:
localhost:/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0 # iwconfig eth1
eth1      unassociated  ESSID:off/any
          Mode:Managed  Frequency=nan kHz  Access Point: Not-Associated
          Bit Rate:0 kb/s   Tx-Power:16 dBm
          Retry limit:15   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:134   Missed beacon:0
Code:
localhost:/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0 # cp ipw3945.ko /lib/modules/$(uname -r)
localhost:/tmp/download/ipw3945-linux-1.2.0/ipw3945-1.2.0 # depmod -a
dann habe ich noch
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; \
sleep 0.5 ; /sbin/ipw3945d --quiet >> /etc/modules.d/ipw3945

remove ipw3945 /sbin/ipw3945d --kill ; \
/sbin/modprobe -r --ignore-remove ipw3945 >> /etc/modules.d/ipw3945
in die /etc/modprobe.conf.local geschrieben und in die /etc/modules.d/ipw3945

und einen Neustart gemacht.
Nach dem Neustart ist wieder alles weg:
Code:
localhost:/home/xtrem # iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

sit0      no wireless extensions.

localhost:/home/xtrem #
 
Aus irgendeinem Grund läuft bei der 80211-Installation etwas falsch. Mir kommt auch das Kernel-Verzeichnis merkwürdig vor...
Mach einmal mit ieee80211 und ipw3945 ein
Code:
sudo make patch_kernel
und baue damit den Kernel neu.
 

xtrem

Newbie
Guten Morgen Freecoffee,

EIn sudo make patch_kernel bringt mir folgende Fehlermeldung:
Code:
localhost:/tmp/download/ipw3945-linux-1.2.0 # cd ieee80211-1.2.16/
localhost:/tmp/download/ipw3945-linux-1.2.0/ieee80211-1.2.16 # sudo make patch_kernel

 This will install this IEEE80211 subsystem into your
 kernel tree located here:

/lib/modules/2.6.18.2-34-default/build

 If you would like to instal to a different location, run
 this as follows: make KSRC=/path/to/kernel patch_kernel

Do you wish to continue? [Yn] y
mkdir: cannot create directory `/lib/modules/2.6.18.2-34-default/build/net/ieee80211': No such file or directory
make: *** [patch_kernel] Error 1
localhost:/tmp/download/ipw3945-linux-1.2.0/ieee80211-1.2.16 #
 
Oben