WG511
Aus Gentoo Linux Wiki
Inhaltsverzeichnis |
[Bearbeiten] Vorab: WG511 Problem auf Ubuntu 7.10 (Gutsy Gibbon) gelöst
Durch die Verbesserung bei der unterstützen Hardware durch verbesserten Kernel ist nun das Problem auf Gusty Gibbon 7.10 gelöst. Nun werden alle WG511 Chipsätze unterstützt. Man muss lediglich kurz nach der Installation von Gusty Gibbon die Option "eingeschränkte Hardware installieren" setzen
[Bearbeiten] Einleitung
Die Netgear WG511 ist eine 54 MBps (802.11b/g) Wireless LAN Karte für den 32-bit Cardbus. Es gibt mehrere Versionen dieser Karte, die sich in der Installation unterscheiden.
[Bearbeiten] Identifizieren der Karte
Obwohl alle folgenden Karten unter dem Namen WG511 zusammengefasst werden, lassen sie sich an Hand ihrer Gehäuseform, der Kennzeichnung auf der Rückseite sowie des Designs des vorderen Aufklebers unterscheiden. Die auf der Karte elektronisch gespeicherten Daten scheinen kein Unterscheidungskriterium zu sein, trotzdem wurden sie hier aufgenommen (sie sind über das 'lspci' Kommando auslesbar).
- Version 1
- WG511 v2.0 "Made in Taiwan"
0000:06:00.0 Network controller: Intersil Corporation Intersil ISL3890 [Prism GT/Prism Duette] (rev 01)
- pciid: 1260:3890 (rev 01), Subsystem: 1385:4800
- FCC ID: PY3WG511-F, Canada ID: 4054A-WG511F (das sind dieselben, wie für die v3.0).
- Diese Karte wird abhängig vom Chipsatz nativ von Linux unterstützt, ansonsten verwendet man den 'ndiswrapper'.
- WG511 v3.0 "Made in China"
0000:06:00.0 Network controller: Intersil Corporation Intersil ISL3890 [Prism GT/Prism Duette] (rev 01)
- pciid: 1260:3890 (rev 01), Subsystem: 1385:4800
- FCC ID: PY3WG511-F, Canada ID: 4054A-WG511F (das sind dieselben, wie für die v2.0).
- Dies ist eine SOFTMAC Karte (Bezeichnung nach prism54.org). Es gibt keine nativen Linuxtreiber, aber die Karte funktioniert hervorragend mit dem 'ndiswrapper', der Windowstreiber verwendet. (Das bedeutet allerdings den Verzicht auf 'rfmon'/'monitor mode' Unterstützung, und damit nur ein eingeschränktes Sniffing)
- Beide Karten besitzen ein graues Gehäuse. Die Angaben v2.0 und v3.0 müssen wohl als "Revisionsangaben" verstanden werden (man sollte die WG511 v2.0 Karte nicht mit der WG511v2 verwechseln).
- Version 2
- WG511v2 "Made in China"
- mit schwarzer Gehäuseform, siehe www.netgear.com
- FCC ID: PY3 WG511 V2H1
- Marvell Technology Group Ltd. 88w8335 [Libertas] 802.11b/g Wireless
- pciid: 11ab:1faa (rev 03), Subsystem:1385:4e00
- Nach Hinweisen im Internet ist sie kompatibel mit der TEW-423pi von Trendnet (ungetestet).
- -Kleine Editierung: TEW-423PI Treiber für Version B1.1R ist kompatibel!
- Der Treiber scheint aber ohne Probleme zu funktionieren. Die Installation erfolgt wie bei der WG511 v3.0 mit dem ndiswrapper. Eine ausführliche Anleitung zur v2 Made in China findet sich hier.
- Auf der Produktseite von Marvell Technology kann man lesen, dass es auch Linuxtreiber gibt (Referenzdesign) PDF
Eine Seite, welche die Karten aufschlüsselt findet sich unter [1].
Vom NdisWrapper Projekt stammt diese Seite: [2].
Zur visuellen Unterscheidung, siehe auch diese Seite [3]
[Bearbeiten] Unterschiede zwischen den WG511 Revisionen v2.0 und v3.0
Der Unterschied dürfte nicht allzu groß sein - darauf deuten schon die gleichen FCC ID Kennungen hin, die ein gleichgebliebenes elektronisches Design/Layout vermuten lassen. In der Tat zeigen beide Karten am gleichen Ort z.B. exakt dieselbe Empfangsfeldstärke an. Auch bestätigen Tests etwa dieselbe Sende- und Empfangsdatenrate an der jeweils gleichen Stelle (beide Karten mit dem ndiswrapper Modul getestet).
Die Seite http://prism54.org/ bietet eine Erklärung: Der Unterschied zwischen den Prism-Chipsätzen, beschränkt sich auf den integrierten Speicher. Die alten HARD-/FULLMAC Karten (v2.0) haben davon mehr zur Verfügung und können entsprechend mehr Funktionalitäten on-chip übernehmen. Bei den SOFTMAC Karten (v3.0) mit weniger Speicher muss dagegen mehr Funktionalität von einem Treiber auf dem PC übernommen werden.
So kann eine mit dem 'ndiswrapper' eingebundene Karte nicht in den 'monitor mode' gehen und ist via 'ndiswrapper' auch nicht in der Lage den Rauschpegel zu messen. (Den 'promiscuous mode' dagegen unterstützt auch der 'ndiswrapper'. Allerdings sieht man im 'promiscuous mode' generell nur soviel, wie bei einem Switch-Anschluss mit einer Kabelverbindung - also nur den Verkehr, an dem die eigene MAC beteiligt ist sowie Broadcast Pakete, d.h. eher dürftig.)
[Bearbeiten] Kernel Konfiguration
[Bearbeiten] 2.6 Kernel allgemein
CONFIG_PCCARD=y
CONFIG_CARDBUS=y
CONFIG_YENTA=y
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support
[*] 32-bit CardBus support
<*> CardBus yenta-compatible bridge support
CONFIG_HOTPLUG=y
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
Support for hot-pluggable devices
CONFIG_NET_RADIO=y
Device Drivers --->
Networking support --->
Wireless LAN (non-hamradio) --->
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
[Bearbeiten] WG511 v2.0 "Made in Taiwan"
CONFIG_PRISM54: m/y (Modul oder fest im Kernel) Wireless LAN (non-hamradio) ---> <*> Intersil Prism GT/Duette/Indigo PCI/Cardbus
CONFIG_FW_LOADER: m/y (Modul oder fest im Kernel)
Generic Driver Options --->
Hotplug firmware loading support
[Bearbeiten] WG511 v3.0 "Made in China"
CONFIG_PRISM54=n Wireless LAN (non-hamradio) ---> < > Intersil Prism GT/Duette/Indigo PCI/Cardbus
Loadable module support ---> [ ] Module unloading
Nicht den prism54 Treiber aktivieren, da 'ndiswrapper' sonst die Karte nicht verwenden kann. Keinesfalls die 'Module unloading' Option aktivieren, das macht die Loader/Unloader Routinen im Kernel beim Laden(!) des 'ndiswrapper' Moduls unbrauchbar (Bug?). (Getestet mit 2.6.12-gentoo-r9 mit ndiswrapper 1.2 und 1.7)
[Bearbeiten] Überprüfen der Kernel Unterstützung
Nachdem man den Kernel kompiliert und installiert hat, sollten folgende Aktionen durchführbar sein:
- CONFIG_PCCARD, CONFIG_CARDBUS, CONFIG_YENTA Unterstützung:
- Die Karte in einen PCMCIA Slot einstecken. Weil 32-bit Cardbus-Karten im Grunde PCI Karten sind, kann man das 'lspci' Kommando zur Identifikation benutzen. Die Wireless Karte sollte sichtbar sein. (siehe "Identifizieren der Karte")
- CONFIG_PRISM54:
- Das 'dmesg' Kommando zeigt die geladene prism Unterstützung an:
Loaded prism54 driver, version 1.2
- (Falls man die Prism Chipsatz Unterstützung als Modul kompiliert hat, lädt man dieses vorher.)
modprobe prism54
- Nach dem Einstecken der Karte (oder falls die Karte bereits eingeschoben war) zeigt das 'dmesg' Kommando:
PCI: Enabling device 0000:06:00.0 (0000 -> 0002) ACPI: PCI Interrupt 0000:06:00.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
[Bearbeiten] Paketinstallation
[Bearbeiten] Allgemein
Es gibt verschiedene Userspace Programme, um Wireless Karten zu managen: wireless-tools, wpa-supplicant, ... Im Folgenden werden die "wireless-tools" verwendet:
emerge wireless-tools
Die weitere Paketinstallation hängt von der vorhandenen Karte ab:
[Bearbeiten] WG511 v2.0 "Made in Taiwan"
Der im Kernel aktivierte "hotplugger" benötigt noch die sogenannte "Firmware".
emerge prism54-firmware (Alternativ auch unter prism54.org erhältlich)
Falls von prism54.org downgeloadet, benennt man die Firmware-Datei (*.arm) in isl3890 um und kopiert sie an den richtigen Ort: /lib/firmware (oder bei anderen Distributionen auch /usr/lib/hotplug/firmware/)
Verifizierung, ob der Schritt erfolgreich war: Die Firmware wird erst geladen, wenn das entsprechende Interface UP gesetzt wurde. Nach dem Befehlifconfig eth1 up('eth1' entsprechend dem eigenen System anpassen, siehe auch Abschnitt "Manuelle Konfiguration") zeigt das 'dmesg' Kommando Folgendes an:
eth1: resetting device... eth1: uploading firmware... eth1: firmware version: 1.0.4.3 eth1: firmware upload complete eth1: interface reset complete
Hat man sich bei der Kernelkonfiguration für die modularisierte prism54 Unterstützung entschieden, kann man das Modul beim Systemstart folgendermaßen automatisch laden lassen:
echo "prism54" >> /etc/modules.autoload.d/kernel-<version>
[Bearbeiten] WG511 v3.0 "Made in China"
Da keine nativen Linuxtreiber vorhanden sind, muss man den Windowstreiber verwenden. Dazu benötigt man den 'ndiswrapper'.
emerge ndiswrapper
Als nächstes die passenden Windows Treiber installieren. Das kann der SMC2802 Treiber oder der originale NETGEAR Treiber sein (leider stellt NETGEAR nur .exe Dateien zur Verfügung, die erst unter Windows installiert werden müssen).
Alternativ kann man auch die exe Datei von Netgear entpacken:
$ wget ftp://downloads.netgear.com/files/wg511v300.zip $ unzip wg511v300.zip $ cd WG511v300 $ cabextract WG511v300.exe $ cd Disk1 $ unshield x data1.cab $ unshield x data2.cab $ find ./ -name *.inf ../Driver_xp_File_Group/netwg511.inf ../Driver_xp_File_Group/netIL511.inf ../INF_2k_File_Group/netwg511.inf ../INF_2k_File_Group/netIL511.inf ../INF_xp_File_Group/netwg511.inf ../INF_xp_File_Group/netIL511.inf ../Driver_2k_File_Group/netwg511.inf ../Driver_2k_File_Group/netIL511.inf
Weiß man, in welchem Verzeichnis sich die *.inf/*.sys Dateien befinden (wobei die Windowsversion entweder Win98SE/ME/2000 oder XP sein kann), installiert man die .inf Datei:
cd <DRIVERPATH> ndiswrapper -i 2802W.inf oder ndiswrapper -i netwg511.inf
Da dabei alle benötigten Dateien nach /etc/ndiswrapper/ kopiert werden, benötigt man das <DRIVERPATH> Verzeichnis später nicht mehr. Schließlich lädt man das ndiswrapper Modul:
modprobe ndiswrapper
Verifizierung, ob der Schritt erfolgreich war: Bei eingesetzter Karte sollte die grüne Leuchtdiode nun zu blinken anfangen und das "dmesg" Kommando sollte etwa Folgendes ausgeben:
Für den SMC WinXP Treiber:
ndiswrapper version 1.2 loaded (preempt=yes,smp=no) ndiswrapper: driver 2802w (SMC,04/29/2004, 3.0.11.1) loaded PCI: Enabling device 0000:06:00.0 (0000 -> 0002) ACPI: PCI Interrupt 0000:06:00.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11 PCI: Setting latency timer of device 0000:06:00.0 to 64 ndiswrapper: using irq 11 wlan0: ndiswrapper ethernet device 00:0f:b5:24:a0:cc using driver 2802w, configuration file 1260:3890.5.conf wlan0: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP ndiswrapper (iw_set_tx_power:421): setting tx_power failed (C00000BB) ndiswrapper (iw_set_tx_power:421): setting tx_power failed (C00000BB)
Für den NETGEAR WinXP Treiber:
ndiswrapper version 1.2 loaded (preempt=yes,smp=no) ndiswrapper: driver netwg511 (NETGEAR,09/06/2004, 2.1.25) loaded PCI: Enabling device 0000:06:00.0 (0000 -> 0002) ACPI: PCI Interrupt 0000:06:00.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11 PCI: Setting latency timer of device 0000:06:00.0 to 64 ndiswrapper: using irq 11 wlan0: ndiswrapper ethernet device 00:0f:b5:24:a0:cc using driver netwg511, configuration file 1260:3890:1385:4800.5.conf wlan0: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP ndiswrapper (iw_set_tx_power:421): setting tx_power failed (80000005) ndiswrapper (iw_set_tx_power:421): setting tx_power failed (80000005)
Um das ndiswrapper Modul zukünftig beim Systemstart automatisch zu laden:
echo "ndiswrapper" >> /etc/modules.autoload.d/kernel-<version>
[Bearbeiten] Konfiguration der Wireless-Verbindung
Unter "Automatische Konfiguration" befindet sich die Anleitung für einen (normalerweise gewünschten) automatisierten Ablauf des Verbindungsaufbaus. Die ESSID (siehe "Manuelle Konfiguration") muss in diesem Fall bekannt sein. Die "Manuelle Konfiguration" sollte man z.B. nach der Erstinstallation verwenden, um zu überprüfen, ob alle Zwischenschritte des Verbindungsaufbaus fehlerfrei ausgeführt werden. Das automatische Herstellen der Verbindung mit dem am besten empfangbaren Access Point kann die WG511 v2.0 aus dem Stand (mit dem prism54 Treiber) bewerkstelligen, für die WG511 v3.0 existiert aber anscheinend ein Skript, das die selbe Funktionalität bereitstellen kann (siehe Linkliste #2).
[Bearbeiten] Manuelle Konfiguration
Um zu überprüfen, ob eine beliebige Wireless Karte vorhanden ist, kann man das Kommando
iwconfig
verwenden.
Vom "ndiswrapper" werden die Geräte unter der Bezeichnung "wlanX" (X = Ziffer) bereitgestellt, vom prism54 Kernel Modul unter der Bezeichnung "ethX".
Um die Karte zu konfigurieren, muss man die ESSID eines Access-Points kennen. Mit folgendem Kommando kann man nach verfügbaren Access Points und deren ESSIDs suchen (Achtung, bei Verwendung des prism54 Treibers muss das Interface vorher UP gesetzt werden: "ifconfig eth1 up"):
iwlist wlan0 scan
Um die Verbindung schließlich aufzubauen benutzt man das Kommando
iwconfig wlan0 essid ESSID mode managed
wobei man ESSID ersetzen und statt wlan0 ggf. sein eigenes Adapter einsetzen muss. Die SoftMAC v3.0 Karte kann unter Linux nur im Infrastructure Modus "managed" (Verbindung mit einem "Access Point") oder im "ad-hoc" Modus (Verbindung mit anderen "Ad-hoc" Teilnehmern) betrieben werden. Die v2.0 Karte unterstützt zusätzlich die Modi "auto" und "monitor".
Verifikation: Die orange LED sollte kurz aufgeblinkt haben.
Um die Verbindung mit der normalerweise üblichen, automatischen Adressvergabe via DHCP zu benutzen, schreibt man (in diesem Fall kann man auf Kommandos wie "ifconfig eth1 up" verzichten):
dhcpcd wlan0
[Bearbeiten] Automatische Konfiguration
Hierzu editiert man die Datei /etc/conf.d/wireless, wobei man die Zeilen
| Datei: /etc/conf.d/wireless |
preferred_aps=( "ESSID1" ) mode_wlan0="managed" config_ESSID1=( "dhcp" ) dhcpcd_ESSID1="-t 4" #(4 sek. Timeout, um den Systemstart bei nicht verfügbarem Netz nicht zu sehr zu verzögern) |
auskommentieren und entsprechend bearbeiten muss (ESSID1 und wlan0 dem eigenen System anpassen), um die im manuellen Verfahren beschriebene Konfiguration zu automatisieren. Weitere "Access Points", deren ESSID bekannt ist, werden zu 'preferred_aps' kommalos aber in Anführungszeichen in die Klammer geschrieben (preferred_aps=( "ESSID1" "ESSID2" )), die 'config_ESSID' und 'dhcpcd_ESSID' Zeilen kopiert man. Die Access Points werden dann der Reihe nach durchprobiert, bis eine Verbindung aufgebaut wurde, oder die Liste erfolglos abgearbeitet wurde.
Für die WG511 v2.0 Karten hat man auch die Möglichkeit automatisch nach einem verfügbaren Access Point suchen zu lassen. Dann muss man in der /etc/conf.d/wireless nur die Zeile
essid_eth1="any"
auskommentieren und entsprechend bearbeiten. (Der Eintrag "preferred_aps" wird dann in jedem Fall ignoriert.) Der Eintrag mode_wlan0="managed" ist für sie außerdem nicht obligatorisch.
Die Karte wird schließlich mit
rc-update add net.wlan0 default
in das Gentoo System eingebunden. (Falls noch nicht existent, muss gegebenenfalls vorher ein Softlink von /etc/init.d/net.wlan0 auf /etc/init.d/net.lo eingerichtet werden).
Mit dem Befehl
/etc/init.d/net.wlan0 start
startet man die "Automatische Konfiguration" für diese Sitzung sofort (was nach den künftigen Systemstarts nicht mehr notwendig ist).
[Bearbeiten] Links
- Eine französische Web-Page, die die Installationsmöglichkeiten mit dem prism54 Kernelmodul und dem ndiswrapper für die WG511 v2.0 und die WG511 v3.0 Karten beschreibt, findet sich unter: http://uid.free.fr/Wifi/WG511.html
- Andere ausführliche Beschreibung zur Installation einer WG511 v2.0: Gentoo Forum und eine weitere hier
- Eine exzellente Seite zur automatischen Konfiguration einer Wireless LAN Karte (allgemein) aus dem Gentoo Handbuch.
- Treiber für die WG511v2 gibt's z.B. bei Trendnet TEW-423PI (Version A).
