RDK EasyMesh lab
meta-cmf-bananapi-vcpe
RDK-B images: the gateway and the extenders recipes-ccsp/ · recipes-*/ · conf/
Controller and agent patches recipes-ccsp/unified-wifi-mesh/ · hal/ · ieee1905/
The optimizer gen/optimizer/ → easymesh-optimizer
The live room: its launcher, manifests, bindings gen/demo/ (the room service: gen/optimizer/)
The lab VM, with or without EMOSA gen/vm/lxd/build.sh
The RF medium gen/medium/ → easymesh-medium
The room suite · docs gen/tests/ · doc/easymesh/
Optimizer lab · RDK
Core 1
The RF medium
easymesh-medium
wmediumd and its 36 patches wmediumd/
The hwsim radios (11 patches) hwsim/
The room language and compiler configurator/wmdcfg/
The rooms, standard · wired · with pods configurator/worlds · worlds-wired · worlds-pods/
The 3D room viewer configurator/worlds/viewer/
Console NG: the medium, live observer/
Both labs, one medium
prplMesh lab
prplmesh-lab
prplMesh 6.0 build and patches patches/prplmesh/ · manifests/
The optimizer optimizer/ → easymesh-optimizer
The live room: its launcher, manifests, bindings demo/ (the room service: optimizer/)
The controller dashboard controller-ui/ · topology-adapter/
The lab VM and its radios deploy/lxd-vm/build.sh · scripts/radio-lab.sh
The RF medium medium/ → easymesh-medium
Tests · docs tests/ · docs/ · reference/
Optimizer lab · prplMesh
Room builder
easymesh-room-builder
Draw rooms, walls, agents and client walks room-builder · roombuilder/
Designs and the room library designs/ · roombuilder/library/
Writes the medium's room language wmdcfg world-layout + mobility
Design rooms
One lab, live: a room from easymesh-medium , RDK's controller and agents,
two unchanged OpenSync pods through EMOSA , and the optimizer steering twenty clients.
OpenSync lab
opensync-lab
The mv3 router image build-mvx.sh · meta-mvx/
The OpenSync 6.6.1 pod image build-pod.sh · pod/
local-noc: the pods' own cloud local-noc/
The lab VM setup-vm.sh · deploy-mvx.sh · guest/
The pods
Physical lab
easymesh-lab
A Python 1905 / EasyMesh controller controller.py · protocol.py · wsc.py
The teaching panel panel/
Its own small optimizer optimizer.py
Experiments, telemetry, speed tests experiments.py · client_telemetry.py · speed_server.py
The VM and USB handover deploy/lxd-vm/build_vm.py
Real hardware
Core 2
EMOSA
emosa-lab
The specification and design spec/README.md · spec/design.md
Conformance vectors (19 sets) spec/conformance/ · schemas/
The Python reference src/emosa/
The C implementation and its bar c/ · c/QUALITY.md
The lab in a box, the vector generator lab/src/emosa_lab/
Adapter kit and lab drivers deploy/adapter · deploy/rdk-lab · deploy/opensync-lab
OpenSync ⇄ EasyMesh
The workspace
easymesh-labs
Pins every project and image manifest.json · pin · sync
The plan and its status docs/project/alignment-plan.md
The six lab configurations and hosts docs/reference/lab-configurations.md
The site and these posters site/ · site/posters/
Shared Pages tooling, the docs check pages/
Start here
The optimizer and its room service
easymesh-optimizer
The policy: margin, hold, dwell, cooldown, load optimizer/policy.py · load_policy.py · state.py
Each stack, read and driven stacks.py · observer.py · candidates.py (RDK) · prplmesh.py (prplMesh)
Steer one client, verify the outcome actuator.py · verifier.py
The room service: the live room, port 8891 room_service/ · room_service/lab.py (each stack)
Journal, replay, offline simulation recorder.py · simulator.py
Scenarios, the experiment matrix, manuals scenarios/ · configs/ · docs/
Both labs, one optimizer
Where does it live?
Piece Code Runs in
The optimizer easymesh-optimizer, pinned as meta-cmf gen/optimizer/ and prplmesh-lab optimizer/ · easymesh-lab optimizer.pyeach lab VM, inside the room service
The live room easymesh-optimizer room_service/; each lab's rooms in meta-cmf gen/demo/ · prplmesh-lab demo/each lab VM, port 8891
Rooms and viewer easymesh-medium configurator/compiled into wmediumd; viewer in the browser
wmediumd, radios easymesh-medium wmediumd/ · hwsim/each lab VM's kernel and medium
The controller RDK unified-wifi-mesh (meta-cmf recipes) · prplMesh 6.0 (prplmesh-lab patches) the gateway / controller container
EMOSA emosa-lab src/emosa/ · c/the emosa container, next to the controller
OpenSync pods opensync-lab pod/pod containers; image pinned in manifest.json
Room builder easymesh-room-builderyour browser, no lab needed
How the pieces fit
A room is drawn: in the medium's rooms, or in the room builder.
wmdcfg compiles it into the RF of every radio pair.
wmediumd delivers each frame between the hwsim radios.
The agents and a hundred clients, in containers, associate.
The controller (RDK or prplMesh) measures them.
The optimizer decides and steers through the controller.
The live room shows it; the room suite checks it.
EMOSA brings unchanged OpenSync pods into step 4, as EasyMesh agents.
One copy or two?
The RF medium one one repository since 30 September; both labs pin it
EMOSA one one repository; C and Python share one specification and its vectors
The optimizer one one repository since 30 September, both labs pin it; the physical lab keeps its small teaching one
The room service one in easymesh-optimizer with the optimizer since 30 September; each lab keeps its rooms