Part of the 5G-NR RAN EPIC #254. Phase A.
Goal: UEs join a running cell without disturbing scheduled traffic.
5G mapping
2-step RACH — a joining UE sends a preamble+msg in a reserved contention slot; the DU replies with a MACID + grant in the next beacon (fewer round-trips than LTE 4-step).
Deliverables (into src/cell/ + examples/cell)
Reuses
The AP association machinery (ap_responder.cpp, ap_wpa2.cpp), AckResponder, M1's UeRegistry/GrantMap/SlotGrid.
Dependencies
M1 (#254 tracks).
Test — tests/cell_rach.sh
DU + 1 active UE (scheduled traffic running); hot-plug a 3rd station that joins via the RACH slot within N beacons and receives a collision-free grant — the existing UE's slot is undisturbed throughout. Reuse ap_wpa2_demo.sh for the association leg.
Part of the 5G-NR RAN EPIC #254. Phase A.
Goal: UEs join a running cell without disturbing scheduled traffic.
5G mapping
2-step RACH — a joining UE sends a preamble+msg in a reserved contention slot; the DU replies with a MACID + grant in the next beacon (fewer round-trips than LTE 4-step).
Deliverables (into
src/cell/+examples/cell)tests/ap_responder.cpp+tests/ap_wpa2.cpp(beacon/probe/auth/assoc/DHCP/WPA2/CCMP) intoUeRegistry. Authenticate before allocating persistent resources (from the review — don't hand a MACID/grant to an unauthenticated preamble).Rach— a reserved contention slot in theSlotGrid; joining UE sends a preamble, the DU allocates MACID + grant and answers in the next beacon (2-step: preamble+msg → grant). Robust contention (from the review): randomized contention opportunities, collision detection/resolution, backoff, a temporary identity until association, duplicate-request detection, and defined exhaustion/denial behavior when the MACID/grant pool is full.Reuses
The AP association machinery (
ap_responder.cpp,ap_wpa2.cpp),AckResponder, M1'sUeRegistry/GrantMap/SlotGrid.Dependencies
M1 (#254 tracks).
Test —
tests/cell_rach.shDU + 1 active UE (scheduled traffic running); hot-plug a 3rd station that joins via the RACH slot within N beacons and receives a collision-free grant — the existing UE's slot is undisturbed throughout. Reuse
ap_wpa2_demo.shfor the association leg.