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

Kernel Anfängerfrage

xtrem

Newbie
Hallo,
in welchen Verzeichniss liegt eigentlich standardmäßig der aktuelle Kernel?
Sorry für die naive Frage ich habe Linux erst seit ca 5 Tagen.
Ich habe openSuse10.2 und GRUP zeigt mir den Kernelimage unter /boot/vmlinuz-2.6.18.8-0.1-xen an an.
Aber unter usr/src habe ich 2 Verzeichnisse linux-2.6.18.2-34 und linux-2.6.18.8-0.1 kann ich die beiden Verzeichnisse löschen, wenn der eigentliche Kernel unter /boot is?

Eine andere Frage:
Da ich Schwierigkeiten mit der Installation meiner WLAN-Karte habe (ipw3945) hat mir jemand aus diesem Forum empfohlen, das ieee80211-subsystem mit make patch_kernel zu komplilien - ich bekomme dann aber immer ne Fehlermeldung:
Code:
localhost:/usr/src/ieee80211-1.2.16 # make patch_kernel

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

/lib/modules/2.6.18.8-0.1-xen/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.8-0.1-xen/build/net/ieee8021': No such file or directory
make: *** [patch_kernel] Error 1
localhost:/usr/src/ieee80211-1.2.16 #
was kann ich da machen? Muss ich mir einen neuen Kernel bauen?
Sry ich kenn mich einfach nicht aus, aber jeder hat ja mal angefangen. Wäre also sehr dankbar für nette Hinweise.
 

revealed

Guru
was sagt denn
Code:
rpm -qa |grep kernel

Und wie soll dieser Patch eingebunden werden?

Also unter /usr/src liegen die Kernelquellen und das 2.6*34* Verzeichnis bei dir kommt wohl schätzungsweise von einem Kernelupdate -- vermutlich hattest du diese vorher drauf und jetzt die *18* er.

Normalerweise brauchst du die Kernelquellen aber zum Installieren von Patches...

Und dann muss man wissen, was man tut.

Beispielsweise hab ich kürzlich das hier veranstaltet:

http://www.linux-club.de/ftopic77454.html

Dazu musste ich ein Textdokument mit dem Inhalt des Patches erstellen, mit diesem Textdokument bei den Kernelquellen dann eine ganz bestimmte .ko Datei überschreiben und den Patch dann durch eine

Befehlsabfolge in die Kernel einbauen. Wobei da relativ sicher ist, das der Patch mit der Kernel funktioniert -- soweit der Patch halt auch funktioniert.

Ob es in dem Fall sinn macht, ist relativ fraglich. Weiss ja nicht, was du vor hast. Kann dir aber auch keine Hilfe garantieren.

Gruss

R
 
OP
X

xtrem

Newbie
Nabend
also:
Code:
localhost:~ # rpm -qa |grep kernel
kernel-xen-2.6.18.8-0.1
kernel-source-2.6.18.8-0.1
linux-kernel-headers-2.6.18.2-3
kernel-default-2.6.18.8-0.1
localhost:~ #

hmm... zu der Frage, wo der Patch eingebunden werden soll - ;) keine Ahnung ich will einfach das es läuft.
Also bei dem Prob mit der WLAN-Karte geht es darum, das vor der Treiber-Installation ein ieee80211-subsystem installiert werden muss. Und irgendwie läuft bei der Installation was schief. Denn anscheinend installiert er das ieee80211-subsystem nicht. Denn wenn ich die Treiber installieren will, dann kommt:
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 #
selbst wenn ich dann IEEE80211_IGNORE_DUPLICATE=y make mache, dann macht er zwar irgendwas, aber es funzt nicht.
Daher meinte freecoffee(Moderator im Forum), dass ich mal ein make_patch kernel machen soll. Da kommt dann aber Fehler, denn ich im ersten threat gepostet habe. Muss ich jetzt einen neuen Kernel bauen? Hab das schon probiert, (gegoogelt etc und hier das Wiki gelesen) aber bin jämmerlich gescheitert, weil überall was anderes steht, wie man es machen soll. Im wiki steht was, von einem bootsplash, der zum kernel passen muss, aber der aktuellste bootsplash ist für den 2.6.14 Kernel.
 

revealed

Guru
darf ich bitte die URL sehen von der du den Patch bezogen hast?

