Skip to content

Rack cheatsheets

Quick reference at the rack.


Quick reference - all DUTs

Gateway: Isolated: 192.168.XXX.254 (per-VLAN). Mesh: 192.168.200.254. Per-DUT VLAN change: switch-vlan <dut> <vlan> (or --restore). See duts-config Internet access.

DUT Port VLAN Power Ch Serial SSH (isolated) Mesh SSH IP (VLAN 200)
Belkin #1 11 100 Relay 0 belkin-rt3200-1 ssh dut-belkin-1 10.13.200.11
Belkin #2 12 101 Relay 1 belkin-rt3200-2 ssh dut-belkin-2 10.13.200.196
Belkin #3 13 102 Relay 2 belkin-rt3200-3 ssh dut-belkin-3 10.13.200.118
Banana Pi R4 14 103 Relay 3 bpi-r4 ssh dut-bananapi 10.13.200.169
OpenWRT One 1 104 PoE - openwrt-one ssh dut-openwrt-one 10.13.200.120
Librerouter 1 2 105 Relay 4 librerouter-1 ssh dut-librerouter-1 10.13.200.77
Librerouter 2 3 106 Relay - - ssh dut-librerouter-2 -
Librerouter 3 4 107 Relay - - ssh dut-librerouter-3 -

SSH (isolated) connects via labgrid-bound-connect on the DUT's isolated VLAN (default state). Mesh VLAN 200 access (e.g. test crash left DUT there): sudo labgrid-bound-connect vlan200 <mesh_ssh_ip> 22. Details: SSH access to DUTs. First time in the lab: provision_mesh_ip.py --all.


OpenWrt profiles

DUT Subtarget Profile
Belkin RT3200 mt7622 linksys_e8450-ubi
Banana Pi R4 filogic bananapi_bpi-r4
OpenWrt One filogic openwrt_one
LibreRouter 1 generic librerouter_librerouter-v1
Gateway TL-WDR3500 generic tplink_tl-wdr3500-v1

LibreMesh feeds, menuconfig, lime packages, QEMU/vwifi: build-firmware-manual.


CI workflow quick reference

Trigger a firmware build and test from GitHub Actions without touching the lab manually.

Go to: GitHub → Actions → Build LibreMesh and Test on DUT → Run workflow

Input Example Notes
duts belkin_rt3200 or all Comma-separated or all
lime_ref v2024.1 Branch, tag, or commit SHA
openwrt_version 23.05.5 Must match lime_ref
extra_packages luci-app-dawn Prefix with - to remove
config_file firmware/configs/belkin_rt3200.conf Optional, injected as /etc/config/<name>

The flash_and_test job runs on the T430Runner (testbed-fcefyn). Full guide: CI: Build & Test.


SSH: Oracle VPS and OpenWrt gateway

From the orchestration host (same machine as Labgrid). Requires ~/.ssh/config per repo templates.

System Command Notes
Oracle VPS (Nginx / Grafana tunnel) ssh oracle-vps Host oracle-vps: public IP, typical user ubuntu, dedicated key. Provisioning: public Grafana.
Gateway (OpenWrt on trunk, e.g. WDR3500) ssh gateway-openwrt Host gateway-openwrt with HostName 192.168.100.254, User root. In mesh, 192.168.200.254 also works. Detail: gateway §5.5.

Switch and power scripts

Script Purpose Example
scripts/switch/poe_switch_control.py Control PoE ports on the TP-Link switch python3 scripts/switch/poe_switch_control.py off 1
scripts/switch/dut_gateway.py Update default gateway on DUTs via SSH after VLAN change python3 scripts/switch/dut_gateway.py --dut belkin_rt3200
# Power cycle OpenWRT One (PoE port 1)
python3 scripts/switch/poe_switch_control.py off 1
sleep 3
python3 scripts/switch/poe_switch_control.py on 1

# Set SWITCH_PASSWORD env var or use ~/.config/switch.conf
export SWITCH_PASSWORD=yourpassword

Field Value
IP 192.168.0.1
SSH ssh switch-fcefyn
User admin
Note Does not accept public keys; use password in SSH config
Manual PoE poe_switch_control.py off 1 / on 1 (port 1 = OpenWRT One)