Der Raspberry Pi kann mit einem preiswerten USB-Stick um WLAN-Funktionalität erweitert werden. Allerdings ist es nicht ganz einfach, dies von der Kommandozeile aus zu tun. Ich habe diverse Anleitungen im Internet versucht und bei den meisten keinen Erfolg gehabt. Im folgenden Artikel findet Ihr den Weg, wie es funktioniert.

 

Hardware

WLAN Stick EW-7811UN  Der Edimax EW-7811UN ist einer der kleinsten WLAN-Sticks auf dem Markt. Er eignet sich damit perfekt für den Raspberry Pi. Im Fachhandel kostet er etwa 10 €.
 WLAN Stick EW-7811UN mit PI Der WLAN-Stick kann in einen der beiden USB-Ports eingesteckt werden (Bild: Raspberry Pi Model B).
 WLAN Stick EW-7811UN mit PI Fällt überhaupt nicht auf. Der untere Port ist noch verfügbar. Beim Model B+ oder Model 2 verbleiben sogar 3 freie USB-Ports.

 

Installation des Sticks

Vorbereitung

Der Raspberry Pi sollte bereits eine funktionierende LAN-Verbindung haben, SSH per PuTTY sollte ebenfalls funktionieren. Man öffnet vom PC aus eine SSH-Verbindung und meldet sich als Benutzer 'pi' an.

Der EW-7811UN wird in eine der USB-Buchsen des Raspberry gesteckt. Das kann im laufenden Betrieb geschehen. Am Prompt gibt man

dmesg

ein und erhält eine längere Ausgabe, bei welcher man nach diesen Zeilen Ausschau halten sollte:

[    3.393157] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
[    3.525070] usb 1-1.3: New USB device found, idVendor=7392, idProduct=7811
[    3.534849] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.545228] usb 1-1.3: Product: 802.11n WLAN Adapter
[    3.554370] usb 1-1.3: Manufacturer: Realtek
[    3.561108] usb 1-1.3: SerialNumber: 00e04c07b3c1

Findet man diese Zeilen, dann wurde der Stick erkannt und die zughörenden Kerneltreiber geladen. Jetzt geht es weiter mit der Installation.

 

Power Saving Modus abschalten

Bevor wir eine WLAN-Verbindung herstellen, sollte die Stromsparfunktion des Edimax-Treibers deaktiviert werden. Andernfalls wird eine Verbindung bei Inaktivität unterbrochen. Um dies zu verhindern, muss eine Konfigurationsdatei für den Treiber angelegt werden:

sudo nano /etc/modprobe.d/8192cu.conf

Diese Datei bekommt folgenden Inhalt:

options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

Bei aktuelleren Kernelversionen ist dieser Inhalt bereits eingerichtet. Also einfach nachprüfen.

 

WLAN identifizieren

Um die in der Umgebung befindlichen WLAN-Netzwerke zu entdecken, gibt man als Benutzer 'pi' diesen Befehl ein: 

sudo iwlist wlan0 scan

Aus dieser Liste identifiziert man sein eigenes Netzwerk an Hand der SSID:

....
Cell 05 - Address: 64:70:02:50:B7:B8
 ESSID:"CYBERDYNE"
 Protocol:IEEE 802.11bgn
 Mode:Master
 Frequency:2.437 GHz (Channel 6)
 Encryption key:on
 Bit Rates:150 Mb/s
 Extra:wpa_ie=dd160050f203b1045a50f2040100066cf20401000050f202
 IE: WPA Version 1
 Group Cipher : CCMP
 Pairwise Ciphers (1) : CCMP
 Authentication Suites (1) : PSK
 Extra:rsn_ie=30140107320fbc040100000fbc040100000fbc020000
 IE: IEEE 802.11i/WPA2 Version 1
 Group Cipher : CCMP
 Pairwise Ciphers (1) : CCMP
 Authentication Suites (1) : PSK
 Quality=58/100 Signal level=35/100
....

Im gezeigten Beispiel sieht man die Ausgabe für mein WLAN 'CYBERDYNE' (ja, ich bin Terminator-Fan!). Einige dieser Informationen benötigt man bei der Einrichtung. Sie sind rot markiert.

 

Konfiguration

Jetzt kann der WLAN-Stick konfiguriert werden:

sudo nano /etc/network/interfaces

Eingaben für DHCP:

auto lo
iface lo inet loopback

auto eth0 iface eth0 inet dhcp

auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Eingaben für statische IP-Adresse:

auto lo
iface lo inet loopback
auto eth0 allow-hotplug eth0 iface eth0 inet static address 10.0.0.8 netmask 255.255.0.0 gateway 10.0.0.253
allow-hotplug wlan0
auto wlan0 iface wlan0 inet static address 10.0.0.200 netmask 255.255.0.0 gateway 10.0.0.253 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp

Nach dem Abspeichern der Datei wird die /etc/wpa_supplicant.conf editiert:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
 ssid="CYBERDYNE"
 psk="109234567891026256

# Protocol type can be: RSN (for WP2) and WPA (for WPA1)
 proto=RSN


# Key management type can be: WPA-PSK or WPA-EAP (Pre-Shared or Enterprise)
 key_mgmt=WPA-PSK

# Pairwise can be CCMP or TKIP (for WPA2 or WPA1)
 pairwise=CCMP


#Authorization option should be OPEN for both WPA1/WPA2 (in less commonly u$
 auth_alg=OPEN
}

Um die Einstellungen zu testen, startet man den Raspberry neu:

sudo reboot

Anschliessend kann man sich wieder per SSH verbinden (noch über die LAN-IP) und den Befehl

ifconfig

eingeben. Bei erfolgreicher Konfiguration sieht man diese Werte:

wlan0 Link encap:Ethernet HWaddr 74:da:38:2e:18:b2
 inet addr:10.0.0.200 Bcast:10.0.255.255 Mask:255.255.0.0
 UP BROADCAST MULTICAST MTU:1500 Metric:1
 RX packets:0 errors:0 dropped:2957 overruns:0 frame:0
 TX packets:0 errors:0 dropped:18 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Jetzt kann das LAN-Kabel abgesteckt werden und die SSH-Verbindung über das WLAN (in diesem Fall 10.0.0.200) erfolgen!

 

Fehlende DNS-Auflösung

Nach meinen ganzen Konfigurationen wollte ich meinen Raspberry Pi noch updaten. Das schlug fehl, es wurde als Fehler angegeben, dass keine Adresse dem hostnamen zugeordnet ist. Ein ping auf 'www.google.de' konnte nicht ausgeführt werden. Der Verdacht lag nahe, dass die Adressauflösung über DHCP nicht funktioniert.

Zur Fehlersuche gibt man

cat /etc/resolv.conf

ein. Bei mir war nur ein Kommentar zu sehen, aber kein Nameserver Eintrag. Jetzt ist die Datei zu editieren:

sudo nan /etc/resolv.conf

und die Zeile

nameserver 10.0.0.253

einzufügen. Das ist die IP-Adresse meiner Fritzbox. Diese routet DNS-Anfragen an die echten Nameserver im Internet weiter. Nach dem Speichern noch ein

ping www.google.de

ausgeführt und man sieht dass eine IP-Adresse vorhanden ist und Pakete übermittelt werden. Jetzt klappt auch der Update.

 

Links

http://www.howtogeek.com/167425/how-to-setup-wi-fi-on-your-raspberry-pi-via-the-command-line/

https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

https://www.datenreise.de/raspberry-pi-wlan-einrichten-edimax/