Raspberry Pi: WLAN einrichten
Den Raspberry Pi kann man neben Ethernet per WLAN mit dem Netzwerk und folglich dem Internet verbinden. Dazu muss man einen WLAN-Adapter (auch WiFi Stick/Dongle genannt) per USB an dem Einplatinencomputer anstecken und die Verbindung zum Router einrichten. Zu beachten ist, dass bei manchen USB WLAN-Sticks zusätzliche Treiber benötigt werden und daraus resultierend das Einrichten erschwert wird. Im Folgenden werde ich erklären wie man eine WLAN-Verbindung mit Hilfe eines Edimax WiFi Sticks, der keine zusätzlichen Treiber benötigt, auf dem Raspberry Pi einrichtet.
Je nachdem welchen WLAN-Stick man verwendet kann man die Einrichtung mit einem erheblichen Mehraufwand verbunden sein, wenn die benötigten Treiber separat installiert oder sogar für den ARM-Prozessor selbst kompiliert werden müssen. Der Grund hierfür sind die unterschiedlichen Chipsätze der WiFi-Dongles. Besonders neuere Chipsätze für die der Linux-Kernel noch keine Treiber mitbringt können problematisch sein oder es sind teils sogar keine Treiber für Linux Distributionen verfügbar.
Die von mir verwendeten WLAN-Sticks von Edimax besitzen den RTL8192SU bzw. RTL8188CUS Chipsatz, der unter Raspbian problemlos verwendet werden kann. Die Sticks unterscheiden sich in deren Größe, Übertragungsgeschwindigkeit und Reichweite (einer mit extra Antenne). Beide können auf die selbe, beschriebene Weise eingerichtet werden.
- Edimax EW-7811UN Wireless USB Adapter, 150 Mbit/s, IEEE802.11b/g/n
- Edimax EW-7612UAn Wireless USB Adapter mit Antenne, 300 Mbit/s, IEEE802.11b/g/n
Zunächst müssen wir den WLAN Stick per USB mit dem Raspberry Pi verbinden. Anschließend sollten wir eine Ausgabe ähnlich folgender erhalten, die anzeigt, dass der Stick erkannt wurde.
dmesg
pi@raspberrypi ~ $ dmesg [...] [ 167.739079] usb 1-1.5: new high-speed USB device number 4 using dwc_otg [ 167.840737] usb 1-1.5: New USB device found, idVendor=7392, idProduct=7811 [ 167.840760] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 167.840777] usb 1-1.5: Product: 802.11n WLAN Adapter [ 167.840794] usb 1-1.5: Manufacturer: Realtek [ 167.840810] usb 1-1.5: SerialNumber: 00e04c000001 [ 168.098982] usbcore: registered new interface driver rtl8192cu
Mittels des Tools ifconfig lassen sich alle verfügbaren Netzwerkkarten anzeigen. Dabei sollte ein wlan-Gerät angezeigt werden, was der WLAN Stick ist. In meinem Fall heißt dieses wlan0.
ifconfig
pi@raspberrypi ~ $ ifconfig eth0 Link encap:Ethernet HWaddr b8:27:eb:5c:13:db inet addr:192.168.178.20 Bcast:192.168.178.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:424 errors:0 dropped:0 overruns:0 frame:0 TX packets:321 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:36022 (35.1 KiB) TX bytes:65792 (64.2 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1104 (1.0 KiB) TX bytes:1104 (1.0 KiB) wlan0 Link encap:Ethernet HWaddr 74:da:38:1a:96:70 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Der Treiber der Edimax WLAN Sticks bringt einen Power Saving Modus (Schlafmodus) mit, der die Verbindung bei Inaktivität unterbricht. Nachdem wir diese Funktion nicht wünschen, müssen wir um dies zu verhindern eine Konfigurationsdatei angelegen in der wir folgenden Inhalt schreiben. In dem Editor nano kann man mittels STRG + X, Y unter Enter speichern.
sudo nano /etc/modprobe.d/8192cu.conf
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0
Nachdem die vorbereitenden Arbeiten damit beendet sind und der Stick von dem Raspberry Pi erkannt wurde, können wir eine Verbindung zu dem Router aufbauen. Dazu müssen wir am Ende der Netzwerk Interface Datei die folgenden ersteren durch zweitere Zeilen, die um die WLAN Zugangsdaten ergänzt werden müssen, ersetzen. WLAN-NAME muss durch die SSID (Netzwerkname des WLANs) und WLAN-SCHLUESSEL, falls vorhanden, durch den Schlüssel des WLAN Netzwerkes ersetzt werden.
sudo nano /etc/network/interfaces
auto wlan0 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
ersetzen durch
auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ap-scan 1 wpa-scan-ssid 1 wpa-ssid "WLAN-NAME" wpa-psk "WLAN-SCHLUESSEL"
Damit die gerade geänderten Einstellungen übernommen werden, müssen wir den Netzwerk Dienst neustarten. Sofern die Einstellungen über SSH getroffen wurden wird dessen Verbindung beim Neustart des Netzwerk Dienstes beendet.
sudo /etc/init.d/networking restart
Damit sollte der Raspberry Pi erfolgreich mit dem Router per WLAN verbunden sein. Bei vielen Routern erhält der Raspberry Pi eine neue interne IP-Adresse, da er über ein anderes Gerät (WLAN Stick anstatt Ethernet Port) mit diesem verbunden ist. Falls gewünscht kann man eine statische/feste IP-Adresse vergeben, was in dem separaten Artikel erklärt wurde. Dabei müssen die dort für eth0 getroffenen Einstellungen für wlan0 (ggf. abweichend) umgesetzt werden.
14 Kommentare. Hinterlasse eine Antwort
Möchte ich den Edimax allerdings als stand alone wifi AP betreiben, dann wird die Sache allerdings schon sehr viel komplexer.
Das ist jedoch auch eine ganze andere Nutzungsart…
[…] Treiber kann es möglicherweise nicht für den Raspberry Pi geben. Hierzu hat Jan bereits ein Tutorial geschrieben, in dem er auch eine Liste geeigneter WLAN-Sticks […]
[…] Raspberry Pi lässt sich nicht nur per WLAN mit dem Internet verbinden, sondern mit ihm kann man einen eigenen WLAN-Access-Point (auch Hotspot genannt) aufbauen. Dadurch […]
Danke für ein weiteres leicht anwendbares Tutorial von dir!
Ich habe mir bei den erwähnten 150mbit Stick bestellt und entsprechend eingerichtet. Das hat auch alles funktioniert allerdings ist die Verbindungsgeschwindigkeit sehr langsam. Wenn ich eine Datei übers Netzwerk schiebe erhalte ich Raten von 70 bis 110 KiB\s (PC -> PI) und 220 bis 330 KiB\s (PI -> PC). Auch über SSH kommt es bei Eingabe von Befehlen oft (unregelmäßig) zu Verzögerungen.
iwlist wlan0 bitrate
wlan0 4 available bit-rates :
1 Mb/s
2 Mb/s
5.5 Mb/s
11 Mb/s
Current Bit Rate:72.2 Mb/s
iwconfig
wlan0 IEEE 802.11bgn ESSID:“123456789″ Nickname:““
Mode:Managed Frequency:2.467 GHz Access Point: D0:29:56:35:H4:F6
Bit Rate:72.2 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=98/100 Signal level=70/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
ifconfig
wlan0 Link encap:Ethernet HWaddr 34:a5:c5:33:a3:41
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:37982 errors:0 dropped:3785 overruns:0 frame:0
TX packets:32563 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42312075 (40.3 MiB) TX bytes:24682377 (23.5 MiB)
Hat jemand ne Idee woran das liegen kann? Router/Repeater stehen nicht wirklich weit weg. Die Verbindungsdaten sehen ja jetzt auch nicht zu schlecht aus nach iwconfig.
Beobachte mal was der CPU des Raspberry Pis bei einer Belastung macht (via top oder htop). Evl. ist dieser überfordert?
Zwischenzeitlich hat sich bei Raspbian Wheezy (ab 4.1.7+) und Jessie das Wlan-Interface geändert, sodaß die Einstellungen über das DHCPUI oder in /etc/dhcpcd.conf vorgenommen werden müssen. Hier ein paar Hinweise dazu: https://www.elektronik-kompendium.de/sites/raspberry-pi/1912151.htm
Danke hat funktioniert.
Nur hat mein Pi letztens die Verbindung zum Router verloren, evtl. Neustart vom Router und da hat sich der Pi nicht mehr verbunden? Gibts da noch etwas was man hinzufügen könnte damit der Pi wenn er die verbindung verloren hat danach sucht und sich wenn wieder verfügbar verbindet?
Gruß
Ich habe ein ähnliches Problem, wie der erste Schreiberling: Bin in einem Hotel, in welchem nur WLAN angeboten wird. Ein LAN Router steht mir nicht zur Verfügung, trotzdem möchte ich gere den Pi über WLAN an das Hotelnetz anbinden. Any Idea?
@Stefan Weber says:
23. Januar 2016 um 18:39
wlan-stick (edimax) kaufen, wlan-stick in den pi stecken (usb), wlan-stick mit hotel-wlan verbinden (anmeldedaten besorgen) und los surfen…
oder 2. wlan-stick kaufen, 2. wlan-stick als router einrichten…
1. wlan-stick mit wlan vom hotel verbinden, auf 2. wlan-stick mit andere wlan-fähige geräte verbinden (smartphone, laptop usw. … )
so surfst du mit deinem smartpohne über dein pi router (2. wlan-stick) im wlan-netz vom hotel (1. wlan-stick)
lg
Dieser Stick funktioniert auch wunderbar: http://www.dx.com/p/2-4g-5g-dual-band-433mbps-802-11ac-wi-fi-usb-adapter-black-426584.
Vielen Dank für die Anleitung, Jan!
Die einzig wahre Erklärung für mein PI Jessie. Funktioniert Klasse.
Danke von einem Anfänger.
[…] den RPI per Wifi mit eurem Netzwerk zu verbinden, gibt es hier eine gute […]
[…] somit nicht die Geschwindigkeit anderer USB-Geräte. Wie man einen WLAN-Stick einrichtet habe ich bereits in einem Artikel erklärt. Das integrierte WLAN-Modul benötigt hingegen bei der Einrichtung keine Treiber, es ist jedoch der […]