Linux 15.070 Themen, 107.540 Beiträge

w-lan treiber kompillieren

Yves3 / 14 Antworten / Baumansicht Nickles

hallo

ich hab fedora 2 und möchte w-lan installieren.
das ist meine w-lan karte:
http://www.brack.ch/aspx/default.aspx?ID=7882&mod=artikel

ich habe diesen treiber herunter geladen und weiss nich recht wie ich ihn kompillieren und installieren kann(hab linux noch nicht so lange)

kann mir jemand helfen?

vielen dank!

bei Antwort benachrichtigen
REPI Yves3 „w-lan treiber kompillieren“
Optionen

./configure
make
... sind der Standard !

Aber eigentlich sollte eine Anleitung dem Quellcode beiliegen, wie zu kompilieren ist und welche Abhängigkeiten zu welchen Bibliotheken bestehen, die dann, wenn nicht schon vorhanden, ggf. nachinstalliert werden müssten !

Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
KarstenW REPI „./configure make ... sind der Standard ! Aber eigentlich sollte eine Anleitung...“
Optionen

Treiber benutzen keine Bibliotheken, sondern nur Funktionen des Betriebsystemkerns. Die Deklaration dieser Funktionen steht in den Headerdateien des Kernels. Deshalb muß ja auch der Sourcecode (Programmcode) des Kernsl installiert sein. Das muß auch die gleiche Version sein unter der Linux momentan läuft.

Diese Art eines Betriebsystemkerns würde unter Windows gar nicht funktionieren, weil dazu Microsoft den Programmcode von Windows veröffentlichen müßte, damit ein Anwender einen Treiber installieren könnte.

Open Source ist keine Ideologie , sondern technische Notwendigkeit um beispielsweise einen Treiber zu installieren!

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
REPI KarstenW „Treiber benutzen keine Bibliotheken, sondern nur Funktionen des...“
Optionen

Das ist mir eigentlich egal ob ich dafür eine Libary oder den Source-Code des Kernels benötige, es ist bei mir eh immer beides installiert!
Ausserdem habe ich mir Treiber bisher noch nicht selbst kompilieren müssen. Wo letztlich make darauf zurück greift, ist mir vielfach eh ein Rätsel geblieben, hauptsache es funktioniert !

Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
KarstenW Yves3 „w-lan treiber kompillieren“
Optionen

Building the driver
===================
To build the driver at the top level edit Makefile.inc to set the
pathname to your Linux kernel distribution. By default this is set to
/usr/src/linux.

If you are cross-compiling the driver for a different platform define
the CC, LD, and STRIP macros appropriately. For example:

#CC= /export/tools/bin/mips-linux-gcc
#LD= /export/tools/bin/mips-linux-ld
#STRIP= /export/tools/bin/mips-linux-strip

Once you've got Makefile.inc configured appropriately, do:

make

This will generate three important files:

driver/ath_pci.o (driver for PCI/Cardbus devices),
ath_hal/ath_hal.o (Atheros HAL), and
wlan/wlan.o (802.11 support layer)

These files can be loaded with insmod or modprobe; e.g.

insmod wlan/wlan.o
insmod ath_hal/ath_hal.o
insmod driver/ath_pci.o

(note you must load the wlan and ath_hal modules first as the driver
depends on them). You can also try:

make install

to install the drivers where they can be loaded automatically, i.e.
/lib/modules/

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Yves3 Nachtrag zu: „w-lan treiber kompillieren“
Optionen

ich glaube ich hab jetzt den kernel source installiert.
im verzeichnis /usr/src/
habe ich jetz einen neuen ordner: linux-2.6.5-1.358 oder so ähnlich.

wenn ich den befehl make eingebe gibt es aber immer zwei fehler.
vorher hat es noch einige error s und warnings.
die letzten drei zeilen der ausgabe sin dann:

make[1] *** [if_ath.0] Fehler 1
make[1] Leaving directory /madwifi-20030703/driver
make:[all] Fehler 2

muss ich im code noch etwas anpassen, oder woran könnte das liegen?

