WLAN-Adapter mit zd1211/zd1211b-Chipsatz (SuSE 10.1/openSUSE 10.2/10.3)

Status
Für weitere Antworten geschlossen.

Rain_Maker

Administrator
Teammitglied
In diesem HowTo möchte ich die Treiberinstallation für oben genannte WLAN-Adapter unter SuSE 10.1 und openSUSE 10.2 beschreiben.

Dabei geht es bei openSUSE 10.2 vor allem auch darum, was man tun kann, wenn der eigentlich im Kernel enthaltene Treiber "zd1211rw" nicht richtig funktionieren will.

Unter SuSE 10.1 und unter openSUSE 10.2 (sofern eben der zd1211rw nicht funktionieren will) werden hierfür RPM-Pakete verwendet, welche von unserem Forenteam gebaut und zur Verfügung gestellt wurden.

Bisher gibt es "nur" Pakete für 32 Bit Installationen, allerdings kann man sich auch auf einem 64 Bit System die Pakete selbst aus dem src.rpm erzeugen.
Dies gilt z.B. auch, wenn für die eigene Kernelversion keine passenden Treiber vorhanden sind.

Sollte jemand Lust/Zeit haben, die Pakete auf einem 64-Bit System (10.1 oder 10.2) durch einen Rebuild zu bauen, so möge er/sie sich bitte per PN melden, es ist übrigens gar nicht so schwer, das Prinzip ist schon hier besprochen.

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 mit dem entsprechenden 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 wird und wie man das ermitteln kann werde ich weiter unten beschreiben.

Die src.rpm befinden sich hier:

//Edit:

Gelöscht, da obsolet (Pakete wurden gelöscht)


Zunächst die Vorarbeit(en), die auf jeden Fall nötig und unabhängig von der installierten Version und der Architektur (32/64 Bit) sind.

0. Firmware installieren.

Hierzu stehen 3 Pakete zur Verfügung, wobei ich zunächst die neuste Version 1.3 versuchen würde.

zd1211-firmware-1.1-1.noarch.rpm

zd1211-firmware-1.2-1.noarch.rpm

zd1211-firmware-1.3-1.noarch.rpm

1. NUR openSUSE 10.2 => Funktionstest.

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.

Code:
su

Passwort

tail -f /var/log/messages
Nun folgende Befehle ausführen.

Code:
su

Passwort

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, dann kann diese nun mit Yast eingerichtet werden und die restlichen Schritte sind nicht mehr nötig.

2. Installation des zd1211/zd1211b Treibers (SuSE 10.1 und openSUSE 10.2, falls dort der zd1211rw nicht funktionierte)

Hierzu muß zunächst ermittelt werden, welcher der beiden Treiber für den eigenen Stick der richtige ist.

Code:
lsusb
zeigt sämtlichen angeschlossenen USB-Geräte an.

Wichtig ist dabei die USB-ID, die in etwa so aussehen wird.

Code:
Bus 00X Device 00X: [B]ID 1234:5678[/B] *IrgendeinName*
Welcher Treiber für welche ID der richtige ist, findet man hier:

Code:
[COLOR='Blue']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) },[/COLOR]
#[COLOR='Red']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[/COLOR]
Achtung:

Die Notation unterscheidet sich von der USB-ID, im Endeffekt muß man die "0x" ignorieren und kann sich dann die ID zusammensetzen.

Hier ein Beispiel:

Wer also z.B. als USB-ID den Wert 079b:0062, der benötigt den Treiber zd1211b, weil diese ID
Code:
                { USB_DEVICE(0x[B]079b[/B], 0x[B]0062[/B]) },
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
Code:
{ USB_DEVICE(0x[B]2019[/B], 0x[B]c009[/B]) },
ist dem Abschnitt zu zd1211 zugeordnet (rot).

Nachdem man den passenden Treiber ermittelt hat, kann man diesen nun installieren.

//Edit:

Der folgende Abschnitt zu 10.1/10.2 ist obsolet, die Pakete wurden gelöscht, Grund:

http://www.pc-forum24.de/ankuendigungen-wichtiges/10210-opensuse-10-2-advance-notice-discontinuation-opensuse-10-2-a.html#post26190


Folgende RPM Pakete stellen wir zur Verfügung => "zd1211(b)-driver-kmp-*Kernelflavor*-*Kernelversion*"

Gelöscht, da obsolet (Pakete für 10.1/10.2 wurden gelöscht)

Es muss das passende Paket zum laufenden Kernel bezüglich Kernelversion und Kernelflavor installiert werden, das Kernelflavor ist das, was bei

Code:
uname -r
nach der Versionsnummer des laufenden Kernels (z.B. 2.6.18.2-34) ausgegeben wird (z.B. -default oder -bigsmp).

Wer eine andere Kernelversion installiert hat, der möge sich die Anmerkungen zum Thema Rebuild ganz am Anfang dieses Tutorials ansehen.

3. NUR openSUSE 10.2 => Blacklisten des zd1211rw-Treibers.

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.

Code:
blacklist zd1211rw

blacklist ieee80211softmac
4. Stoppen des Netzwerks, Entladen der Module, Laden der Module und Neustart des Netzwerks.

Code:
su

Passwort

rcnetwork stop

modprobe -r zd1211rw

modprobe -r ieee80211softmac
Nun lädt man den passenden Kerneltreiber:

Code:
modprobe zd1211
bzw.

Code:
modprobe zd1211b
(siehe oben, je nachdem, welchen Treiber man benötigt und installiert hat).

Code:
rcnetwork start

iwconfig
Nun sollte ein neues Interface angezeigt werden, welches man über Yast einrichten kann.

Bei Problemen sollten zunächst _alle_ drei Firmwareversionen getestet werden.

Viel Erfolg beim "Nachfrickeln".

Greetz,

RM
 

Rain_Maker

Administrator
Teammitglied
Einrichtung von WLAN-Adaptern mit zd1211/zd1211b-Chipsatz (openSUSE 10.3)

Unter openSUSE 10.3 laufen die besagten USB-Adapter "Out of the Box" mit dem im Kernel integrierten Treiber "zd1211rw".

Es muß lediglich darauf geachtet werden, daß das Paket "zd1211-firmware" installiert ist.

Da diese Firmware seit kurzem wohl "frei" ist, liegt sie im OSS-Repository bzw. befindet sich auf den Installationsmedien (CD/DVD).

//Edit:

Einige Sticks werden noch nicht anhand ihrer USB-ID erkannt obwohl sie laut dieser Seite hier:

SourceForge.net: zd1211 » home

einen der besagten Chipsätze (zd1211/zd1211b) verbaut haben, einige andere Sticks werden erst ab Kernel 2.6.23 offiziell unterstützt (so z.B. der Atheros AR5007UG).

Siehe auch:

Kein kompilieren unter Open Suse 10.3 möglich - linuxforen.de -- User helfen Usern

und

Thema anzeigen - [erledigt] Atheros AR5007UG - SuSE Linux

Diese Adapter funktionieren _nicht_ mit dem zd1211rw, welcher sich im Distributionskernel befindet, weshalb es entsprechend gepatchte und aus Kernel 2.6.23 zurückportierte RPM-Pakete in unserer Downloadsektion gibt.

zd1211rw-kmp-default-1_2.6.22.12_0.1-rm.1.i586.rpm

(Binary-RPM für Kernel-Default und 32 Bit)

zd1211rw-1-rm.1.src.rpm

(Source-RPM für Selbstbauer)

Wer einen dieser noch nicht offiziell unterstützten Adapter mit zd1211(b)-Chipsatz hat, der möge sich mit Angabe der USB-ID hier melden, sprich einen Thread im passenden Unterforum eröffnen, ich werde dann ein entsprechendes RPM zu Testzwecken zur Verfügung stellen.

Anschliessende Rückmeldung, ob es damit funktioniert, erachte ich eigentlich als eine Selbstverständlichkeit, trotzdem erwähne ich dies hier noch einmal ausdrücklich.

Greetz,

RM
 
Status
Für weitere Antworten geschlossen.
Oben