Controllerboard Carambola

Seite 2: Praxis

Inhaltsverzeichnis

Die Konfiguration erldigt man am besten über die serielle Schnittstelle. Dann sieht man, welche Treiber unter Umständen Probleme machen.

Als kleines Projekt wollten wir einen WLAN-Access-Point mit drahtloser Webcam umsetzen. Die erforderlichen Treiber für das Wi-Fi-Modul waren in dem installierten OpenWrt-Build bereits enthalten, ebenso das für den Betrieb als AP erforderliche Paket wapd (mini) sowie die wireless-tools. Ein DHCP-Server läuft ebenfalls bereits (dnsmasq) und erwartet nur noch eine sinnvolle Konfiguration. Für eine Erstkonfiguration des Carambola als AP liefert das Wiki des Boards nützliche Hinweise, für weitergehende Konfigurationen sollte man allerdings besser das offizielle OpenWrt-Wiki zu Rate ziehen.

Für die Videounterstützung fehlten die notwendigen Kernelmodule sowie Kameratreiber. Auch über das Paketmanagement und das Carambola-Repository ließ sich die Software nicht nachinstallieren, da sie schlicht nicht vorhanden waren. Das offizielle OpenWrt-Repository (für Ralink MIPS, ramips) ließ sich in diesem Fall nicht für Kernel-Module nutzen, da sich die jeweiligen Kernelversionen unterscheiden – die Module lassen sich zwar installieren, aber nicht vom Kernel laden.

In der Kernelkonfiguration muss man die Treiber für diverse Webcams aktivieren und anschließend den Kernel neu übersetzen.
Gezwungenermaßen mussten wir uns aus den Quellen die Module selbst übersetzen. Das Wiki gab jedoch Hilfestellung, um die Quellen herunterzuladen, in der Kernel-Konfiguration die richtigen Treiber zu aktivieren und alles zu kompilieren. Anschließend musste das neue Image (per scp) auf das Controller-Board übertragen und installiert werden. Sämtliche Einstellungen unter /etc wie Netzwerk, WLAN und DHCP bleiben erhalten. Nach dem Neustart ludt der Kernel nach dem Anschluss einer Webcam (Logitech) den richtigen Treiber und erzeugte das Gerät /dev/video0.

Um die Bilder der Webcam ins Netzwerk zu streamen, bieten sich Tools wie mjpeg-streamer an. Leider fehlte auch dieses Paket in den Repos von Carambola. Bei den Anwendungen lässt sich jedoch in der Regel zwischen verschiedenen Quellen mischen, sofern die Versionen der Bibliotheken stimmen. Kurzerhand fügten wir das OpenWRT-Repository als Paketquelle in /etc/opkg.conf hinzu und konnten das Paket über opkg update und opkg install mjpg-streamer nachinstallieren.

Auf dem Board ist auch ein wenig Platz für eigene Aufbauten.
Über das LAN funktionierte das Streamen recht flott, über das WLAN gab es eine spürbare Latenz. Beim Betrieb "Webcam über WLAN" zeigten sich zudem Unstimmigkeiten: Eine per UVC-Treiber betriebene Kamera meldete sich am USB-Bus immer mal wieder an und ab. Offenbar hat der Treiber (dwc_otg) Probleme mit der Unterstützung der USB-Implementierung des RT3050-SoC, der durch den On-the-Go-Mode sowohl als Host als auch als Slave agieren kann. Das Problem trat jedoch nicht immer und nicht reproduzierbar auf. Interessanterweise gab es die Probleme beim Betrieb über das LAN nicht. Eine mit dem Webcam-Treiber gspca betriebene Kamera lief bei der Bildübertragung übers WLAN ohne Probleme. Allerdings meldete dann das Tool mjpg-streamer eine zu geringe Bandbreite.