===== 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/