und hast du eventuell der Einfachheit halber -- ich weiss nicht, warum du das patchen musst - ist im SUSE kernel diese Unterstützung nicht schon integriert? Oder funktioniert sie nur nicht, wie bei mir mit "sensors" zu beginn?
Bzw hast du schonmal versucht die "kernel-syms" nachzuinstallieren?

Dies enthält symbolversionen für den Kernel -- damit können soweit ich weiss quasi dynamisch module die für andere Kernelversionen gedacht sind? auch in neuere integriert werden beispielsweise?

Lässt sich in der Beschreibung im Yast2 für SYMS im detail lesen...

Code:
Installing this package before compiling kernel modules outside of the kernel source tree adds symbol version information to these modules. Modules without symbol version information can only be loaded on the exact kernel version for which they were compiled. Modules with symbol version information can be loaded into more recent kernels as long as none of the symbols exported by the kernel have changed.

Was aber auch noch nichts garantiert...

also ich vermute mal durch nachinstallieren der syms könnte das hier:

WARNING: Your kernel contains ieee80211 symbol definitions and you
are not using the kernel's default ieee80211 subsystem.
Aufgehoben werden?

Gruss

R
 
OP
X

xtrem

Newbie
sry für die dumme Frage, aber was meinst du jetzt mit Patch - also was ein patch ist, weiss ich, aber ich habe mir nirgends ein Patch runtergeladen.
Wenn du den neuen Kernel meinst, den habe ich von http://www.kernel.org/
Und für die die WLAN Sache, braucht man 4 Files Treiber http://ipw3945.sourceforge.net/, eee80211-Subsystem von http://ieee80211.sourceforge.net/ Microcode und Daemon von http://bughost.org/ipw3945/

Wie gesagt ich kenne mich mit Linux absolut nicht aus - daher bringst du mich ganz schön in Verlegenheit. Ich glaube ich brauch so eine Schritt-für-Schritt-Anleitung. Wo ich was runterladen soll, und welche Befehle ich dann nach und nach ausführen muss.
 

revealed

Guru
Verstehe ich richtig, dass du einmal den Daemon installieren musst, und einmal die Firmware im Dateisystem für Hotplug unter dem Verzeichnis Firmware ablegen musst?

also wie ich da so gelesen hab grad im readme.. muss die

"ipw3945.ucode" in "/lib/firmware" abgelegt werden.

Also im SUSE Kernel ist der Hotplug mechanismus bei mir zumindest aktiv -- ohne das ich was machen musste! Also müsste ausreichend sein die firmware dort abzulegen und den Daemon dann zu installieren.
...

in dem Archiv für den dämon gibts 64 bit und 32 bit variante--

mit
Code:
uname -i
Müsstest du das herausfinden können?

Bei 32 bit müsste dann beispielsweise
"x86/ipw3495d" auf der festplatte nach "/sbin"

kopiert werden.....?



Gruss

R
 
OP
X

xtrem

Newbie
Ja das ist richtig, aber zuvor muss das Ieee80211-subsystem installiert werden, damit ich die Treiber bauen kann.
Also mein Problem ist unter http://www.linux-club.de/ftopic61064.html geschildert, aber ich weiss nicht, ob ich dir das antuen kann das alles durchzulesen. Ich habe im Prinzip alles gemacht, wie in den HowTo´s steht und in den Readme´s und Install´s und mir wurde gesagt, dass der Fehler daran liegt, dass das Ieee80211-subsystem aus irgend einem Grund nicht richtig installiert wird.

Und die ipw3945-Treiber muss ich selber bauen, weil ich da das "makefile" editieren muss um in den "Monitormode" zu kommen. Da muss man nach den entpacken der Treiber in einem "makefile" CONFIG_IPW3945_MONITOR=y schreiben.
 

revealed

Guru
hast du schon versucht an der Stelle wo du das Modul noch ans funktionieren bekommst vor dem Neustart ein einfaches "depmod -a" auszuführen?

und installiere mal die Kernel syms bitte! Das ganze über den Yast Paketmanager

die Kernel Source beziehst du bitte auch über Yast Paketmanager und wenn möglich alle Pakete die du für SUSE benötigst --- im normalfall wirst du dir nie oder "seltenst" Pakete selber bauen müssen.

