Files
openairinterface5g/openair2
maki c5a3ef8b60 mac: MU-MIMO diagnostic instrumentation + ri_bitlen=0 fix
Two changes on top of the initial MU-MIMO patch (commit 766d0a4):

1. CSI-parse fix in evaluate_cqi_report path: when maxMIMO_layers=1
   (and thus ri_Restriction has only one bit set, ri_bitlen=0),
   evaluate_ri_report was being skipped, leaving r_index=-1 which
   trips the DevAssert(ri>=0) inside evaluate_cqi_report. Fix: when
   ri_bitlen=0, pick the single allowed RI directly from the
   restriction bitmap. Affects all three reportQuantity branches
   (cri_RI_PMI_CQI, cri_RI_LI_PMI_CQI, cri_RI_CQI).

2. MU-MIMO scheduler: relaxed-orthogonality flag and broader
   partner search:
   - OAI_MU_MIMO_RELAXED=1 bypasses the strict (same-x1, x2-diff-2)
     orthogonality test for testbed validation on rfsim where the
     symmetric channel makes all UEs report identical PMI.
   - Partner search now scans the full UE_sched (skipping leader and
     already-paired entries) instead of only iterator+1; this finds
     candidates regardless of PF position.
   - Diagnostic LOG_W messages on partner-search entry and per-skip
     reason (capped to 20 events to avoid log flood).

Findings on this w17 build with 6 UEs at 5Mbps DL each:
- Patch compiles, deploys, gNB does not crash, scheduler reaches
  partner-search block on a fraction of slots.
- However eligible_others=0 in every observed partner-search entry:
  PF puts only one UE in UE_sched per pf_dl call almost always,
  even at cell saturation. The other attached UEs are skipped
  earlier (likely HARQ pids pending feedback). So the partner
  search has nothing to pair.
- Architectural conclusion: forcing concurrent multi-UE scheduling
  on OAI's PF + finite-HARQ scheduler likely needs scanning
  connected_ue_list (not just UE_sched), and may need broader
  refactoring to pre-allocate slot resources for MU-MIMO pairs.
2026-04-29 15:09:54 +09:00
..
2026-04-21 17:47:13 +02:00