bei Antwort benachrichtigen
KarstenW Yves3 „ich glaube ich hab jetzt den kernel source installiert. im verzeichnis /usr/src/...“
Optionen

Hast du einen symbolischen Link /usr/src/linux---->/usr/src/inux-2.6.5-1.358 gelegt ?
Symbolische Links sind wie ein zweiter Dateiname für ein Verzeichnis oder eine Datei.
In der README-Datei stand , das make dieses verzeichnis erwartet, wo sich der Programmcode deines Kernels befindet.
Was auch noch ganz wichtig ist, die Version deines installierten Kernels muß identisch sein mit der version des Programmcodes in /usr/src/kernel-2.6.5-1.

Ich blick da auch nicht immer durch und kompiliere mir deshalb gleich einen eigenen Kern.

Der Kernel-Sourcecode ist die Version 2.6.5-1 (zumindest deines Postings nach). Die gleiche Version muß auch die Version des Kernels /boot/vmlinuzxxx oder /boot/bzimage haben. Die Bezeichnug des Kernels ist nicht so wichtig, aber die Versionnummer muß gleich sein !!!

Die Versionsnummer deines laufenden Kernels kannst du mit "dmesg |less" herausbekommen.

Beispiel:

karsten@Winkler:~$ dmesg |less
Linux version 2.6.6 (root@Winkler) (gcc-Version 3.3.4 (Debian 1:3.3.4-13)) #2 Wed Oct 6 14:15:38 CEST 2004
BIOS-provided physical RAM map:

Da steht die versionsnummer des laufenden Kernels und auch mit welcher Version des gcc der Kernel übersetzt worden ist. Die Version des gcc muß auch gleich sein, mit der version mit der der treiber komiliert wurde. Deshalb kompiliere ich meistens einen eigenen Kern. Dann stimmt die versionsnummer des kernels und die Versionsnummer des gcc.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
KarstenW Nachtrag zu: „Hast du einen symbolischen Link /usr/src/linux---- /usr/src/inux-2.6.5-1.358...“
Optionen

Symbolische Links kann man mit diesem Befehl anlegen:

ln -s /usr/src/kernelxxx /usr/src/linux

kernelxxx muß durch das richtige Verzeichnis ersetzt werden.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Yves3 KarstenW „Symbolische Links kann man mit diesem Befehl anlegen: ln -s /usr/src/kernelxxx...“
Optionen

ich hab das jetzt so weit gemacht, die fehler sind aber immer noch da.
den kernelsource hab ich von der selben cd installiert wie das linux. wenn es wirklich der kernel ist, wird es also auch die richtige version sein.

bei Antwort benachrichtigen
Yves3 KarstenW „Symbolische Links kann man mit diesem Befehl anlegen: ln -s /usr/src/kernelxxx...“
Optionen

ich hab es jetzt noch mit einem anderen treiber probiert.
dort wird gemeldet, dass die headerdateien des kernels vorhanden sind, aber nicht der ganze sourcecode.
wie kann ich den sourcecode installieren und wo finde ich den?

bei Antwort benachrichtigen
KarstenW Yves3 „ich hab es jetzt noch mit einem anderen treiber probiert. dort wird gemeldet,...“
Optionen

Ich benutze Debian. Ich weiß nicht wo du den Sourcecode des kernels herbekommen kannst.
Die Headerdateien sind ein Teil des Programmcodes des Kernels. Du mußt schon den ganzen Programmcode installieren. In den Headerdateien steht unter Anderem die Deklaration von Kernelfunktionen. Der eigentliche Programmcode, die Definition der Funktionen, steht in den Quellcodedateien.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
KarstenW Nachtrag zu: „Ich benutze Debian. Ich weiß nicht wo du den Sourcecode des kernels herbekommen...“
Optionen

Du hast wahrscheinlich nur die Headerdateien installiert, das kann man bei Debian auch machen. Du mußt eine anderes Paket installieren , um den kompletten Programmcode des kernels zu installieren.
Normalerweise wird der Sourcecode des Kernels dann unter /usr/src/kernelxxx installiert.

