Freifunk HIL Test

Aus bytewerk-Wiki
Wechseln zu: Navigation, Suche

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.
Dabei darf nur der Ethernetlink zum Uplink-Port aktiv sein, da sonst der Router kein TFTP versucht.

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 und log der seriellen Konsole.
Raspberry Pi sendet vorgefertigte Befehle um das Setup-Webinterface zu konfigurieren

Fortschritt

  • Konzeptionierungsphase
  • Erste gehversuche im automatisiertem Flashen

Freifunk HIL Controller Setup