Repository navigation
cell M6: the UE's timing advance in the handover command (F1 v17) - #573
Conversation
Each DU reports its own UEs' TA (UeMeas.ta_us); the CU carries the source's value in HoCommand.ta_us (RAN_HO_TA, default on); the target starts the arriving UE's TA loop and first grant at it (cell.ho.ta_carried). Rig (testrig m6_ho_ta.sh, 3 A/B rounds): carried, the target's first uplinks land within 1-2 us; not, ~427 us off and 79-98 uplinks to within 50 us. Slot hits equal on this layout. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
PR Summary by QodoCarry source UE timing advance through F1 handover
AI Description
Diagram
High-Level Assessment
Files changed (6)
|
Code Review by Qodo
1.
|
…ish, arrival, ID reuse) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
All three findings were valid, and they share one cause:
Rig re-check (testrig |
|
Finding 3 (ID reuse) is resolved in
No report can pair a measurement with a previous holder's TA. |
|
Correction to my earlier comment: the one-round "rig re-check" I gave for the review fix did not run the fix. The J6412s still had the Re-checked on the merged code (
|
Optional M6 follow-up on #566: carry the UE's timing advance in the handover command.
What changes
UeMeas.ta_us, each DU's own UEs' TA (refreshed on the TA cadence), andHoCommand.ta_us.tools/ran-controller): puts the source DU's reported TA in the command (RAN_HO_TA, on by default; logged inran.ho_cmd).examples/cell): the target starts the arriving UE's TA loop and its first grant at the carried value (cell.ho.ta_carried).cell_m6selftest: the v17 handover and report round-trips.docs/cell-m6.md: new section "The timing advance in the handover command".Rig (testrig
scripts/m6_ho_ta.sh, UE1 cell 1 → 2 forced after the source's TA converged, 3 interleaved A/B rounds, the target's in-slot uplinks)RAN_HO_TA=1RAN_HO_TA=0ctest: 95/95 pass.
🤖 Generated with Claude Code