karsten@Winkler2:/usr/src/kernel-source-2.6.6$ dir -l
insgesamt 6936
drwxr-xr-x 24 root root 4096 2004-06-16 05:54 arch
-rw-r--r-- 1 root root 2000035 2004-05-10 14:21 ChangeLog
-rw-r--r-- 1 root root 18691 2002-10-19 06:01 COPYING
-rw-r--r-- 1 root root 85686 2004-05-10 11:47 CREDITS
drwxr-xr-x 2 root root 4096 2004-10-07 11:34 crypto
-rw-r--r-- 1 root root 51140 2004-06-16 04:49 Debian.src.changelog
drwxr-xr-x 42 root root 4096 2004-06-16 05:54 Documentation
drwxr-xr-x 46 root root 4096 2004-10-07 11:48 drivers
drwxr-xr-x 53 root root 4096 2004-10-07 11:33 fs
drwxr-xr-x 36 root root 4096 2004-10-07 11:07 include
drwxr-xr-x 2 root root 4096 2004-10-07 12:01 init
drwxr-xr-x 2 root root 4096 2004-10-07 11:33 ipc
drwxr-xr-x 3 root root 4096 2004-10-07 11:14 kernel
drwxr-xr-x 4 root root 4096 2004-10-07 12:01 lib
-rw-r--r-- 1 root root 51590 2004-05-10 11:47 MAINTAINERS
-rw-r--r-- 1 root root 36257 2004-05-10 14:21 Makefile
drwxr-xr-x 2 root root 4096 2004-10-07 11:17 mm
-rw-r--r-- 1 root root 80805 2004-10-07 12:22 Module.symvers
drwxr-xr-x 32 root root 4096 2004-10-07 12:00 net
-rw-r--r-- 1 root root 13976 2004-03-11 03:55 README
-rw-r--r-- 1 root root 886 2004-06-16 07:49 README.Debian
-rw-r--r-- 1 root root 2815 2002-10-19 06:01 REPORTING-BUGS
drwxr-xr-x 7 root root 4096 2004-10-07 11:07 scripts
drwxr-xr-x 3 root root 4096 2004-10-07 11:34 security
drwxr-xr-x 15 root root 4096 2004-10-07 11:48 sound
-rw-r--r-- 1 root root 750864 2004-10-07 12:01 System.map
drwxr-xr-x 2 root root 4096 2004-10-07 11:08 usr
-rw-r--r-- 1 root root 8 2004-06-16 05:59 version.Debian
-rwxr-xr-x 1 root root 3888182 2004-10-07 12:01 vmlinux

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Yves3 KarstenW „Du hast wahrscheinlich nur die Headerdateien installiert, das kann man bei...“
Optionen

vielen dank für alle antworten!
ich werde es am nächsten wochenende ausprobieren.

gruss yves

bei Antwort benachrichtigen
KarstenW Yves3 „vielen dank für alle antworten! ich werde es am nächsten wochenende...“
Optionen

Vielleicht gibt es bei fedora den Sourcecode des kernels gar nicht. Bei SUSE Personal fehlt auch der Programmcode des kernels und einige Programmiertools.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Yves3 KarstenW „Vielleicht gibt es bei fedora den Sourcecode des kernels gar nicht. Bei SUSE...“
Optionen

ich hab jetz fedora 3 installiert. weiter gekommen bin ich aber noch nicht.

jetzt hab ich den kernel source heruntergeladen. ich hoffe das ist der richtige (kernelversion stimmt)

adresse: http://download.fedora.redhat.com/pub/fedora/linux/core/3/SRPMS/

datei:
kernel-2.6.9-1.667.src.rpm 02-Nov-2004 16:05 38.4M

dann hab ich die datie folgendermassen installiert:

rpm -ivh kernel-2.6.9-1.667.src.rpm

das hat so ohne fehler funktioniert.(endlich mal was)
leider kommen biem installieren des madwifi treibers immer noch die selben fehler.

bei Antwort benachrichtigen