Wer seinen Rasperry Pi mit dem WLAN verbinden will steht vor der Qual der Wahl. Es gibt eine Vielzahl von USB-WLAN-Sticks. Leider schweigen die Hersteller in den Produktbeschreibungen oft zu den verbauten Chipsätzen. Die Überraschung kommt dann erst nach dem Auspacken, wenn der Stick nicht unter Linux funktioniert.
Ein WLAN-Stick der zu 100% Prozent funktioniert ist der EDIMAX EW-7811UN die schnellere Ausführung gibt es dann auch noch mit extener Antenne und nennt sich EDIMAX EW-7612UAn.
Beide sind sehr preiswert und leicht zu beziehen.
Die beiden Sticks werden ohne zusätzlich Konfiguration vom Raspian erkannt und eingebunden. Den passenden Treiber bringt der Rasbian Kernel gleich mit. Ein Blick in /var/log/messages zeigt dass der Stick erkannt wird.
Nov 6 18:17:18 raspberrypi kernel: [ 3.248058] usb 1-1.2: new high-speed USB device number 4 using dwc_otg Nov 6 18:17:18 raspberrypi kernel: [ 3.360036] usb 1-1.2: New USB device found, idVendor=7392, idProduct=7811 Nov 6 18:17:18 raspberrypi kernel: [ 3.369714] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 6 18:17:18 raspberrypi kernel: [ 3.378941] usb 1-1.2: Product: 802.11n WLAN Adapter Nov 6 18:17:18 raspberrypi kernel: [ 3.386826] usb 1-1.2: Manufacturer: Realtek Nov 6 18:17:18 raspberrypi kernel: [ 3.392897] usb 1-1.2: SerialNumber: 00e04c000001 Nov 6 18:17:18 raspberrypi kernel: [ 7.894861] usbcore: registered new interface driver rtl8192cu
Nun sollte uns ein wlan0 Device zur Verfügung stehen. Dieses können wir wie folgt testen
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 88:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 88:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
Der Befehl iwlist scan führt einen Scan der verfügbaren WLAN-Netzwerke aus und listet diese auf.
iwlist scan
wlan0 Scan completed : Cell 01 - Address: 11:22:33:44:55:66 ESSID:"TUTORIAL" Protocol:IEEE 802.11bgn Mode:Master Frequency:2.462 GHz (Channel 11) Encryption key:on Bit Rates:144 Mb/s Extra:rsn_ie=30123100000fac040100000fac040100000fac020000 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: DD910050F204104A00011010440001021041110100103B00010310470010000000000000000300001CC63C2C31481021000B436F72706F726174696F6E10230009564756383533394A57102400)8312E33362E3030301042000A4A3231313034393338341054000800060050FF04000110110014576972656C65737320526F757465722857464129100800020084103C000103 Quality=100/100 Signal level=100/100
Wenn wir uns nun mit dem WLAN TUTORIAL verbinden möchten, erstellen wir falls noch nicht vorhanden die Datei /etc/wpa_supplicant/wpa_supplicant.conf.
vi /etc/wpa_supplicant/wpa_supplicant.conf
und fügen folgenden Inhalt ein.
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="TUTORIAL" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="GEHEIM" }
Das Passort für das WLAN TUTORIAL wird der Variable psk entsprechend gesetzt.
Falls wir uns mit einem anderen WLAN verbinden möchten müssen wir unter der Variable ssid den Namen des WLANs anpassen.
Das Anpassen der Netzwerkeinstellungen geschieht in der Datei /etc/network/interface.
Da wir den Rasperry Pi ohne jeden Bildschim betreiben empfehle ich ein Setup mit statischer IP. Diese IP ist uns dann bekannt und der Zugriff per SSH kann immer über diese erfolgen.
Wichtig ist, dass die IP ausserhalb des vom Router dynamisch verteilten IP-Bereich liegt. Die meisten Router vergeben ab der IP x.x.x.100 dynamische IPs daher entscheide ich mich in diesem Fall für eine IP unterhalb dieses Bereiches. Der Bereich kann in der Router-Konfiguration eingesehen werden und ist je nach Hersteller und Gerät verschieden.
Die Netzwerkschnittstelle für das Netzwerkkabel konfigurieren wir als „Backup-Leitung“ gleich mit. Für den Fall das wir einmal Problem mit dem WLAN bekommen können wir dann per Kabel auf den Raspberry Pi zugreifen.
In diesem Beispiel konfigurieren wie den WLAN-USB-Stick auf die IP 192.168.1.56 und die Verbindung über das Netzwerkkabel auf die IP 192.168.1.55.
vi /etc/network/interfaces
auto lo iface lo inet loopback iface eth0 inet static address 192.168.1.55 netmask 255.255.255.0 gateway 192.168.1.1 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet static address 192.168.1.56 netmask 255.255.255.0 gateway 192.168.1.1
Nach einen Reboot oder dem Neustart der Netzwerk-Dienste mit
service networking restart
sollten beide IPs hochgefahren sein und der Zugriff auf Rasperry Pi sowohl über WLAN als auch über das Netzwerkkabel möglich sein.
Bei mir kam es des öfteren vor, dass die Verbindung per Wlan nicht mehr möglich war. Grund war der Stromsparmodus des RTL8192CU.
Diese kann man folgendermassen abstellen.
Wir erstellen die Datei /etc/modprobe.d/8192cu.conf
vi /etc/modprobe.d/8192cu.conf
mit folgenden Inhalt.
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0
Anschliessend müssen wir unseren Rasperry Pi nochmal neu starten und dann sollte alles wie gewünscht funktionieren.