Raspberry Pi

Alles mögliche über den Mini-Rechner

Wenn man seinen Raspberry Pi mit Raspbian aufsetzt, ist die Aufteilung von Arbeitsspeicher und Grafikkarte standardmäßig so eingestellt:

Arbeitsspeicher: 192 MB

Grafikkspeicher: 64MB

Für mich persönlich war diese Aufteilung etwas unglücklich, da ich sowieso nur in der Konsole arbeite und keine Grafikleistung brauche (Wenn man dieses Wort in diesem Zusammenhang überhaupt verwenden darf ;-)

Über "raspi-config" anpassen

Am einfachsten kann man diese Einstellung den Aufruf von raspi-config anpassen.

Hier den Menüpunkt "memory_split" anwählen. Dort lässt sich die Verteilung zwischen Arbeits-/Videospeicher einstellen.

Über die Konsole anpassen

So lässt sich ganz einfach die Menge des Grafikspeichers auf 16MB verringern:

sudo cp /boot/arm240_start.elf /boot/start.elf
reboot

Bei Bedarf lässt sich auch wieder die Standard-Aufteilung von 192/64 zurückholen:

sudo cp /boot/arm192_start.elf /boot/start.elf
reboot

Getestet unter Rasbian

Hier zeige ich, wie man aus einem Raspberry Pi in Verbindung mit einem Edimax EW-7811Un (Realtek RTL8188CUS) einen Access Point machen kann.

Wir brauchen dafür ein neues virtuelles Interface, so dass die Pakete aus dem WLAN ins LAN gebracht werden können. Das ermöglicht uns das Paket "bridge-utils". Außerdem brauchen wir für unseren USB-Dongle eine spezielle Version von hostapd (das kommt dann unten).

Zuerst installieren wir die benötigten Pakete:

sudo apt-get install bridge-utils hostapd

(Optional) Wenn man möchte das der Access Point-Dienst beim Hochfahren des Raspberry Pi's automatisch gestartet wird, muss man die Datei /etc/default/hostapd wie folgt anpassen:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Jetzt werden die wir Konfigurationdatei von hostpad erstellen. In diesem Beispiel wird ein WLAN mit der SSID "RaspiAP" mit WPA2 und dem Passwort "raspiwlan12345" angelegt.

sudo nano /etc/hostapd/hostapd.conf

interface=wlan0
bridge=br0
driver=rtl871xdrv
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=RaspiAP
hw_mode=g
channel=8
wpa=2
wpa_passphrase=raspiwlan12345
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
wmm_enabled=1

In diesem Beispiel ist das Passwort in der Konfigurationsdatei im Klartext eingetragen. Möchte man hier lieber ein verschlüsseltes Passwort hinterlegen, kann man sich dieses mit dem Tool "wpa_passphrase" erstellen:

wpa_passphrase <ssid> <passwort-im-klartext>

Für unseren Stick "EW-7811Un (Realtek RTL8188CUS)" brauchen wir ein spezielles Binary von hostapd, die die rtl Treiber-API unterstützt. Dazu wechsen wir zuerst in das entsprechende Verzeichnis:

cd /usr/sbin

Dann benennen wir die Originaldatei um:

sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak

Jetzt laden wir die neue hostapd herunter:

sudo wget http://itwelt.org/downloads/hostapd

Jetzt  noch die Berechtigungen setzen:

sudo chown root:root hostapd
sudo chmod 755 hostapd

Jetzt müssen wir noch die Netzwerk-Konfiguration anpassen. In diesem Beispiel erhält unser Access Point eine IP-Adresse per DHCP.

sudo nano /etc/network/interfaces

auto lo
auto br0
iface lo inet loopback
iface br0 inet dhcp
bridge_fd 1
bridge_hello 3
bridge_Maxage 10
bridge_stp off
bridge_ports eth0 wlan0
allow hotplug eth0
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual

Möchte man dem Access Point eine feste IP-Adresse vergeben, kann die Konfiguration z.B. leicht abgeändert so aussehen:

auto lo
auto br0
iface lo inet loopback
iface br0 inet static
address 192.168.20.3
netmask 255.255.255.0
gateway 192.168.20.1
bridge_fd 1
bridge_hello 3
bridge_Maxage 10
bridge_stp off
bridge_ports eth0 wlan0
allow hotplug eth0
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual

Um die Konfiguration zu aktivieren müssen noch die Netzwerkdienste neu gestartet werden:

service networking restart

Mit ifconfig können wir prüfen, ob das neue Bridge-Interface korrekt angelegt wurde:

ifconfig

 Jetzt können wir testen, ob der Access Point korrekt funktioniert. Der Parameter "-dd" gibt dabei so viele Infos wie möglich aus.

sudo hostapd -dd /etc/hostapd/hostapd.conf

Mit einem beliebigen WLAN-fähigen Gerät kann man dann mal testen ob die Verbindung funktioniert:

 

Wenn alles geklappt hat kann man den Test mit "Strg+C" abbrechen und den hostapd-Dienst starten (sofern man den entsprechenden Parameter in der Datei /etc/default/hostapd gesetzt hat):

/etc/init.d/hostapd start

Hier zeige ich, wie man unter Raspbian einen DHCP-Server einrichtet.

Zuerst wird das entsprechende Paket installiert:

 apt-get install isc-dhcp-server

Nach der Installation wird es erstmal eine Fehlermeldung geben - aber die wird
verschwinden, sobald wird den Dienst konfiguriert haben.

Das machen wir jetzt. In diesem Beispiel konfigurieren wir den DHCP-Server für den Bereich von 192.168.0.55-99, das Gateway ist die 192.168.0.1:

nano /etc/dhcp/dhcpd.conf

option domain-name "example.org";
option domain-name-servers 192.168.0.1;

subnet 192.168.0.0 netmask 255.255.255.0
{ range 192.168.0.50 192.168.0.99;
   option routers 192.168.0.1;
}

Nun können wir den DHCP-Server starten:

/etc/init.d/isc-dhcp-server start

Über das Syslog-Protokoll kann man den Status auslesen, z.b. über vergebene Leases:

cat /var/log/syslog

Feb 10 12:14:28 raspberrypi dhcpd: DHCPREQUEST for 192.168.0.103 from a0:0b:ba:xx:xx:xx via br0: unknown lease 192.168.0.103.
Feb 10 12:15:15 raspberrypi hostapd: wlan0: STA 5c:51:56:xx:xx:xx WPA: group key handshake completed (RSN)