WLAN mit dem BeagleBone Black
Nach mehreren vergeblichen Anläufen habe ich es schließlich doch geschafft eine drahtlose Verbindung mit dem BeagleBone Black (BBB) über einen EDIMAX WLAN-USB-Dongles an meinem WLAN-AccessPoint aufzubauen. Eigentlich ist auf dem aktuellen Angstrom-Linux schon alles installiert. Auf dem BBB wird das wifi Paket connman verwendet.
Erst mal müssen in der Text-Datei /var/lib/connman/wifi.config folgende Zeilen stehen:
[service_wifi]
Type = wifi
Name = xxxx
Security = wpa
Passphrase = yyyy
AutoConnect = true
Favorite = true
Für xxxx steht bei euch natürlich die SSID eures WLAN-Routers. Dieser sollte mit wpa oder wpa2 verschlüsselt und DHCP aktiviert sein. Statt yyyy schreibt ihr natürlich das Passwort eures WLAN-Routers. Falls ihr keine wifi.config Datei findet, müsst ihr sie mit einem Text-Editor (z.B. gedit) neu anlegen.
Ihr solltet den EDIMAX WLAN-USB-Dongle am besten über ein externes Netzteil am USB-Hub betriebenen. Mit dem Befehl lsusb könnt ihr nachschauen ob euer BBB-Linux den EDIMAX findet. Ihr solltet dann irgendwo folgenden Eintrag sehen:
Bus 001 Device 003: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Falls ihr den WLAN-USB-Dongle nicht findet, muss der Treiber nachinstalliert werden.
Jetzt solltet ihr vorsichtshalber mal neu booten. Der EDIMAX sollte nach dem Booten blau leuchten und spätestens jetzt mit lsusb erkannt werden. Mit dem Befehl
ifconfig wlan0
solltet ihr folgendes sehen:
wlan0 Link encap:Ethernet Hardware Adresse 00:85:C2:10:56:13
UP BROADCAST RUNNING 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 Sendewarteschlangenlänge:1000
RX bytes:(0.0 B) TX bytes:(0.0 B)
Jetzt habt ihr den WLAN-Dongle schon mal im Betrieb, aber noch keine IP-Adresse. Wie schon erwähnt, muss euer WLAN-Router im DHCP Modus laufen, damit der BBB eine automatische IP-Adresse bekommt, sonst hilft alles nichts. Jetzt solltet ihr in einem Terminal mit dem Befehl
cd /usr/lib/connman/test
in das Test-Verzeichnis des connman Pakets wechseln. Dort müsst ihr den Befehl
./test-connmann services
eingeben. Die Ausgabe sollte dann ungefähr so aussehen:
* A0 xxxx {wifi_801...._56f....._managed_psk }
Bei euch steht statt xxxx natürliche die SSID eures WLAN-Routers und die Pünktchen sind durch Zahlen oder Buchstaben ersetzt. Jetzt könnt ihr mit dem Befehl
./test-connman connect wifi_801...._56f....._managed_psk
eine Verbindung zu eurem Router aufbauen. Der hintere Teil wird einfach von der vorherigen Ausgabe kopiert. Es meldet sich ein Popup-Fenster in das ihr zwei mal euer WLAN-Passwort eingebt. Mit dem Befehl
./get-state
solltet ihr die Antwort
System is online
erhalten und noch mal den Befehl
ifconfig wlan0
probieren und euch an der bezogenen ID-Adresse erfreuen können.
wlan0 Link encap:Ethernet Hardware Adresse 00:85:C2:10:56:13
inet Adresse:192.168.2.128 Bcast:192.168.2.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5413 errors:0 dropped:7 overruns:0 frame:0
TX packets:3229 errors:0 dropped:1 overruns:0 carrier:0
collisions:0 Sendewarteschlangenlänge:1000
RX bytes:3179234 (3.0 Mb) TX bytes:576742 (563.2 Kb)
Ruft jetzt den Browser auf und ihr seid im Internet.
Schreibt mir eine Mail, wenn ihr eine bessere Lösung gefunden habt.