Hallo
Ich möchte W-LAN unter Debian installieren.
Dazu verwende ich den Ndiswrapper von Linuxant.
Die Installation scheint soweit gut abgelaufen zu sein...
wenn ich aber das Konfigurationsmenu über den Browser starten möchte, erhalte ich folgende Fehlermeldung:
"Connection refused when attempting to connect to http://127.0.0.1:18020"
Wärend der Installation erhielt ich die Meldung, dass nicht die passenden Kernel-Sourcen installiert seien (kernel-headers-2.6.8-11 anstelle von kernel-headers-2.6.8-11-k8).
Könnte es daran liegen? Die Installation verlief danach zwar normal und ohne Fehler oder Warungen.
Oder hab ihr eine Idee, woran es sonst liegen könnte?
Danke für alle Antworten!!
Linux 15.070 Themen, 107.540 Beiträge
hmm, hast du das modul nach dem kompillieren schon geladen?
als root:
modprobe driverloader
Das muss ich soviel ich weiss hier nicht machen.
Bei Fedora hat es jedenfalls auch ohne geklappt(naja zumindest ins Menu kam ich) und in der Installationsanleitung von Linuxant steht auch nichts.
Wenn der Treiber erst noch kompiliert werden muß, dann müssen auch die passenden Header-Dateien vom Betriebsystemkern installiert sein. Solche Kernelmodule sind kompilierte Objektdateien, also ein Teil vom Betriebsystemkern, die zur Laufzeit nachgeladen werden.
Man muß die Module neu kopilieren, wenn ein Kernelupdate eingespielt wird oder wenn der Betriebsystemkern neu kompiliert wird , weil die Treiber in den Betriebsystemkern geladen werden. Linux verwendet einen monolitischen Betriebsystemkern. Die neuere Betriebsystemtechnik sind Microkernel (wird beim HURD-Projekt von Linux eingesetzt und auch Windows läuft mit einem Microkernel).
Bei einem Microkernel läuft nur noch ein "Minibetriebsystemkern " . Die restlichen Betriebsystemkernmodule (Gerätetreiber , Netzwerkprotokolle) laufen im Userspace , also dort wo auch die normalen Programme laufen.
Diese Microkernel werden momentan von Linus Torwalds abgelehnt und es wird ein bewährter monolitischer Betriebsystemkern (der auch modularisiert sein kann) verwendet.
Du mußt erstmal den Treiber kompilieren und dazu müssen die Kernelsourcen (Programmcode des jeweiligen Betriebsystemkerns) installiert sein. Es soll auch die gleiche Kompilerversion benutzt werden, mit denen der Betriebsystemkern kompiliert wurde (die unterschielichen gcc-Versionen erzeugen teilweise unterschiedlichen Binäcode).
"gcc -v" muß die gleiche Version anzeigen wie bei:
"dmesg "
Linux version 2.4.27 (root@Winkler) (gcc version 2.95.4 20011002 (Debian prerele
ase)) #5 Sa Aug 20 15:44:31 CEST 2005
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
........
Danke erst mal für die ausführliche Antwort.
Ich hab die Kernel header von der CD installiert. Ich denke mal das sollten die Richtigen sein...
Brauche ich noch mehr oder sollte das reichen?
Wenn möglich würde ich gerne den vorhandenen Kernel behalten, hab mal unter Fedora einen Kernel kompiliert und weiss, dass das wieder Tage in Anspruch nehmen würde und dass ich dann sowieso immer irgendwleche Probleme damit haben würde. Bin halt nicht so der Linux und Harware Crack und weiss bei 80% der Einstellungen nich wofür sie sind.
In der Anleitung steht speziell für Debian Systeme man solle
"make debdist" verwenden.
Wenn ich es aber so probiere werden 2 Fehler beim Kompilieren angezeigt.
Ich glaub das hier sind sie:
make1: debstd: Command not found
make1: *** binary-arch Error 127
make1: Leaving directory '/home/yves/driverloader-2.28'
make: *** packages/DEBS/i386/driverloader_2.28_i386.deb Fehler 2
Was ist eigentlich das mit dem k8 beim Namen der Kernelsourcen genau?
Sonst ist die Version ja gleich...
Wieder viele Fragen... ich glaube Linux ist einf Fass ohne Boden ;-)
das k8 steht für eine prozessor-familie. so werden die Athlon64 bezeichnet
ich glaube Linux ist einf Fass ohne Boden ;-)
ohne boden ist das fass nicht, aber verdammt tief :D
Mein Athlon wird als K7 bezeichnet. Der Compiler kann den Binärcode vom Betriebsystemkern speziell für einen Prozessor optimieren. Das bringt meistens Geschwindigkeit. Das hängt mit dem erweiterten Maschinen-Befehlssatz der jeweiligen CPU und der aufwendigen Befehlsdekodierung bei solchen CISC-Prozessoren (AMD, Intel) zusammen.
Entweder wird der Athlon XP mit K8 bezeichnet oder eventuell die neuen Athon 64 bit, keine Ahnung.
Welchen Prozessor hast du den in den Rechner eingebaut ?
Dieser Betriebsystemkern ist für einen K8 optimiert (was immer das für ein Prozessor sein mag :-().
PS: Wenn du einen 64 bit Prozessor hat und auch einen 64 bit Betriebsystemkern, dann brauchst du auch die 64 bit Version der Treiber !
"Wieder viele Fragen... ich glaube Linux ist einf Fass ohne Boden ;-)"
Linux ist ein sehr technisches Betriebsystem, wie jedes richiges Unix.
Du kannst ja mal den kompletten Programmcode des richtigen Betriebsystemkerns installieren. Ich weiß ehrlich nicht ob nur die Headerdateien ausreichen.
PPS: Zu einem Programm gehören die Headerdateien (Endung .h) und die Quellcodedateien (bei C Endung .c und bei C++ Endung .cpp). In den Headerdateien steht nur die Deklaration von Funktionen globale Variablen u.s.w). Der eigentliche Programmcode (Implementierung) steht in den Quellcodedateien. Vielleicht solltest du den kompletten Programmcode des richtigen Betriebsystemkerns installieren. Ich bin kein Treiberprogrammierer und weiß daher nicht ob nur die Headerdateien vom Kern ausreichen für das Compilieren des Treibers.
Ok da führt wohl kein Weg daran vorbei meinen eigenen Kernel zu kompilieren :-(
Ich hab einen AMD Athlon 64 3200+ noch mit dem alten Kern (130nm).
Ich hab auch schon Sachen mit c++ programmiert, ich weiss also wie das mit den *.h und *.cpp Dateien ist, viel nützt mir das aber hier leider nicht.
Ich werde mal probieren einen Kernel zu kompilieren und zu installieren. Ist auch vom Lerneffekt her sicher nicht schlecht das nochmal zu machen.
Ich danke dir nochmal für die Zeit die du für mich eingesetzt hast!
Gruss yves
Der AMD 64 hat einen 32 bit Modus. Du kannst vorübergehend auch die normale 32 bit Version einsetzen. Das AMD Projekt wird sicher noch irgendwann officiell werden.
Es sieht momentan sowieso nicht gut aus mit 64 bit Treiber, die man ja für einen 64 bit Betriebsystemkern braucht.
Ich schau auch immer wieder mal hier vorbei. Vielleicht kaufe ich mir dann auch einen 64 bit Rechner :
http://www.de.debian.org/ports/amd64/
PS: Kann man überhaupt eine 64 bit Version dieses WLAN Treibers bekommen ?
Ich sehe hier keinen Hinweis:
http://ndiswrapper.sourceforge.net/
Das nächste Problem wird sein , das du dann auch eine 64 bit Version deines Windows-Treibers brauchst. Der ndiswrapper lädt ja nur den eigentlichen Windowstreiber und von Windows gibt es ja noch nicht mal eine halbfertige 64 bit Version wie bei Debian. Du wirst also die 32 bit Version des Linuxbetriebsystemkerns installieren müssen :-(.
Von meinem Treiber gibt es keine 64 bit Version.
Ich wollte es mal mit dem Standardtreiber probieren, der auf linuxant.com angeboten wird, ich glaube aber dass der bei meiner Karte gar nicht läuft.
Ich sollte mich wohl erst mal mit der 32bit Version begnügen...
Nochmal Danke für die Hilfe!
Eine späte Antwort:
Ich glaube ich weiß noch einen Fehler. Man kann bei Debian einzelne Headerdateien installieren. Ich wußte bis jetzt auch nicht wozu diese separaten Headerdateien gebraucht wurden. Normalerweise sind die Headerdateien beim Programmcode des Betriebsystemkern dabei.
Ich habe ein Antwort gefunden:
http://kernelnewbies.org/faq/index.php3#headers
Nach dieser Erklärung werden die richtigen Headerdateien des Betriebsystemkern gebraucht, um
den Betriebsystemkern oder Kernelmodule kompiliert werden.
Die anderen einzelnen Headerdateien , die du installiert hast , werden gebraucht um Programme zu kompilieren die im Userspace laufen.
Treiber laufen bei einem monolitischen Betriebsystemkern wie bei Linux im Kernelspace !!!
Du mußt mal herausfinden wo der "Ndiswrapper" läuft, direkt im Betriebsystemkern (im Kernelspace) oder im Userspace .
Du mußt also auf jeden Fall den kompletten Programmcode des Betriebsystemkerns installieren, weil da die Headerdateien dabei sind um Kernelmodule zu kompilieren !!!!