Die meisten stehen ja auch in den sogenannten Repositorys oder Spiegelservern die für Das onlineupdate eingebunden werden bereits zur Verfügung.

Und diese sind eigendlich auch auf SUSE abgestimmt.

Empfehlungsweise löschst du alles was du vorher versucht hast wieder und installierst oben genannte Kernelpakete und verfährst zum Testen nach diesem Howto:

http://www.rrze.uni-erlangen.de/dienste/arbeiten-rechnen/linux/projekte/dell-d820.shtml

und besonders zu erwähnen ist denke ich aus diesem Howto:

Für OpenSuSE 10.1 benötigt man nur den ipw3945-Daemon.

Also wirst du nur die Firmware und nur den Daemon benötigen.

gruss

R
 
OP
X

xtrem

Newbie
jo das mit depmode-a habe gerade bei http://www.linux-club.de/ftopic61064.htm ziemlich weit unten auf der ersten Seite, nachgeschaut - ich habs gemacht (so stehts ja auch in der Readme oder in der install).

Hab schon 30000000001 mal die ganze Procedure durchlaufen, gegoogelt wie ein Hirnie, ich weiss echt nicht mehr weiter.

Das mit den Kernel und Yast mache ich gleich mal
 

revealed

Guru
Code:
rpm -qa |grep kernel

sagt bei mir:
kernel-default-2.6.18.8-0.1
kernel-source-2.6.18.8-0.1
linux-kernel-headers-2.6.18.2-3
kernel-syms-2.6.18.8-0.1

Versuche mal das so hinzubekommen wie bei mir.

AFAIK ist es wurst ob du die Firmware bevor du den Daemon installierst oder danach in das dafür vorgesehene Verzeichnis installierst oder kopierst.

CP ist ein Befehl zum kopieren.

cp quelle ziel

Beim SUSE Kernel ist der Hotplugmechanismus von Haus aus aktiv. - Ich betreibe beispielsweise meine TV KARTE mit diesem.

Das Howto ganz am Anfang des anderen Thread hat sehr gut ausgesehen... ich erreiche nur leider die URL nicht mehr.

Gruss

R
 
OP
X

xtrem

Newbie
Also ich habe jetzt über yast syms installiert:
Code:
xtrem@localhost:~> rpm -qa |grep kernel
kernel-syms-2.6.18.8-0.1
kernel-xen-2.6.18.8-0.1
kernel-source-2.6.18.8-0.1
linux-kernel-headers-2.6.18.2-3
kernel-default-2.6.18.8-0.1
xtrem@localhost:~>

Du hast dann noch geschrieben, dass man normaler Weise nur die Firmware und den Daemon benötigt. Welches ist denn genau die Firmware? Ist es die ipw3945... oder die ipw3945-u....

Also ich muss glaube ich nochmal was sagen, warum ich mir das alles antue:
Die Softwareupdates über Yast hatten schon bewirkt, das meine WLAN-Karte funktioniert hat - nur leider eben ohne den "Monitormode".
Der "Monitormode" ist irgendwie in den Treibern standardmäßig mit # auskommentiert. Daher wollte ich mir die Treiber nochmals selbst bauen (in dem ich vorher aus dem "makefile" die # vor CONFIG_IPW3945_MONITOR=y wegnehme) und dann mit make gefolgt von einem make install die Treiber dann baue. Nur um das machen zu können, brauche ich diese Ieee80211-Subsystem was ja anscheinend irgendwie nicht so richtig will.

Ich danke dir auf jeden Fall erstmal sehr, dass du mir zu so später Stunde sehr geholfen hast - ich würde mich freuen, wenn wir die Sache morgen fortsetzen könnten. Das wäre echt Klasse.
 

revealed

Guru
also wie ich da so gelesen hab grad im readme.. muss die

"ipw3945.ucode" in "/lib/firmware" abgelegt werden.

Monitor? Ehm? Sorry kannst du mir dazu was zu lesen geben? Also ich weiss nicht was du jetzt mit monitor meinst...

Ich hab eigendlich nichmal eine WLan karte ;)

und brauchst du die

kernel-xen-2.6.18.8-0.1
Wirklich? Wenn nein, dann lösche diese.

Und dann versuche mal dich 1. Als root anzumelden.

Dann 2.

