Freifunk HIL Test
Ziel
Konzeption, Planung und Aufbau eines HIL(Hardware In the Loop)-Teststands für verschiedene WLAN-Router, die im Freifunk-Umfeld gebräuchlich sind.
Verantwortlich
Ansatz
- Entwickler laden automatisiert Firmware-Images hoch.
- Die Firmware wird automatisch per JTAG/TFTP auf einen passenden Router aufgespielt.
- Mit I/O-Boards werden LEDs eingelesen und Relais gesteuert(Stromversorgung, Taster).
- Eine Reihe von Tests werden automatisch durchgeführ und die Ergebnisse geloggt.
- Die Ergebnisse werden dem Entwickler zur Verfügung gestellt
Userinterface
Die Entwickler benötigen ein Interface, mit dem Sie Images händisch hochladen und Ergebnisse Einsehen können. Dieses Interface soll auch automatisiert angesprochen werden können.
- Stichwörter
- scriptbarer upload, Tests auswählbar, Images und dazugehörige Tests/Ergebnisse Archivieren
Flashen
Die Firmware der Entwickler muss voll-automatisch auf die Router gespielt werden. Falls Images defekt sind, muss der Router weiterhin flashbar sein. Das geht meist über TFTP, sicher aber über JTAG.
- Vorraussetzungen
- Raspberry Pi + USB-Ethernet(um Router vom Testnetz zu trennen)
- USB-I/O-Board, um LEDs zu lesen und Power, sowie Taster am Gerät zu schalten(z.B. Reset).
- Ablauf
- Raspberry Pi schaltet Power zum Router und betätigt RESET(TFTP aktivierungs Prozedur)
- Raspi verbindet sich über USB-2-Ethernet mit dem Router und flasht über TFTP das Image.
Test
Ein Breites Spektrum an Tests ist nötig um einen Freifunk-Router zu testen. Ein HIL-Test kann nicht alle Funktionalität abdecken, aber immerhin sehr viel.
- Stichwörter
- Zeitbeschränkung der Tests, Mesh-Test, Mesh-Only-Router update Test
- Boot-Zeit Test, Stromverbrauch Test, Download-Speed-Test
- Vorraussetzungen
- USB-I/O-Board um LEDs zu lesen und Taster zu betätigen
- Mehrere USB-2-Ethernet Adapter(uplink-port/lan-port)
- USB-WLAN oder Raspi3 um WLAN-Clients zu faken
- WLAN-Dichte Stahlbox
- zweiter Router für eine "known good"-Firmware, um Meshing zu testen. Evtl. Test für auto Update von Mesh-Only routern.
- Internetverbindung
- Ablauf
- Raspi Schreibt einen vollständigen Wireshark-log.
- Raspberry Pi sendet vorgefertigte Befehle um das Setup-Webinterface zu konfigurieren
Fortschritt
- Konzeptionierungsphase