ZenWalk - madwifi Paket erstellen, madwifi installieren und konfigurieren

Logo ZenWalkDieser Artikel bezieht sich primär auf ZenWalk 3.0 und beschreibt die Erstellung des Paketes madwifi sowie dessen Installation und Konfiguration. Alle Arbeiten werden in der Shell als User root ausgeführt.

1. madwifi, Paket erstellen

Aktuell installierten Kernel ermitteln:

uname -r
2.6.17.11

Das herunterzuladende Paket [1] hat die Bezeichnung madwifi-2.6.17.6-i486-1z30.tgz. Es ist für den Kernel 2.6.17.6 und ZenWalk 3.0 erstellt. Daraus ergibt sich, daß das herunterzuladende Paket [1] mit einem Rebuild auf den aktuellen Kernel angepasst werden muss. In diesem Falle die Vorbereitungen für das Erstellen/Rebuilden von Paketen treffen.

Wenn Kernelversion des herunterzuladenden Paket [1] mit der Version des installierten Kernel übereinstimmt mit Pkt. 2. forfahren.

Für die Erstellung von Paketen ein neues Verzeichnis erstellen:

mkdir /home/packages

Für das Paket madwifi ein Verzeichnis erstellen:

mkdir /home/packages/madwifi

Dieses Verzeichnis für nicht-root-User nutzbar machen:

chmod 777 /home/packages/madwifi

Die für die Erstellung des Paketes madwifi
erforderlichen Dateien in das Verzeichnis /home/packages/madwifi downloaden [1].

Die heruntergeladene Datei madwifi.zenbuild ist ein Script und muss ausführbar sein:

chmod 744 /home/packages/madwifi/madwifi.zenbuild

1.1. Rebuild des Paketes für aktuellen Kernel in ZenWalk 3.0

Um das madwifi-Paket madwifi-2.6.17.6-i486-1z30.tgz für den aktuellen Kernel 2.6.17.11 zu rebuilden Folgendes ausführen:

cd /home/packages/madwifi

./madwifi.zenbuild

Die nach dem Ausführen des Scriptes madwifi.zenbuild in der Shell zu sehenden Infos sind selbsterklärend. Hier ein Ausschnitt:

Gzipping madwifi-2.6.17.11-i486-1z30.tar...
Renaming madwifi-2.6.17.11-i486-1z30.tar.gz to madwifi-2.6.17.11-i486-1z30.tgz...
Moving madwifi-2.6.17.11-i486-1z30.tgz to /home/packages/madwifi...

Package creation complete.

2. madwifi-Paket installieren

Das madwifi-Paket installieren mit:

installpkg /pfad-zum-paket/madwifi-2.6.17.11-i486-1z30.tgz

3. Kernelmodul madwifi

Prüfen, ob ein madwifi-Kernelmodul geladen ist:

lsmod |grep ath

Erfolgt nach dieser Abfrage keine Ausgabe, was der Fall sein sollte, müssen die madwifi-Kernelmodule geladen werden:

modprobe ath_pci

Wenn man nun die Ausgabe

FATAL: Module ath_pci not found.

erhält ist dies normal. Obwohl die madwifi-Kernelmodule in /lib/modules/2.6.17.11/net installiert sind

ls -l /lib/modules/2.6.17.11/net
-rw-r--r-- 1 root root 206698 2006-09-30 10:45 ath_hal.ko
-rw-r--r-- 1 root root 88000 2006-09-30 10:45 ath_pci.ko
-rw-r--r-- 1 root root 14611 2006-09-30 10:45 ath_rate_sample.ko
-rw-r--r-- 1 root root 183283 2006-09-30 10:45 wlan.ko
-rw-r--r-- 1 root root 5839 2006-09-30 10:45 wlan_acl.ko
-rw-r--r-- 1 root root 8704 2006-09-30 10:45 wlan_ccmp.ko
-rw-r--r-- 1 root root 6596 2006-09-30 10:45 wlan_scan_ap.ko
-rw-r--r-- 1 root root 14689 2006-09-30 10:45 wlan_scan_sta.ko
-rw-r--r-- 1 root root 12936 2006-09-30 10:45 wlan_tkip.ko
-rw-r--r-- 1 root root 7707 2006-09-30 10:45 wlan_wep.ko
-rw-r--r-- 1 root root 3129 2006-09-30 10:45 wlan_xauth.ko

werden sie vom Kernel noch nicht erkannt.

Der Rechner muss nach dem Installieren des madwifi-Paketes neu gestartet werden, damit der Kernel beim Systemstart die neu installierten madwifi-Kernelmodule erkennt.