Nur die Datei IEE80211 Subsystem herunterzuladen.
Dann als root!

führst du der reihe nach folgende Befehle im Terminal aus:
Code:
cp /boot/config-$(uname -r) /usr/src/linux/.config
dann:
Code:
cd /usr/src/linux
Weil du jetzt auch die benötigten QUELLEN dafür zur Hand hast!
Dann:
entpackst du das heruntergeladene "ieee80211-1.1.12.tgz" als root nach:
"/"
und wechselst im Terminal in das entpackte Verzeichnis mit:
Code:
cd ieee80211-1.1.12
dann führst du in diesem Verzeichnis folgendes aus:
Code:
make KSRC=/usr/src/linux
und
Code:
make install KSRC=/usr/src/linux

Dann entpackst du die "ipw3945-1.0.2.tgz" und wechselst in der Konsole in das Verzeichnis "ipw3945-1.0.2"
und führst dort folgende Befehle aus:
Code:
make KSRC=/usr/src/linux
Code:
cp ipw3945.ko /lib/modules/$(uname -r)
und
Code:
depmod -a

Dann entpackst du die Firmware "ipw3945-ucode-1.13" und kopierst sie nach:
Code:
/lib/firmware

Wenn du das gemacht hast, dann entpackst du direkt die "ipw3945d-1.7.18.tgz" darin befinden sich 2 Verzeichnisse. Eines für 64 bit computer und eines für 32 bit computer.

deine Architektur erfährst du mit "uname -i" i386 müsste 32 bit sein.

Wenn du eine 32 bit Installation hast dann:

muss die "ipw3945d-1.7.18/x86/ipw3945d" nach "/sbin" kopiert werden.

Wenn du aber eine 64 bit Installation hast, dann muss die
"ipw3945d-1.7.18/x86_64/ipw3945d" nach "/sbin" kopiert werden

Verwechsle bitte 64 nicht mit 32 bit!

dann brauchst du laut dem Howto auf:
http://www.rrze.uni-erlangen.de/dienste/arbeiten-rechnen/linux/projekte/dell-d820.shtml

nurnoch

Code:
install ipw3945 /sbin/modprobe --ignore-install ipw3945; sleep 0.5; /sbin/ipw3945d --quiet

Ausführen und den Schalter an der Seite richtig einstellen.

und durch eingabe von "iwconfig" kannst du die Karte dann konfigurieren.

Mehr kann ich auch nicht für dich tun.


Gruss

R
 
OP
X

xtrem

Newbie
Guten Morgen,

Vielen Dank für deine Hilfe ich werde gleich mal alles ausprobieren.
Noch 2Sätze zum "MonitorMode":
Es gibt die Möglichkeit die WLAN-Karte in diesen sogenannten Monitormode zu setzen. Eine Software namens "Kismet" versetzt beispielsweise die Karte in den Monitormode um WLANs auf Schwachstellen hin zu untersuchen.
Habe genau zu meinem Problem diese Seite gefunden. http://www.a-netz.de/monitormode.de.php
Nur leider ist sie nicht so für Anfänger geschrieben.

Da steht folgendes:
Nach meinen bisherigen Versuchen unterstützt der im Linux Kernel enthaltene Treiber für den Intel IWP2200 Centrino WLAN-Chipsatz (zumindest bis Version 2.6.15.1) nicht den Monitor Mode. Man kann diesen Modus aber durch Selbstkompilieren der nötigen Treiber aktivieren und dann Tools wie Kistmet verwenden, um WLANs auf Schwachstellen hin zu untersuchen.
Benötigte Treiber & Software

Man benötigt die folgenden Softwarepakete, um den WLAN-Treiber selbst zu übersetzen:

* Die Quellen des Linux-Kernel: http://www.kernel.org
* Den Sourcecode des WLAN-Treibers: http://ipw2200.sourceforge.net
* Den Sourcecode des IEEE802.11 WLAN-Subsystems: http://ieee80211.sourceforge.net
* Die aktuelle Firmware für den IPW2200 Chipsatz: http://ipw2200.sourceforge.net

Vorgehensweise:
Kernel konfigurieren

Zunächst wird der Kernel konfiguriert (zum Beispiel mit make menuconfig), so als wolle man die im Kernel integrierten WLAN-Treiber als Modul verwenden.
Ich weiss garnicht welchen Kernel ich da runterladen soll - die Version, die ich jetzt schon habe, oder eine andere/neuere? Und was ich da genau wo einstellen muss etc.
 

