===== Den Wlan Stick EDIMAX EW-7811UN für den Raspberry unter Pidora 20 verwenden===== Unter Pidora 20 ist es mir nicht gelungen den Network Manager für die WLan konfiguration zu verwenden! Aber auch daran denken den network.service zu enablen! Sonst geht nach dem Reboot leider nix .-) === Ablauf === * USB Wlan Stick wie ([[http://www.reichelt.de/EDIMAX-EW-7811UN/3/index.html?&ACTION=3&LA=446&ARTICLE=99944&artnr=EDIMAX+EW-7811UN&SEARCH=Edimax+wlan+stick| EDIMAX EW-7811UN - Wlan 802.11b/g/n nano USB Adapter, 150 MBit/s]] anstecken * Prüfen, ob der Stick auch erkannt wurde , USB Geräte mit "lsusb" auflisten lsusb Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] * Erkanntes Netzwerk Interface mit "iwconfig" anzeigen lassen iwconfig wlan0 unassociated Nickname:"" Mode:Managed Frequency=2.462 GHz Access Point: Not-Associated ... lo no wireless extensions. eth0 no wireless extensions. * Wlan nach möglichen Netzen mit "iwlist" scannen iwlist wlan0 scanning * wpa Key in der Datei wpa_supplicant.conf hinterlegen * Per Kommando mit "wpa_passphrase " wpa_passphrase "MY_SID_OF_WLAN" "> wpa_supplicant.conf * oder alternativ folgende cd /etc/wpa_supplicant/wpa_supplicant.conf aufbauen: ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel update_config=1 network={ ssid="MY_SID_OF_WLAN" psk="" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP auth_alg=OPEN } * Werte für "proto" :: RSN (WPA2) oder WPA (WPA1) * Werte für "key_mgmt" :: WPA-PSK (default) oder WPA-EAP (enterprise networks) * Werte für "pairwise" :: CCMP (WPA2) oder TKIP (WPA1) * Werte für "auth_alg" :: OPEN (default)| LEAP |SHARED * Test der Verbindung mit wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf # in zweiter Session dhclient -r dhclient wlan0 pifconfig * Die Datei "/etc/sysconfig/wpa_supplicant" anpassen INTERFACES="-iwlan0" DRIVERS="-Dwext" * Netzwerk Interface Konfiguration anlegen, Datei "/etc/sysconfig/network-scripts/ifcfg-wlan0" DEVICE=wlan0 BOOTPROTO=static TYPE=Wireless ONBOOT=yes IPADDR=192.168.178.101 GATEWAY=192.168.178.1 NETMASK=255.255.255.0 MODE=Managed ESSID="JEDE" WPA_ALLOW_WPA=yes WPA_ALLOW_WPA2=yes KEY_MGMT=WPA-PSK NM_CONTROLLED=no * WPA Dienst überprüfen #zuvor prüfen ob der wpa serive auch beim Booten startet: systemctl enable wpa_supplicant.service systemctl status wpa_supplicant.service * Netzwerk Manager ausschalten #Netzwerk Manager ausschalten systemctl disable NetworkManager.service #disable Network Manager in den Interface Konfigurationen vi /etc/sysconfig/network-scripts/ifcfg-eth0 .. NM_CONTROLLED=no .. vi /etc/sysconfig/network-scripts/ifcfg-wlan0 .. NM_CONTROLLED=no systemctl stop NetworkManager.service systemctl status NetworkManager.service * Network Service enablen und starten systemctl enable network.service systemctl start network.service systemctl status network.service pifconfig * Mit einen reboot Testen ob auch bei einem Reboot alles funktinoiert === Fehlersuche bei " * ERROR ** [Device wlan0]: [Errno 99] Cannot assign requested address "=== Prüfen ob die Datei "/etc/sysconfig/wpa_supplicant" korrekt angepasst wurde! (siehe Anleitung weiter oben!) Problem: Interface wird nicht mit der IP Adresse eingebunden: pifconfig ** ERROR ** [Device wlan0]: [Errno 99] Cannot assign requested address # Status Wlan Verbindung wpa_cli >status ok # Check über den Router #MAC Adresse des Wlan Stick hat sich am WLan Router angemeldet # > WPA OK! cd /var/log grep wlan0 messages Jan 1 01:00:16 localhost NetworkManager[176]: ifcfg-rh: parsing /etc/sysconfig/network-scripts/ifcfg-wlan0 ... Jan 1 01:00:16 localhost NetworkManager[176]: ifcfg-rh: read connection 'System xxxxx (wlan0)' Jan 1 01:00:16 localhost NetworkManager[176]: ifcfg-rh: Ignoring connection 'System xxxxx(wlan0)' / device '80:1f:02:87:75:d9' due to NM_CONTROLLED/BRIDGE/VLAN. Lösung: systemctl disable NetworkManager.service systemctl stop NetworkManager.service #disable NetworkManager vi /etc/sysconfig/network-scripts/ifcfg-eth0 .. NM_CONTROLLED=no .. vi /etc/sysconfig/network-scripts/ifcfg-wlan0 .. NM_CONTROLLED=no .. systemctl restart network.service pifconfig OK! === Problem 2 - "arp" Cache mit Fritz!Box 7390 FRITZ!OS 06.20 === Nach dem erfolgreicher Anmeldung an die Fritz!Box kann trotzdem von keinen Rechner im Netz zugegriffen werden. Interessanterweise ist die IP Adresse des Wlan Adapters nur erreichbar wenn das Kabel angesteckt ist, d.h. hier muss etwas mit dem arp Protokoll nicht stimmen, die MAC Adresse passt nicht zu der per WLAn vergebenen IP. In der Fritz!Box Oberfläche wird die MAC Adresse richtig angeben. Mit "arp -a" auf dem Windows PC wird die MAC Adresse der wlan IP gleich der eth0 der Adapters angezeigt. Auf dem Rasberry PI selber ist die MAC Adresse der Fritz!Box nicht sichtbar! ? (192.168.178.1) at on eth0 Per Bildschirm und Tastatur am Rasberry PI angemeldet und dem Wlan Interface eine MAC Adresse Auflösung zu geteilt, Interface eth0 gestoppt: arp -i wlan0 -s 192.168.178.1 24:65:11:83:92:01 ifdown etho # den Router anpingen arping -I wlan0 192.168.178.1 # den PC anpingen arping -I wlan0 gpipc01 Wenn der Ping läuft lässt sich auch einen SSH Verbindung vom PC auf dem Rasberry PI aufbauen. Ist der Ping aus, dauert es nur wenige Minuten bis wieder die falschen arp Einträge im Cache liegen und die Verbindung wird unterbrochen. Ein Dauer ping auf den Router mit "arping" zeigt auch gelegentliche Hänger! Hier scheint mir etwas mit dem ARP Cache der Fritz!Box und Wlan nicht zu funktionieren! Evlt. weil unter dem gleichen Name der Rasberry PI über Lan und Wlan errechbar war/ist?? Lösungsansatz: Statisch die arp Einträge hinterlegen: #Datei mit arp einträgen vi /etc/ethers #MAC IP 09:24:d7:15:e0:38 192.168.178.45 22:64:12:83:92:01 192.168.178.1 #einlesen arp -f /etc/ethers -i wlan0 arp -a #für Redhat Varianten eine ifup-local anlegen vi /sbin/ifup-local #!/bin/sh if [[ "$1" == "wlan0" ]] then arp -f /etc/ethers else echo not in use fi chmod +x /sbin/ifup-local # mit reboot testen reboot Nach dem Reboot ist nun das Problem, das Interface wlan0 wohl zu lange braucht um aktive zu werden, die statischen Einträge wurden alle eth0 zugeordnet, wird das per Hand mit "arp -f /etc/ethers -i wlan0" nachgeholt und das eth0 Interface mit "ifdown eth0" gestoppt, funktioniert es zwar, das ist aber auch keine wirkliche Lösung. Sehr seltsam ..... Noch keine wirkliche Lösung in Sicht ..... **Hack**: Interface "eth0" auf manuell gestellt, und Script "ifup" so angepasst dass als letztes auch "/sbin/ifup-local" aufgerufen wird: vi /etc/sysconfig/network-scripts/ifcfg-eth0 .. ONBOOT=no .. vi /etc/sysconfig/network-scripts/ifup .. /sbin/ifup-local $1 reboot Keine zufriedenstellende Lösung, aber es funktioniert! == arp quelle == siehe http://xmodulo.com/how-to-add-or-remove-static-arp-entry-on-linux.html ==== Quellen ==== * http://seiler.it/wlan-wpa2-cubietruck/ * https://onemoretech.wordpress.com/2014/01/09/manual-wireless-config-for-fedora-19/ * https://wiki.archlinux.org/index.php/WPA_supplicant * https://onemoretech.wordpress.com/2014/01/09/manual-wireless-config-for-fedora-19/ * http://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/