Führt man nach dem Neustart erneut

modprobe ath_pci

aus sollte dies ohne Fehler möglich sein. Ein anschließendes

lsmod |grep ath

zeigt nun alle geladenen madwifi-Kernelmodule:

ath_pci 59424 0
ath_rate_sample 8448 1 ath_pci
wlan 123740 4 wlan_scan_sta,ath_pci,ath_rate_sample
ath_hal 175184 3 ath_pci,ath_rate_sample

Nach dem Laden der madwifi-Kernelmodule steht die Atheros-WLAN-Karte als ath0 dem Netzwerk sofort zur Verfügung und kann konfiguriert werden.

Alle Netzwerkkarten abzufragen, Beispielausgabe:

ifconfig
ath0 Link encap:Ethernet HWaddr 00:22:84:FC:02:42
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:42 (42.0 b) TX bytes:0 (0.0 b)

eth0 Link encap:Ethernet HWaddr 00:06:31:44:78:BD
inet addr:192.168.10.182 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2320 errors:0 dropped:0 overruns:0 frame:0
TX packets:1510 errors:0 dropped:0 overruns:0 carrier:0
collisions:89 txqueuelen:1000
RX bytes:2568720 (2.4 MiB) TX bytes:119178 (116.3 KiB)
Interrupt:5 Base address:0xe000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:66 errors:0 dropped:0 overruns:0 frame:0
TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4157 (4.0 KiB) TX bytes:4157 (4.0 KiB)

wifi0 Link encap:UNSPEC HWaddr 00-22-84-FC-02-42-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3329 errors:0 dropped:0 overruns:0 frame:1274
TX packets:674 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:199
RX bytes:296886 (289.9 KiB) TX bytes:31007 (30.2 KiB)
Interrupt:10 Memory:f9460000-f9470000

Alle WLAN-Karten abfragen:

iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wifi0 no wireless extensions.

ath0 IEEE 802.11g ESSID:"Nugugge" Nickname:"slim"
Mode:Managed Frequency:2.472 GHz Access Point: 00:27:46:B4:20:C8
Bit Rate:18 Mb/s Tx-Power:18 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=2/94 Signal level=-93 dBm Noise level=-95 dBm
Rx invalid nwid:12 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Das Deveice ath0 steht als WLAN-Karte zur Verfügung. Ha, hier meldet sich ein offener Accesspoint: ESSID "Nugugge".

Es kann auch sein, daß sich die WLAN-Karte so meldet:

iwconfig ath0
ath0 IEEE 802.11b ESSID:""
Mode:Managed Channel:0 Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power:0 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Wie zu sehen existiert ath0 im Netzwerk noch ohne WLAN-Parameter.

Auch wenn ath0 noch nicht für das eigene Netzwerk des Rechners konfiguriert ist kann sofort ein Scan der erreichbaren WLAN-Netzwerke der Umgebung gestartet werden. Eventuell muss ath0 als Mindesvorraussetzung eine IP zugeteilt werden.

WLAN scannen (hier von meinem Arbeitsplatz aus):

iwlist ath0 scanning
ath0 Scan completed :
Cell 01 - Address: 00:0D:3A:36:7C:51
ESSID:"QTIME2"
Mode:Master
Frequency:2.437 GHz (Channel 6)
Quality=32/94 Signal level=-63 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 22 Mb/s
6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Extra:bcn_int=100
Cell 02 - Address: 00:27:46:B4:20:C8
ESSID:"Nugugge"
Mode:Master
Frequency:2.472 GHz (Channel 13)
Quality=94/94 Signal level=-1 dBm Noise level=-95 dBm
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
Cell 03 - Address: 00:04:0E:BB:94:FE
ESSID:"HOMEZONE"
Mode:Master
Frequency:2.457 GHz (Channel 10)
Quality=13/94 Signal level=-82 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Extra:bcn_int=100
Cell 04 - Address: 00:40:F4:94:F4:FC
ESSID:"WL_IN"
Mode:Master
Frequency:2.422 GHz (Channel 3)
Quality=51/94 Signal level=-44 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Extra:bcn_int=100
Cell 05 - Address: 00:40:F4:94:F4:E9
ESSID:"WL_IN"
Mode:Master
Frequency:2.422 GHz (Channel 3)
Quality=94/94 Signal level=-1 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Extra:bcn_int=100
Cell 06 - Address: 00:13:49:80:19:98
ESSID:"SOL"
Mode:Master
Frequency:2.437 GHz (Channel 6)
Quality=29/94 Signal level=-66 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
Cell 07 - Address: 00:24:C5:27:41:A6
ESSID:"QTIME3"
Mode:Master
Frequency:2.422 GHz (Channel 3)
Quality=27/94 Signal level=-68 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
12 Mb/s; 48 Mb/s
Extra:bcn_int=100
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Cell 08 - Address: 00:15:0C:CC:04:62
ESSID:""
Mode:Master
Frequency:2.422 GHz (Channel 3)
Quality=13/94 Signal level=-82 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 22 Mb/s
6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Extra:bcn_int=100
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK

