WLAN-PCMCIA-Karte (Orinoco Classic Gold) unter Gentoo

In diesem Artikel wird von Grundauf beschrieben, wie man eine PCMCIA-WLAN-Karte unter dem Betriebssystem Linux Gentoo installiert und konfiguriert. Dieser Artikel eignet sich aber auch für alle anderen Linux-Distributionen.

Vorraussetzungen

Zuerst muss der Chipsatz für PCMCIA überprüft und die entsprechenden Module in den Kernel eingebunden werden. Dazu sucht man mittels des Befehls lspci nach Cardbus:

LSPCI

0000:02:09.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac)
0000:02:09.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac)

In diesem Notebook kommt ein Cardbus-Controller der Marke Ricoh zum Einsatz. Da es im Kernel keinen spezielles Modul dafür gibt, wird das Yenta Cardbus-Modul ausgewählt. Außerdem ist es erforderlich, PCMCIA-Unterstützung zu aktivieren:

PCMCIA-Support

Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support
[ ] Enable PCCARD debugging
<*> 16-bit PCMCIA support
[*] 32-bit CardBus support
--- PC-card bridges
<m> CardBus yenta-compatible bridge support
</m>

Der nächste Schritt bezieht sich auf die PCMCIA-WLAN-Karte. Je nach Modell muss der entsprechende Treiber ausgewählt werden. In folgendem Auszug sieht man die benötigten Module für eine Orinoco Classic Gold PCMCIA WLAN-Karte:

WLAN-Karte

Device Drivers --->
Networking support --->
Wireless LAN (non-hamradio) --->
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
<m> Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)
<m> Hermes PCMCIA card support
</m></m>

Nun haben wir die Grundlagen gelegt. Jetzt muss der Kernel mittels make && make modules_install kompiliert werden. Nach einem Neustart können wir die Konfiguration fortsetzen.

Module starten

Zuerst müssen wir die entsprechenden Module laden, was wir mit dem Befehl modprobe erledigen. Wir beginnen mit dem Modul für den Cardbus und überprüfen, ob alles in Ordnung ist.

Cardbus-Modul laden

# modprobe yenta_socket
# dmesg

Yenta: CardBus bridge found at 0000:02:09.1 [17c0:3301]
Yenta: ISA IRQ mask 0x0038, PCI irq 10
Socket status: 30000410

Das Modul wurde erfolgreich geladen und die Cardbus bridge wurde gefunden. Als nächstes laden wir die Module für die WLAN-Karte.

Cardbus-Modul laden

# modprobe orinoco
# modprobe orinoco_cs
# modprobe hermes

Jetzt fragen sich sicherliche einige Leser, woher man wissen soll, dass diese drei Module geladen werden müssen. Wer sich bei solchen Angelegenheiten nicht sicher ist, sollte sich eine aktuelle Linux-Live-CD (Knoppix, Gentoo LiveCD, etc) besorgen und davon booten. Mit dem Befehl lsmod kann man sich die benötigten Module anzeigen lassen.

Bis hierhin haben wir die benötigten Module geladen und können nun im nächsten Schritt beginnen, die WLAN-Karte zu konfigurieren.

WLAN konfigurieren

Wenn man jetzt die PCMCIA-WLAN-Karte einsteckt, tut sich relativ wenig, eigentlich gar nichts. Weder dmesg noch irgendwelche Logfiles zeigen ein Lebenszeichen der PCMCIA-Karte. Das liegt daran, dass PCMCIA-Tools pcmcia-cs noch nichts installiert sind. Dies erledigen wir mit einem kurzen emerge pcmcia-cs und starten anschließend den Dämon:

PCMCIA-Dämon starten

# /etc/init.d/pcmcia start
* PCMCIA support detected
* Starting pcmcia ...
cardmgr[8413]: watching 2 sockets

Jetzt sollte das kleine Lämpchen an der WLAN-Karte zu blinken beginnen und dmesg etwa folgendes ausspucken:

