====== NdisWrapper ====== ===== FRITZ!WLAN-USB-Stick ===== ==== OpenSolaris 2008 ==== * [[http://www.opensolaris.org/os/community/laptop/wireless/wpa/]] * [[http://mail.opensolaris.org/pipermail/laptop-discuss/2006-August/007035.html]] # wificonfig -i iwi0 scan essid bssid type encryption signallevel DLINK_WAP 00:0f:3d:ac:97:a8 access point wep 14 peanutsfans 00:17:18:19:20:21 access point wep 15 # wificonfig createprofile peanutsfans \ essid=peanutsfans \ proto=WPA \ key_mgmt=WPA \ key_mgmt=WPA-PSK \ pairwise=TKIP \ psk=password #!/bin/sh # WLAN-Infos BSSID="00:17:18:19:20:21" WEPKEY="geheim" PROFILENAME="peanutsfans" # Netzwerkinfos NETZWERKKARTE="iwi0" WIFICONFIG="/export/home/root/Solaris/wificonfig" ### W-LAN-Netz suchen ESSID="`${WIFICONFIG} -i "${NETZWERKKARTE}" scan | grep "${BSSID}" | awk '{print $1}'`" ### ohne Profil # ${WIFICONFIG} -i ${NETZWERKKARTE} connect ${ESSID} echo " ### mit Profiel ${WIFICONFIG} createprofile ${PROFILENAME} essid=${ESSID} encryption=wep wepkey1=${WEPKEY} ${WIFICONFIG} -i ${NETZWERKKARTE} connect ${PROFILENAME} ### Netzwerkkarte konfigurieren ifconfig ${NETZWERKKARTE} dhcp " ==== Linux allgemein ==== Mir ist nur bekannt, dass der Originaltreiber für Linux auf SUSE und Ubuntu läuft. Auf allen anderen Distributionen muss der "ndiswrapper" verwendet werden. * [[http://www.fedoraforum.de/viewtopic.php?f=5&t=18189]] * [[http://wiki.ubuntuusers.de/FRITZ!WLAN_USB_Stick#Treiber-mit-Ndiswrapper-installieren]] * [[http://wiki.ubuntuusers.de/FRITZ!WLAN_USB_Stick#Automatische-Hardwareerkennung]] das einbinden des Flash-Rom's als CD-Laufwerk verhindern: # vi /etc/udev/rules.d/10-fritz_wlan.rules # UDEV-Regel fuer Fritz!WLAN USB-Stick Version V1.1 ID 057c:6201 # Verhindert die Einbindung des Flash-Rom als CD-Laufwerk # Flash Stick-ID 62FF SUBSYSTEM=="block", SYSFS{idVendor}=="057c", SYSFS{idProduct}=="62ff", ACTION=="add", OPTIONS+="ignore_device" # yum install ndiswrapper wpa_supplicant wireless-tools **32 Bit:** # ndiswrapper -i 32Bit/fritz-wlan_usb_stick_build_090320/fwlan.inf **64 Bit:** # ndiswrapper -i 64Bit/fritz-wlan_usb_stick_x64_build_090320/fwlan64.inf # mv /etc/ndiswrapper/fwlan64 /etc/ndiswrapper/fwlan # ndiswrapper -l fwlan : driver installed device (057C:6201) present # ndiswrapper -m adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper ... # mv /etc/modprobe.d/ndiswrapper /etc/modprobe.d/ndiswrapper.conf # cat /etc/modprobe.d/ndiswrapper.conf alias wlan0 ndiswrapper # modprobe ndiswrapper # iwconfig lo no wireless extensions. eth0 no wireless extensions. pan0 no wireless extensions. wlan0 IEEE 802.11g ESSID:off/any Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated Bit Rate:54 Mb/s Tx-Power:10 dBm Sensitivity=0/3 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 # dmesg | grep ndis ndiswrapper version 1.54 loaded (smp=yes, preempt=no) ndiswrapper: driver fwlan (AVM GmbH,12/28/2006,2.0.6.1647) loaded usbcore: registered new interface driver ndiswrapper # lsusb Bus 001 Device 006: ID 057c:6201 AVM GmbH WLAN USB v1.1 **Windowstreiber Optionen** Bei Problemen mit Verbindungsabbrüchen oder Abstürzen können die Treibereinstellungen angepasst werden. Folgende Werte in den Konfigurationsdateien unter ///etc/ndiswrapper/fwlan// können geändert werden. Je nach verwendetem Typ (ID) des Sticks die Datei //057C:5601.F.conf// oder //057C:6201.F.conf// editieren. === WLAN-Netz konfigurieren === * [[http://www.fedorawiki.de/index.php/Wpa_supplicant]] * [[http://www.linux-web.de/thread/13918/2/Avm-Wlan-Stick.html]] * [[http://www.easylinux.de/Artikel/ausgabe/2007/02/036-usb-wlan/]] # iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:17:18:19:20:21 Channel:1 Frequency:2.412 GHz (Channel 1) Quality=70/70 Signal level=-39 dBm Encryption key:on ESSID:"peanutsfans" 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 Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s Mode:Master Extra:tsf=00000006228b0b4a Extra: Last beacon: 532296ms ago IE: Unknown: 0008574C414E2D44534C IE: Unknown: 010882848B960C121824 IE: Unknown: 030101 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: 2A0100 IE: Unknown: 32043048606C IE: Unknown: DD180050F2020101060003A4000027A4000042435E0062322F00 IE: Unknown: DD1E00904C334E101BFFFF000000000000000000000000000000000000000000 IE: Unknown: 2D1A4E101BFFFF000000000000000000000000000000000000000000 IE: Unknown: DD1A00904C34010D0800000000000000000000000000000000000000 IE: Unknown: 3D16010D0800000000000000000000000000000000000000 IE: Unknown: DD0900037F01010000FF7F IE: Unknown: DD0A00037F04010004000000 **Ubuntu:** # cat /usr/share/doc/wpasupplicant/examples/wpa-psk-tkip.conf >> /etc/wpa_supplicant/wpa_supplicant.conf # vi /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network={ ssid="peanutsfans" mode=0 key_mgmt=WPA-PSK proto=WPA pairwise=TKIP group=TKIP psk="123Dwxaf9352abwG" } # wegen einem Problem mit der Prozesspriorität geht DHCP nicht immer # vi /etc/network/interfaces auto wlan0 iface wlan0 inet static wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf address 192.168.9.9 network 192.168.9.0 netmask 255.255.255.0 broadcast 192.168.9.255 gateway 192.168.9.254 **Fedora:** # cat /usr/share/doc/wpa_supplicant-0.6.8/examples/wpa-psk-tkip.conf >> /etc/wpa_supplicant/wpa_supplicant.conf # vi /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel # WPA-PSK/TKIP network={ ssid="peanutsfans" bssid=00:17:18:19:20:21 scan_ssid=1 mode=0 key_mgmt=WPA-PSK proto=WPA pairwise=TKIP group=TKIP psk="123Dwxaf9352abwG" } Die Datei wpa_supplicant.conf kann mehrere solcher network-Blöcke gleichzeitig enthalten. Dies ist zum Beispiel dann nützlich, wenn man häufig zwischen verschiedenen Wireless-Netzen wechselt. Dieses Verfahren macht im Allgemeinen den Einsatz des (zickigen) NetworkManagers unnötig. * ssid - enhält den Namen des Funknetzwerks * bssid - die MAC-Adresse des Access Points bzw. WLAN-Routers kommt hierein * mode - konfiguriert die Art der Funkverbindung (0 = Infrastruktur, 1 = Ad-Hoc) * key_mgmt - konfiguriert die Art des Schlüsselmanagements (z. Bsp. WPA-PSK) * proto - enhält, welche Protokolle zur Verschlüsselung akzeptiert werden (Standard: WPA) * auth_alg - konfiguriert den IEEE802.11 Authentifitierungsalgorithmus (OPEN, SHARED, LEAP etc.) * pairwise - konfiguriert die Art der Verschlüsselung (CCMP, TKIP, WEP104, WEP40) * psk - enhält die vom Access Point und vom wpa_supplicant gemeinsam genutzte Passphrase. Dies sind lediglich die grundlegenden Parameter, es gibt noch verschiedene weitere für unterschiedlichste Konfigurationen. Wer eine spezielle Art der Verschlüsselung nutzen möchte oder Hintergrundinformationen benötigt, findet diese in der Bespielkonfiguration auf der Homepage des Projekts: [[http://hostap.epitest.fi/wpa_supplicant/]]: # /usr/sbin/wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf Dieser Befehl würde den wpa_supplicant als Hintergrunddienst (Option -B) mit dem Interface wlan0 und den Linux Wireless Extensions (Option -D wext ) starten. Die WPA-Konfiguration wird hierbei aus der Datei /etc/wpa_supplicant/wpa_supplicant.conf geholt. Um den wpa_supplicant korrekt als Dienst zu starten, ist ein wenig "Feintuning" angesagt. Hierzu muss die Datei /etc/sysconfig/wpa_supplicant editiert werden. Um für o.g. Beispiel mit dem Interface wlan0 und den Wireless Extensions den Dienst möglich zu machen, fügt man folgende Zeilen in die Datei ein. # vi /etc/sysconfig/wpa_supplicant INTERFACES="-iwlan0" DRIVERS="-Dwext" # /sbin/chkconfig --level 2345 wpa_supplicant on Es gibt eine einfache grafische Oberfläche zur Konfiguration des wpa_supplicant, das wpa_gui. Dieses Paket ist über das Fedora Extras-Repository erhältlich. Man kann es so installieren: # yum install wpa_supplicant-gui