gehacktes /// noniq.at

0003WLAN für den Tischtenniskeller

Wie man einen RaspberryPi mit Edimax-WLAN-Stick als WLAN-Accesspoint verwendet.

Der Tischtennistisch im Bürokeller („Dungeon-Pingpong“)

Seit kurzem steht ein Tischtennistisch in unserem Bürokeller. Der Keller ist cool, aber vom Büro-WLAN ist dort nichts mehr übrig – meterdicke Ziegelmauern sind eine sehr effektive WLAN-Abschirmung.

Wir haben aber ein Netzwerkkabel verlegt; und da an diesem Kabel sowieso schon ein RaspberryPi hängt, war es naheliegend, den Pi auch als WLAN-Extender zu verwenden.

Versionshinweis: Die folgende Anleitung bezieht sich auf Raspbian in der Version 2015-02-16 (Kernel 3.18).

Bridged Network einrichten

Das WLAN soll kein eigenes Netzwerk sein, sondern das schon vorhandene Büronetzwerk erweitern – also denselben IP-Range, DHCP-Server usw. verwenden. Dafür muss auf dem Pi eine Network-Bridge zwischen den Interfaces eth0 und wlan0 eingerichtet werden. Dafür gibts das Package bridge-utils:

sudo apt-get install bridge-utils

In /etc/network/interfaces wird jetzt ein Bridge-Interface br0 eingetragen (Einträge für eth0 und wlan0 müssen deaktiviert werden – diese Interfaces sind jetzt Bestandteil der Bridge und dürfen als solche nicht direkt konfiguriert werden):

auto lo
iface lo inet loopback

auto br0
iface br0 inet dhcp
  bridge-ports eth0 wlan0

hostapd (für RTL8188-Chipsatz)

Für die Accesspoint-Funktionalität verwenden wir hostapd. Leider funktioniert das Ubuntu-Package von hostapd nicht mit unserem WLAN-Adapter Edimax EW-7811UN (Affiliatelink), da dieser auf dem RTL8188-Chipsatz basiert.

Zum Glück betreut Jens Segers aber auf GitHub einen Fork von hostapd für RTL8188-Chipsätze. Den hab ich also installiert:

mkdir ~/build
cd ~/build
git clone https://github.com/jenssegers/RTL8188-hostapd.git
cd RTL8188-hostapd/hostapd/
make
sudo make install

Die Konfigurationsdatei für hostapd liegt in /etc/hostapd/hostapd.conf. Die kommentierte Beispielkonfig ist ziemlich lang – ich hab versucht, in unserer Konfig wirklich nur jene Settings anzugeben, die unbedingt drinnen stehen müssen. Nach mehreren Versuchen hat sich dann folgende Konfig als brauchbar herauskristallisiert:

# Basic configuration
interface=wlan0
ssid=... # Hier die WLAN-SSID eintragen …
channel=3 # Channel bei Bedarf anpassen
bridge=br0

# Use WPA2/PSK (only)
macaddr_acl=0
wpa=2
wpa_passphrase=... # … und hier die WPA-Passphrase :-)
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP

# Hardware configuration
driver=rtl871xdrv
wmm_enabled=1
ieee80211n=1
hw_mode=g
device_name=RTL8192CU
manufacturer=Realtek

Um die Konfiguration zu testen, kann hostapd mit sudo hostapd -d /etc/hostapd/hostapd.conf gestartet werden – eventuelle Fehlermeldungen werden dann direkt angezeigt. (In Zukunft passiert der Start beim Booten automatisch, über das Initscript /etc/init.d/hostapd.)

SSID und WPA-Passphrase hab ich identisch zum Büro-WLAN eingetragen. Damit funktionieren Geräte, die schon für das Büro-WLAN konfiguriert sind, auch im Keller ohne zusätzliche Konfiguration.

Like a bridge over troubled water brickwork

Jetzt noch rebooten, um die Network-Bridge und hostpad zu aktivieren – und schon gibts ein gebridgtes WLAN! (Und wir können uns jetzt überlegen, ob wir unsere Tischtennismatches in Zukunft livestreamen wollen …)



0002Die 90er haben angerufen: Sie wollen Ihre Pixel zurück!Klingelblink im Tischtenniskeller0004