eth1: Hardware identity 0001:0001:0004:0000
eth1: Station identity 001f:0001:0006:0006
eth1: Firmware determined as Lucent/Agere 6.06
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
eth1: MAC address 00:02:2D:02:06:B4
eth1: Station name "HERMES I"
eth1: ready
eth1: index 0x01: Vcc 5.0, irq 3, io 0x0100-0x013f
eth1: New link status: Disconnected (0002)
eth1: New link status: Disconnected (0002)

Um die WLAN-Karte nun zu konfigurieren, benötigen wie die wireless-tools. Nachdem wir diese installiert haben, können wir mit iwconfig die WLAN-Karte einrichten. Nun können wir uns mit dem Befehl iwconfig anzeigen lassen, unter welchem Namen die WLAN-Karte geführt wird.

# iwconfig

lo no wireless extensions.

eth0 no wireless extensions.

eth1 IEEE 802.11-DS ESSID:"WLAN" Nickname:"WLAN"
Mode:Ad-Hoc Frequency:2.422 GHz Cell: 00:02:2D:02:06:B4
Bit Rate:2 Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 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:0 Missed beacon:0

In diesem Fall heißt unsere WLAN-Karte eth1. Jetzt müssen wir noch das Init-Script anlegen. Dazu legen wir einfach ein Symlink auf die bereits vorhandene Netzwerkkarte. Zusätzlich müssen wir noch einen Eintrag in die /etc/conf.d/net anlegen.

# cd /etc/init.d/
# ln -s net.eth0 net.eth1

# nano /etc/conf.d/net
config_eth1=( "192.168.0.54 netmask 255.255.255.0 brd 192.168.0.255" )

Leider müssen wir noch eine weitere Konfigurationsdatei anpassen, denn wenn wir versuchen, mit /etc/init.d/net.eth1 start die WLAN-Karte zu starten, erhalten wir folgende Fehlermeldung:

# /etc/init.d/net.eth1 start

* Starting eth1
* Configuring wireless network for eth1
* eth1 does not support scanning
* You either need to set a preferred_aps list in /etc/conf.d/wireless
* preferred_aps=( "ESSID1" "ESSID2" )
* and set associate_order_eth1="forcepreferred"
* or set associate_order_eth1="forcepreferredonly"
* or hardcode the ESSID to "any" and let the driver find an Access Point
* essid_eth1="any"
* or configure defaulting to Ad-Hoc when Managed fails
* adhoc_essid_eth1="WLAN"
* or hardcode the ESSID against the interface (not recommended)
* essid_eth1="ESSID"
* Failed to configure wireless for eth1 [ !! ]

Der Wireless-LAN-Karte muss ein Access-Point zugewiesen werden. Sollte dieser nicht erreichbar sein, so muss diese in den Ad-Hoc-Modus gesetzt werden. Dieses erreichen wir, indem wir in der Datei /etc/conf.d/wireless Folgendes eintragen:

essid_eth1="ESSID"essid_eth1="home"
adhoc_essid_eth1="WLAN"

Script für WLAN-Karte

Da man eine PCMCIA-Karte nicht immer im Notebook eingesteckt hat, braucht man auch nicht bei jedem Systemstart alle Module, Dämonen und Programme starten. Hierfür schreiben wir uns einfach ein Script, dass gestartet wird, wenn die WLAN-Karte eingesteckt wird.

# nano wlan.sh

modprobe yenta_socket
modprobe orinoco
modprobe orinoco_cs
modprobe hermes
/etc/init.d/pcmcia start
/etc/init.d/net.eth1 start
iwconfig eth1 ESSID home
iwconfig eth1 mode managed
iwconfig eth1 rate 11M

Wir schreiben demzufolge die Befehle nach der Reihe auf, die wir benötigen, um die WLAN-Karte zum Laufen zu kriegen. Das Script müssen wir noch mit chmod +x wlan.sh ausführbar machen, damit das Script über die Konsole starten können.