WLAN-Karten mit zd1211-zd1211b-Chipsatz
Inhaltsverzeichnis
WLAN-Karten mit zd1211/zd1211b-Chipsatz
Dieses HowTo beschreibt die Treiberinstallation für WLAN-Adapter mit zd1211/zd1211b-Chipsatz unter SuSE 10.1 und openSUSE 10.2.
Dabei geht es unter openSUSE 10.2 vor allem auch um mögliche Alternativen, falls der, im Standardkernel enthaltenen Treiber zd1211rw, nicht richtig funktioniert.
Für SuSE Linux 10.1 und openSUSE 10.2 finden sich - sofern der zd1211rw nicht funktioniert - passende RPM-Pakete im Downloadbereich des pc-forum24.de.
Hinweis: |
Bisher gibt es dort allerdings "nur" Pakete für 32-Bit Installationen. Für ein 64-Bit System können allerdings die entsprechenden Pakete selbst aus dem src.rpm erzeugt werden. Dies gilt z.B. auch, wenn für die eigene Kernelversion keine passenden Treiber vorhanden sind. Siehe: Anmerkungen |
Firmware installieren
Hierzu stehen drei Pakete zur Verfügung, wobei zunächst die neuste Version versucht werden sollte:
PC-Forum24.de > Downloads > SuSE 10.2 > WLAN > RPM > noarch
zd1211-firmware 1.1-1
zd1211-firmware 1.2-1
zd1211-firmware 1.3-1
Funktionstest (unter openSUSE 10.2)
Unter openSUSE 10.2 kann man nun versuchen, ob der Stick bereits funktioniert, das ist aber leider nicht immer der Fall.
Auf jeden Fall sollten in einer zweiten Konsole als root die Kernelausgaben beobachtet werden:
su - <root-Passwort eingeben - Es werden keine *** o.ä. angezeigt> tail -f /var/log/messages
Nun folgende Befehle ausführen:
su - <root-Passwort eingeben - Es werden keine *** o.ä. angezeigt> rcnetwork stop modprobe -r zd1211rw modprobe zd1211rw rcnetwork start iwconfig
In der Überwachungskonsole dürfen keine Fehlermeldungen auftauchen, die sich auf fehlende Firmware beziehen (failed to load firmware o.ä.).
Sollte die Ausgabe von iwconfig eine Karte mit wireless Extension anzeigen, kann diese nun mit Yast eingerichtet werden und die restlichen Schritte sind in diesem Fall nicht mehr nötig.
Installation des zd1211/zd1211b Treibers
Gilt für SuSE Linux 10.1 und openSUSE 10.2, falls der zd1211rw nicht funktioniert.
Zunächst muss ermittelt werden, welcher der beiden Treiber für den eigenen Stick der richtige ist.
lsusb
zeigt sämtlichen angeschlossenen USB-Geräte an.
Wichtig ist dabei die USB-ID, die in etwa so aussehen wird.
Bus 00X Device 00X: ID 1234:5678 *IrgendeinName*
Welcher Treiber für welche ID der richtige ist, findet man hier:
Hinweis: |
Die Notation unterscheidet sich von der USB-ID, im Endeffekt muß man die "0x" ignorieren und kann sich dann die ID zusammensetzen. |
#ifdef ZD1211B { USB_DEVICE(0x0053, 0x5301) }, { USB_DEVICE(0x0053, 0x5302) }, { USB_DEVICE(0x050d, 0x4050) }, { USB_DEVICE(0x050d, 0x705c) }, { USB_DEVICE(0x0586, 0x340f) }, { USB_DEVICE(0x079b, 0x0062) }, { USB_DEVICE(0x083a, 0x4505) }, { USB_DEVICE(0x083a, 0xe501) }, { USB_DEVICE(0x0ace, 0x1215) }, { USB_DEVICE(0x0ace, 0xa215) }, { USB_DEVICE(0x0baf, 0x0121) }, { USB_DEVICE(0x0cde, 0x001a) }, { USB_DEVICE(0x0df6, 0x9075) }, { USB_DEVICE(0x0f88, 0x3014) }, { USB_DEVICE(0x1233, 0x0471) }, { USB_DEVICE(0x157e, 0x300d) }, { USB_DEVICE(0x1582, 0x6003) }, #elif defined(ZD1211) { USB_DEVICE(0x0105, 0x145f) }, { USB_DEVICE(0x0586, 0x3401) }, { USB_DEVICE(0x0586, 0x3409) }, { USB_DEVICE(0x0675, 0x0550) }, { USB_DEVICE(0x079b, 0x004a) }, { USB_DEVICE(0x07b8, 0x6001) }, { USB_DEVICE(0x0ace, 0x1211) }, { USB_DEVICE(0x0ace, 0xa211) }, { USB_DEVICE(0x0b05, 0x170c) }, { USB_DEVICE(0x0b3b, 0x1630) }, { USB_DEVICE(0x0b3b, 0x5630) }, { USB_DEVICE(0x0b3b, 0x6630) }, { USB_DEVICE(0x0cde, 0x0011) }, { USB_DEVICE(0x0df6, 0x9071) }, { USB_DEVICE(0x126f, 0xa006) }, { USB_DEVICE(0x129b, 0x1666) }, { USB_DEVICE(0x1435, 0x0711) }, { USB_DEVICE(0x14ea, 0xab13) }, { USB_DEVICE(0x157e, 0x300a) }, { USB_DEVICE(0x157e, 0x300b) }, { USB_DEVICE(0x157e, 0x3204) }, { USB_DEVICE(0x2019, 0xc007) }, { USB_DEVICE(0x2019, 0xc008) }, { USB_DEVICE(0x2019, 0xc009) }, { USB_DEVICE(0x5173, 0x1809) }, { USB_DEVICE(0x6891, 0xa727) }, #endif
Beispiel: '
|
Bei einer USB-ID mit dem Wert 079b:0062, ist der benötigt den Treiber zd1211b, weil diese ID { USB_DEVICE(0x079b, 0x0062) } dort zugeordnet ist (blau), würde man z.B. die USB-ID 2019:c009 angezeigt bekommen, so wäre der Treiber zd1211 der richtige, denn die ID { USB_DEVICE(0x2019, 0xc009) }, ist dem Abschnitt zu zd1211 zugeordnet (rot). |
Nachdem man den passenden Treiber ermittelt hat, kann man diesen nun installieren.
Folgende RPM Pakete stehen dazu zur Verfügung:
zd1211(b)-driver-kmp-*Kernelflavor*-*Kernelversion*
SuSE Linux 10.1
Kernelversion 2.6.16.27-0.6 oder 2.6.16.27-0.9
PC-Forum24.de > Downloads > SuSE 10.1 > WLan > RPM
openSUSE 10.2
Kernelversionen 2.6.18.2-34 oder 2.6.18.8-0.1
PC-Forum24.de > Downloads > SuSE 10.2 > WLAN > RPM
Es muss das passende Paket zum laufenden Kernel bezüglich Kernelversion und Kernelflavor installiert werden, das Kernelflavor ist das, was bei
uname -r
nach der Versionsnummer des laufenden Kernels (z.B. 2.6.18.2-34) ausgegeben wird (z.B. -default oder -bigsmp).
Hinweis: |
Wer eine andere Kernelversion installiert hat, sollte sich die Anmerkungen am Ende des Artilels zum Thema rebuild ansehen. |
Blacklisten des zd1211rw-Treibers (unter openSUSE 10.2)
Zunächst legt man ein Backup der Datei
/etc/modprobe.d/blacklist
an.
Danach öffnet man die Datei
/etc/modprobe.d/blacklist
als root mit einem Texteditor und fügt folgende beide Zeilen hinten an.
blacklist zd1211rw blacklist ieee80211softmac
Stoppen des Netzwerks, Entladen der Module, Laden der Module und Neustart des Netzwerks
su - <root-Passwort eingeben - Es werden keine *** o.ä. angezeigt> rcnetwork stop modprobe -r zd1211rw modprobe -r ieee80211softmac
Nun lädt man den passenden Kerneltreiber:
modprobe zd1211
bzw.
modprobe zd1211b
(je nachdem, welchen Treiber man benötigt und installiert hat).
rcnetwork start iwconfig
Nun sollte ein neues Interface angezeigt werden, welches man über Yast einrichten kann.
Anmerkungen
Bei Problemen sollten zunächst _alle_ drei Firmwareversionen getestet werden.
Rebuild des Treibers aus dem SRC-RPM
Für den Fall, dass
- nicht der SuSE-Standard-Kernel verwendet wird,
- (open)SUSE in der 64-Bit-Version installiert ist,
- die o.g. Treiber aus anderen Gründen nicht laufen,
gibt es noch die Möglichkeit aus dem src.rpm selbst ein passendes RPM für den jeweiligen Kernel zu erstellen.
Die entsprechenden SRC-RPMs findet man unter:
openSUSE 10.2: PC-Forum24.de > Downloads > SuSE 10.2 > WLAN > SRC
SuSE Linux 10.1: PC-Forum24.de > Downloads > SuSE 10.1 > WLan > SRC
Eine Anleitung zum "rebuilden" eines SRC-RPMs gibt es hier:
http://www.pc-forum24.de/howtos/2882-rpm-umbau-aus-einem-src-rpm-mit-rpmbuild-beispiele-wlan-kmp-fcdslsl.html
Das Ganze muß dann nur für das jweils benötigte src.rpm
zd1211-driver-r83-rm.0.src.rpm
bzw.
zd1211b-driver-r83-rm.0.src.rpm
durchgeführt werden.
Welches der beiden Pakete benötigt und wie diese Information ermittelt wird, ist weiter oben beschreiben.
Links
http://zd1211.wiki.sourceforge.net/
Autoren: Rain_Maker
Ergänzungsautoren:
Lektor:
Designer:
Fotograf:
Dank an: Rain_Maker
Wenn Du möchtest, dass Deine Arbeit wie die des Ursprungsautoren gewürdigt wird, trage Dich in dieser Tabelle entsprechend ein.