Die Leute hier im Haus haben offensichtlich noch nicht davon gehört, daß man sich die verfügbaren Kanäle teilen sollte - wie die Nutzung des Kanal 3 zeigt. Vermutlich wissen die nicht mal was das bedeutet (naja, von Windows dumm gelassene Anwender).
Hier kann man auch den Unterschied zwischen Accesspoints mit WPA PSK AES und WPA PSK TKIP sehen. Cell 6 und Cell 08 verwenden TKIP. Cell 07 verwendet AES.

3.1. madwifi-Kernelmodule und Systemstart

Damit die madwifi-Kernelmodule beim Starten des Rechner geladen werden muss Folgendes durchgeführt werden.

Für die madwifi-Module eine eigene Konfigurationsdatei erzeugen und für das WLAN-Device wlan0 einen Alias eintragen:

echo "alias wlan0 ath_pci" > /etc/modprobe.d/madwifi

Die Konfigdatei /etc/modprobe.d/madwifi in der Konfigdatei /etc/modprobe.conf eintragen:

echo "include /etc/modprobe.d/madwifi" >> /etc/modprobe.conf

Wichtig: Bei diesem echo-Befehl 2 ">" verwenden! Also ">>". Bei nur ">" würde die Datei modprobe.conf komplett überschrieben und sie hätte danach nur noch einen einzigen Eintrag: "include /etc/modprobe.d/madwifi".

Nun steht der Konfiguration des Netzwerk unter Verwendung der Atheros-WLAN-Karte nichts mehr im Weg. Das ist aber ein anderes Thema.

4. ath0 konfigurieren

Um die WLAN-Karte ath0 zu konfigurieren werden folgende Befehle verwendet:

ifconfig, iwconfig, iwspy

Diese Befehle können entweder direkt in der Shell verwendet werden oder das System verwendet sie beim Aufruf der Scripte, die das Netzwerk oder einzelne Netzwerkkarten starten und stoppen.

Der Befehl, um die WLAN-Karte wlan0 zu starten oder stoppen lautet:

/etc/rc.d/rc.inet1 wlan0_start

/etc/rc.d/rc.inet1 wlan0_stop

Da eine Atheros-WLAN-Karte vom Kernel mit der Bezeichnung ath0 im System gemeldet wird kann das Netzwerkscript /etc/rc.d/rc.inet1 bei ZenWalk nicht mit diesem Befehl für die Karte ath0 verwendet werden. Die Bezeichnung wlan0 geht von der Verwendung einer WLAN-Karte mit der Bezeichnung wlan0 aus und das ist bei der Verwendung des Kernelmodules ndiswrapper der Fall.

Die WLAN-Karte ath0 starten oder stoppen:

/etc/rc.d/rc.inet1 ath0_up

/etc/rc.d/rc.inet1 ath0_down

Analog dazu wird eth0 gestartet oder gestoppt:

/etc/rc.d/rc.inet1 eth0_up

/etc/rc.d/rc.inet1 eth0_down

Wobei sich bei eth0 auch "eth0_start" und "eth0_stop" anwenden lässt.

Hinweis:

Bei Ralink-WLAN-Karten mit Ralinktreiber wird "ra0_up" bzw. "ra0_down" verwendet. Bei Ralink-WLAN-Karten mit ndiswrapper kann "ra0_up" bzw. "ra0_down" oder "wlan0_start" bzw. "wlan0_stop" verwendet werden.

Fazit:

Am Besten man verwendet bei allen Devices *_up und *_down.

Links

madwifi-2.6.17.6-i486-1z30.tgz [1]

madwifi-0.9.3.1 ... i486-1.tgz [1]

madwifi.org

Madwifi on Slackware

Ergänzende Artikel zum Thema auf dieser Website:

WLAN mit WPA PSK TKIP oder WPA PSK AES

Ein Madwifi Buildscript steht als Anhang dieses Beitrages zum Download zur Verfügung.

AnhangGröße
build_madwifi.sh.tar.gz1.21 KB
Powered by Drupal. Created with ZenWalk.