revealed

Guru
Ich weiss garnicht welchen Kernel ich da runterladen soll -

in sachen Kernel sollte dir eigendlich schon geholfen sein.

Prüfe nochmal die Ausgabe von

Code:
rpm -qa |grep kernel

Der Befehl listet dir installierte Kernel Pakete die mittels eines Paketmanagers eingebunden wurden.

mit

Code:
uname -a

Erhältst du Informationen zum Kernel.

Gruss

R
 
OP
X

xtrem

Newbie
Ah ok - also den Kernel den ich schon habe - stand da ja nicht dabei. Und meine Überlegung war "warum einen Kernel runterladen, den ich doch schon habe".
Und wie wird der Kernel konfiguriert (mit xconfig), so als wolle man die im Kernel integrierten WLAN-Treiber als Modul verwenden?
 

revealed

Guru
ok das mit dem Kernel haste. Das brauchst du folglich bei keinem Howto mehr machen auch - gut!

Hier:
http://www.rrze.uni-erlangen.de/dienste/arbeiten-rechnen/linux/projekte/dell-d820.shtml

Werden pakete angeboten:
* Externer Link: IEEE80211 Subsystem
* Externer Link: ipw3945-Chipsatz Treiber
* Externer Link: ipw3945-Firmware Version 1.13
* Externer Link: ipw3945-Daemon Version 1.7.18

Und im Anschluss eine Schritt für Schritt Anleitung gegeben.

Versuche es damit.

und hier:
http://www.linux-club.de/viewtopic.php?p=458890#458890
Hab ich bereits nochmal versucht es mit ein bisschen anderen Worten zu Sagen.

Eventuell fragst du lieber in dem anderen Thread nach -- ich kenne mich mit deiner Geschichte leider nicht aus. Ich habe nichtmal eine WLAN Karte und kann das ganze *garnicht* nachvollziehen.

Gruss

R
 
@xtrem: Ich habe so das Gefühl, du hast eine nicht ganz zutreffende Vorstellung vom "Monitor Mode".
Um "WLANs auf Schwachstellen zu überprüfen" brauchst du den nämlich i.A. nicht, insofern als die meisten Schwachstellen in fehlender oder unzureichender Verschlüsselung begründet liegen (WEP, ratbare Schlüssel etc.).
Der Monitor mode dient dazu, auch Pakete anzumehmen, die nicht für die eigene Adresse gedacht sind und ansonsten als irrelevant verworfen werden. Dabei solltest du dir aber der Tatsache bewusst sein, dass das Mitschnüffeln fremden Datenverkehrs im günstigsten Fall ein sehr unfreundlicher Akt ist.
Vielleicht schreibst du einmal, was genau dein Ziel ist, dann lassen sich vielleicht andere einfachere Lösungen finden.
 
OP
X

xtrem

Newbie
Ich möchte gerne das Tool Kismet nutzen.
Kismet kann aber nicht starten, wenn die WLAN-Karte nicht in den Monitormode gesetzt werden kann.
Ja mir ist bewusst, dass das mitschnüffeln fremder Daten ein unfreundlicher Akt ist. Aber genau das ist mein Ziel.
Der Papa meiner Freundin hat WLAN und besteht partu auf seiner Meinung, dass eine WEP-Verschlüsselung sicher ist. Dem kannste Artikel zu lesen geben und sonst wie argumentieren... einfach ein kleiner Dickkopf.
Eigentlich ist es eine größere und längere Story wo es um die Schwester meiner Freundin geht, der unterstellt wird bis spät in die Nacht nach 2Uhr Internet zu nutzen...usw usf... tut eigentlich nichts zur Sache.

Ich will live vorführen können, wie "leicht" es ist, fremde Daten über WLAN abhören zu können. Damit ich 1sten Recht bekomme, 2tens die Schwester von Vorwürfen entlastet/ Nachbar belastet wird. Na ok ein bisschen Neugier und Spaß dabei kann ich natürlich auch nicht abstreiten.

Ich hätte echt nicht gedacht, dass das selbst kompilieren von Treibern unter Linux soooo schwierig ist.
 
Oben