Der Raspberry Pi 3 besitzt bekanntlich inzwischen einen integrierten Funkchip mit WLAN und Bluetooth inklusive den entsprechenden Antennen. So spart man sich mit der Investition in einen RasPi3 einen zusätzlichen USB-WLAN-Adapter. Aktuelle Ausgaben von Raspbian unterstützen den WLAN-Chip des Raspberry 3 ohne weitere Basteleien, doch der RasPi muss ja auch den Weg ins heimische WLAN finden. Über eine GUI funktioniert dies ohne weitere Probleme, doch wer bei seinem RasPi-Projekt auf eine grafische Oberfläche verzichtet, der muss die WLAN-Verbindung über das Terminal einrichten. Dies kann man komplett zu Fuß machen oder sich mit einem kleinen Tool die Aufgabe etwas erleichtern. Ich stelle hier die drei Wege im Detail vor — diese funktionieren selbstverständlich auch auf RasPis der zwei vorigen Generationen, denen ihr mit einem geeigneten USB-Adapter WLAN beigebracht habt.
Installiert ihr die aktuelle Ausgabe vom RasPi-Betriebssystem Raspbian Jessie in der „Vollversion“, also mit einer grafischer Oberfläche, auf eurem Raspberry Pi 3, dann findet ihr euch nach dem Start direkt auf LXDE-Desktopumgebung wieder. Diese bringt von Haus aus ein grafisches Werkzeug zum Verwalten der Netzwerkverbindungen mit, das selbstverständlich auch mit dem WLAN-Chip auf dem RasPi3 umgehen kann — sowie natürlich auch mit älteren RasPis, die ihr mit einem geeigneten USB-WLAN-Adapter aufgerüstet habt. Im Idealfall müsst ihr also einfach euren RasPi booten, das WLAN auswählen, die Zugangsdaten eingeben und schon seid ihr „drinnen“. Der Netzwerkmanager speichert die Zugangsdaten, sodass sich das System in Zukunft automatisch ins WLAN einloggt.
RasPi-WLAN über die LXDE-GUI einrichten
Nutzt ihr hingegen die Lite-Version, dann müsst ihr den Aufbau der Netzwerkverbindung via WLAN über das Terminal regeln. Die Installation einer kompletten GUI würde ja dem Vorhaben, einen möglichst schlanken RasPi aufzubauen, komplett widersprechen. Ich gehe nun mal davon aus, dass ihr Raspian Jessie Lite auf eurem RasPi3 zum Laufen gebracht habt. Hängt an eurem RasPi Tastatur und Monitor, könnt ihr direkt loslegen. Verzichtet ihr auf jegliche Peripherie, verbindet ihr euren RasPi vorübergehend mit dem LAN und sucht euch dann mit arp-scan
die IP-Adresse des kopflosen RasPis raus. Details dazu erfahrt ihr in einem Artikel, den ich vor ein paar Wochen verfasst habe: Headless Server wie einen Raspberry Pi im Netz finden ohne die IP-Adresse zu kennen. Alternativ sucht ihr euch die IP-Adresse über das Webfrontend eures Routers heraus, dieses bietet in der Regel eine Übersicht mit allen aktuell im Netzwerk aktiven Geräten.
$ sudo arp-scan --interface=net0 --localnet | grep Raspberry 192.168.178.33 b8:27:eb:e4:e1:30 Raspberry Pi Foundation 192.168.178.35 b8:27:eb:f3:c6:25 Raspberry Pi Foundation
RasPi-WLAN manuell einrichten
Auf dem zukünftigen WLAN-RasPi eingeloggt, sorgt ihr erstmal für die Installation aller anstehenden Updates. Die im Listing genannten Befehle sind übrigens korrekt: Seit Jessie, also Debian 8, gibt es mit apt
ein Kommando, das apt-get
, apt-cache
und Co. in einem Programm zusammenfasst. Dazu hatte ich erst gestern bereits einen längeren Beitrag im Blog: apt-get, apt-cache lässt sich schon lange mit apt abkürzen. Installiert also zur Sicherheit sämtliche Updates und startet dann einmal den Raspberry Pi neu durch. Anschließend loggt ihr euch wieder neu im Terminal oder via SSH ein und macht euch ans Einrichten der WLAN-Verbindung. Als ersten Schritt schaut ihr mittels iwlist scan
kurz nach, ob das System auch wirklich den WLAN-Adapter findet. Der Name der Netzwerkkarte lautet im Fall des Raspberry Pi 3 wlan0
, nutzt ihr einen älteren RasPi mit USB-WLAN-Adapter erscheinen je nach für die Karte verantwortlichem Kernel-Modul andere Namen.
$ sudo apt update $ sudo apt full-upgrade $ sudo reboot
$ iwlist scan wlan0 No scan results lo Interface doesn't support scanning. eth0 Interface doesn't support scanning.
Anschließend gilt es zu prüfen, ob der RasPi das gewünschte WLAN überhaupt findet. Lasst die Netzwerkkarte dazu mit iwlist scan
die Umgebung nach aktiven WLANs abgrasen. Das per Pipe angehängte Kommando egrep
filtert aus der Ausgabe von iwlist
dann die SSIDs der gefundenen WLANs sowie deren Verschlüsselung heraus. Ansonsten ist die Ausgabe des Kommandos ein wenig unübersichtlich. In meiner Gegend sieht es noch ein wenig weihnachtlich aus, im folgenden soll sich der RasPi in meinem WLAN „Santa“ einloggen.
$ sudo iwlist wlan0 scan | egrep "(ESSID|IEEE)" ESSID:"Santa" IE: IEEE 802.11i/WPA2 Version 1 ESSID:"Littlehelper" IE: IEEE 802.11i/WPA2 Version 1
Dazu öffnet ihr die Datei wpa_supplicant.conf
aus dem Verzeichnis /etc/wpa_supplicant
mit Root-Rechten in einen Editor. Einsteiger werden hier in der Regel zu nano
greifen. Dort fügt ihr den Inhalt des Code-Blocks ein, ändert die SSID und das Passwort entsprechend ab, und schreibt die Änderungen dann mittels der Tastenkombinationen [Strg]+[O], [Eingabe] auf die Speicherkarte. Mit [Strg]+[X] beendet ihr den Editor und kehrt ins Terminal zurück.
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
network={ ssid="Santa" psk="ganzgeheimespasswort" }
Anschließend sollte das System eigentlich die Änderung and der wpa_supplicant.conf
erkennen und die Verbindung automatisch initialisieren. Sollte dies nicht der Fall sein, schaltet ihr einfach die WLAN-Karte einmal ab und wieder an — dazu dienen die ersten zwei Kommandos aus dem folgenden Listing. Anschließend sollte sich der WLAN-Adapter des Raspberry Pi 3 in das angegebene drahtlose Netzwerk einloggen und sich via DHCP eine IP-Adresse vom Router holen. Der Ping bestätigt dann, dass die Netzwerkverbindung funktioniert.
$ sudo ifdown wlan0 $ sudo ifup wlan0 $ sudo ifconfig wlan0 | grep inet inet addr:192.168.178.83 Bcast:192.168.178.255 Mask:255.255.255.0 inet6 addr: fe80::ba27:ebff:fe23:4b43/64 Scope:Link $ ping -c 3 linuxundich.de PING linuxundich.de (89.238.77.73) 56(84) bytes of data. 64 bytes from ... (89.238.77.73): icmp_seq=1 ttl=48 time=33.7 ms 64 bytes from ... (89.238.77.73): icmp_seq=2 ttl=48 time=25.8 ms 64 bytes from ... (89.238.77.73): icmp_seq=3 ttl=48 time=26.4 ms --- linuxundich.de ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 25.834/28.685/33.770/3.606 ms
RasPi-WLAN mit Wicd-curses einrichten
Der vorherige Abschnitt beschreibt die graue Theorie, wie man die WLAN-Verbindung des Raspberry Pi ohne eine grafische Oberfläche zu Fuß einrichten könnte; was allerdings nicht heißt, dass man es so machen muss. Es gibt in den Paketquellen ein kleines Werkzeug mit einer auf Text basierten Oberfläche, das einem das Einrichten des Netzwerkzugangs erleichtert. Dieses lässt sich direkt aus den Paketquellen installieren und dann ohne Root-Rechte aufrufen — ihr braucht daher aber zunächst mal eine Kabel-Netzwerk-Verbindung. Arbeitet ihr via SSH auf dem RasPi, dann gilt es zu beachten, dass Wicd später die laufende Netzwerkverbindung gnadenlos unterbricht, sobald ihr eine andere aktiviert. Seid ihr also via Kabel-Ethernet verbunden, dann fliegt ihr vom RasPi, sobald ihr das drahtlose Netzwerk aktiviert.
$ sudo apt install wicd-curses $ wicd-curses
Bevor wicd-curses nun aber überhaupt funktioniert, müsst ihr in den Einstellungen des Programms den Dhcp-Client anpassen, sonst scheitert das Programm am Versuch eine IP-Adresse vom Router zu bekommen. Öffnet dazu mit [Shift]+[P] die Einstellungen und wechselt mit [Pfeil-rechts] in den „Reiter“ Externe Programme — dieser ist recht leicht zu übersehen. In diesem wählt ihr dann die Option dhclient an und speichert die Einstellung mit [F10]. Arbeitet ihr via SSH mit dem RasPi, dann wird die Funktionstaste etwas in der Terminal-App auslösen und die Eingabe nicht zum entfernten Rechner übertragen. Bei Bedarf könnt ihr aber die blauen Flächen quasi wie Buttons einer GUI auch einfach mit der Maus anklicken und so eure Konfiguration abspeichern (im Gnome-Terminal könntet ihr allerdings auch die Einstellung Menütastenkombination aktivieren (Vorgabe: F10) deaktivieren).
Arbeitet ihr mit einem Raspberry Pi der ersten oder zweiten Generation und einem USB-WLAN-Stick, dann nennt sich die Netzwerkkarte eventuell nicht wlan0
. Passt in den Allgemeinen Einstellungen der Wicd Text-Oberfläche daher bei Bedarf den Namen, der zu steuernden Karte an.
Damit ist die wichtigste Einstellung getroffen und ihr könnt euch das gewünschte drahtlose Netzwerk aus der Liste heraussuchen. Mit [Pfeil-rechts] öffnet ihr im Netzwerkmanager dann die Einstellung zu diesem. Soll euer RasPi die WLAN-Verbindung in Zukunft automatisch aufbauen, dann aktiviert hier die Option Automatisch mit diesem Netzwerk verbinden und tragt letztendlich im Feld Schlüssel das WLAN-Passwort ein. Mit [F10] speichert ihr die Zugangsdaten ab und kehrt zurück zur Übersicht der gefundenen WLANs. Mit [Shift]+[C] beziehungsweise einfach [Eingabe] baut ihr dann abschließend die Netzwerkverbindung auf. Am unteren Rand des Terminalfensters erhaltet ihr Informationen zum aktuellen Geschehen. Habt ihr die Option zum automatischen Verbindungsaufbau korrekt gesetzt, dann klinkt sich euer RasPi in Zukunft automatisch — und ohne, dass sich ein User in das System einloggen müsste — ins WLAN ein.
Wi-fi-Country des Raspberry Pi einstellen
Letztendlich sollte ihr noch einmal mit sudo raspi-config
die Raspberry-Pi-Konfiguration öffnen und unter Internationalisation Options | Change Wi-fi Country die länderspezifischen Einstellungen anpassen. Konfiguriert ihr hier etwa korrekt DE Germany, dann funkt euer Raspberry Pi in Zukunft auch auf Kanal 12 und 13. Diese Kanäle sind in der Grundeinstellung ausgeklammert, da sie beispielsweise in den USA nicht zugelassen sind. Damit die Einstellung aktiv wird, müsst ihr nach Abschluss der Konfiguration einmal noch das System neu starten.
Cool, danke für den Hinweis mit
wicd-curses
, das Programm kannte ich bisher noch nicht. Und man muss so nichts an den Konfiguratiosdateien ändern.Danke für die Mühe das alles so ausführlich zu erklären!
Hallo, diese manuelle Methode kannte ich nicht, dafür eine andere. Nachdem ich viel lesen musste, habe ich es geschafft, Netzwerkmanager und wicd auf meinem Notebook (Xubuntu 15.10) zu deinstallieren. Die Namen der Interfaces fand ich mit
ifconfig -a
. Ich mache es statisch, nicht mit DHCP. Mich würde interessieren, ob das auf dem Raspberry auch funktionieren wird, wenn ich einen kaufe. – Danke für die fundierten Artikel.Hi Bernhard, das ist der „normale“ Weg, wenn das System wpa-supplicant kennt 🙂 Grüße, Christoph.
Ok, die ‚interfaces‘ übergibt mein konkretes WLAN an einen allgemein gültigen wpa-‚Bittsteller‘, während bei Raspbian der wpa-supplicant modifiziert wird. Mann-o-mann, es gibt viel zu lernen… Danke und Ciao
Ich habe den „manuellen“ Weg für meinen Raspberry Pi 3 genutzt.
Hat prima geklappt und hab was gelernt.
Vielen Dank.
Hi Kafi, danke für das Lob. Das war auf jeden Fall der beste Weg, um ein wenig zu lernen. Ich habe dem Artikel noch einen kleinen Zusatz hinzugefügt, den ich noch vergessen hatte. Um das WLAN optimal einzurichten, solltest du noch die Wi-fi-Settings an Deutschland anpassen. Grüße, Christoph.
Hallo,
ich habe mir den Raspberry PI 3 Model B zugelegt. Bisher habe ich alles hinbekommen. Jedoch scheitere ich am WLAN.
Ich habe mit noch den BrickPi zugelegt und mir von Dexter das Image herunter geladen um mir die micro SD zu erstellen. Alles gut. Jedoch war es nicht die aktuelle Version, deshalb ei upgrade auf Jessie.
cat /etc/os-release
gibt mir die Version=“8 (jessie)“ifconfig gibt kein wlan0 aus 🙁
Es sieht so aus als hätte ich kein Wifi?!?
cat /proc/cpuinfo
gibt mir Revision a02082 und laut ist es ein PI 3 Model BIch bin ratlos.
Gruß
Stefan
Habe mir auch vor 3 Tagen einen Rasp pi 3 gekauft, gleiche Rev. – kein WLAN.
Ich nutze eine aktuelles Image von „Volumio“, möchte den raspi als Musikplayer nutzen. Bei ifconfig wird kein wlan0 angezeigt. Vielleicht hat noch jemand eine Idee, was man mal testen könnte?
Ich denke mal, dass der Kernel von Volumio zu alt ist und den RasPi3 noch nicht unterstützt. Ich würde mich mal per SSH einloggen (Login und PW: volumio) und dann das System aktualisieren (
sudo apt update
,sudo apt full-upgrade
). Das könnte das System zerschießen, könnte aber auch funktionieren. Grüße, Christoph.Hi Stefan, ich habe mit BrickPi noch nie gearbeitet. Ich hab mal schnell das Forum von BrickPi durchforstet. Die arbeiten gerade an einem Jessie-Image. Du kannst dir aber auch selber ein Raspbian (mit hoffentlich funktionierendem WLAN) aufsetzen und dass BrickPi von Hand in dieses Image installieren: Siehe http://www.dexterindustries.com/topic/jessie-image/. Grüße, Christoph.
Danke!
Gruß Uwe
Hallo,
ich habe es so gemacht wie du vorschlägst mit Raspian Jessie Lite. Wenn ich ein LAN Kabel angeschlossen habe ist das WLAN auch vorhanden und der Raspi ist über WLAN via SSH ansprechbar, wenn ich allerdings ohne eingestecktes LAN Kabel boote ist der Raspi nicht zu finden. Woran könnte das liegen? der Raspi bekommt eine feste IP über einen DHCP Server sowohl für LAN als auch für WLAN.
Hi Mr. Muro, das ist ein wenig strange. Ich schaue mir das die Tage an. Grüße, Christoph.
hab einen Raspi B+ kann ich mit dem auch ins WLAN? wenn ja wie?
Habe dasselbe Problem:
Mr. Muro 22. Dezember 2016 at 12:28
Hallo,
ich habe es so gemacht wie du vorschlägst mit Raspian Jessie Lite. Wenn ich ein LAN Kabel angeschlossen habe ist das WLAN auch vorhanden und der Raspi ist über WLAN via SSH ansprechbar, wenn ich allerdings ohne eingestecktes LAN Kabel boote ist der Raspi nicht zu finden. Woran könnte das liegen? der Raspi bekommt eine feste IP über einen DHCP Server sowohl für LAN als auch für WLAN.
Die manuelle Variante hat bei mir sehr gut funktioniert, Danke für deine Anleitung 🙂
Die manuelle Einrichtung hat auch gut funktioniert. Wenn ich jedoch ein zweites Wlan hinzufügen möchte, klappt das nicht mehr. Wie lässt sich das manuell konfigurieren?
Hi,
Hinweis zur manuellen Variante: Wenn die WLAN Verbindung unterbrochen wird (z.B. durch einen Reset des WLAN Accesspoints) dann wird die Verbindung nicht automatisch wiederhergestellt. Für ein „Headless“ System ist diese Konfiguration aus meiner Sicht problematisch.
Gruß Tom
Wir haben Schwierigkeiten, den aktuellsten Raspberry Pi in unserem schulischen WLAN einzubinden. Das wird über einen Radius-Server betrieben und benötigt SSID, Benutzername und Passwort um sich dort anzumelden. Kannst du deine hervoragend nachvollziehbare und ohne ‚Tech‘-Vokabular auskommende Anleitung eventuell um diesen Aspekt ergänzen? Die verschiedenen englischsprachigen Anleitungen, die ich dazu im Netz finden konnte, sind wiedersprüchlich und zu spezifisch im Vokabular, etc… Wäre super, wenn das klappen könnte!!!