Frankfurt:Router Testbed
Wir haben einen Firmwaretestroboter im Einsatz um neue Firmwares automatisch testen zu können. Der Dienst ist unter [1] verfügbar.
Ziel
Firmware soll, nachdem sie gebaut wurde auch automatisch geprüft werden können. Dafür sind die Geräte TL-WDR4300, TL-WR841 und eine Nanostation M2 vorgesehen. Es werden verschieden Testszenarion durchgespielt:
- Sicherung der Bootlog
- Prüfung, ob Meshing funktioniert
- Prüfung, ob sich Clients einwählen können
- Prüfung, ob ipV4 und IPv6 Internetkonnektivität vorliegt
- Ist das Image vorhanden (und damit nicht zu groß für das Gerät)?
Die Software müsste dann so flexibel sein, die Firmwares unterschiedlicher Communities zu testen, damit auf dem Aufbau neben Frankfurter Images auch die Images anderer Communities getestet werden können.
Status
Das Projekt befindet sich im Proof-of-Concept Status. Jenkins läuft miserabel auf dem Raspi, aber es läuft. Als Dashboard und Ansteuerungswerkzeug für die Testjobs reicht es.
Teileliste
- Raspberry Pi Model B+ (4x USB 2.0)
- Micro-SD-Karte > 4GB
- USB WLAN-Stick EDIMAX EW-7811Un
- Steckernetzteil 5V/2A (10W) für Raspi
- 433Mhz Funksteckdosen vom Lidl
- Netzwerkkabel, 30cm
- Testgeräte: aktuell ein TL-WR741N,
mögliche Erweiterungen:
- Abbau der 433Mhz Funktechnologie und Ersetzung durch Relais-Schaltung zum Schalten der Router und Reset-Tasten
- Weitere Testrouter
- 12V-Netzteil zum Betrieb der Router
- 19" Rack Gehäuse, 4 HE, http://www.racksolutions.eu/rackmount-box.html
Realisierung
- Alle Router werden mit einer seriellen Konsole ausgestattet
- FTDI FT232R (3.3V) USB 2.0 Serail Adapter Cable (modifiziert!) für TL-WR740N und TL-WR841N_ND mit Kabelbinder gesichert
- TL-WR740N HW Ver. 4.23
- TL-WR841N HW Ver. 8.2
- Watterott FTDI Breakout Reloaded Board V1.1 oder V1.2 (in 3.3V Position!) für TL-WDR4300 mit Heißkleber auf 4xRJ45 Buchsenleiste aufgeklebt
- TL-WDR4300 HW Ver. 1.3
- Schaltung der Wireless-Steckdose mittles pilight/fhem und 433Mhz Funkmodul
- Der Rasperry Pi Model B+ wird mit Raspbian aufgesetzt
- feste IP-Adresse
- Hinzufügen dreier Einträge zur /etc/fstab: Mounte /var/cache/apt, /var/log und /tmp als tmpfs
- apt-get install apache2 git jenkins fhem pilight
- Anbindung per LAN-Kabel and ein Netzwerk mit Internetzugang
- Durchführung der Testfälle durch Ansteuerung des WLAN-Moduls und über die
serielle Konsole
- Jenkins-Jobs führen die Testfälle durch, Nutzung von Jenkins als Dashboard. Die Testscripte liegen unter https://github.com/freifunk-ffm/fftest
Bugs
- jenkins ist extrem langsam auf einem raspi.