OAI Issue Report: Hardcoded firstPDCCH-MonitoringOccasionOfPO CHOICE Field in SIB1

TL;DR

OAI gNB hardcodes the firstPDCCH-MonitoringOccasionOfPO field in SIB1 to the wrong CHOICE type, which causes UEs with non-120 kHz SCS configurations to fail decoding.


Bug Location

File: openair2/LAYER2/NR_MAC_gNB/nr_radio_config.c
Lines: 2807–2808

// Problematic code asn1cCalloc(ServCellCom->downlinkConfigCommon.pcch_Config.firstPDCCH_MonitoringOccasionOfPO, P0); P0->present = NR_PCCH_Config__firstPDCCH_MonitoringOccasionOfPO_PR_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT;


Problem

SCS Expected CHOICE OAI Current Value
15 kHz sCS15KHZoneT sCS120KHZ... (wrong)
30 kHz sCS30KHZoneT_SCS15KHZhalfT sCS120KHZ... (wrong)
60 kHz sCS60KHZoneT_... sCS120KHZ... (wrong)
120 kHz sCS120KHZoneT_... sCS120KHZ... (correct)

Impact

  • Amarisoft UE log: BCCH-BCH: SIB1: ERROR: unexpected CHOICE value
  • UE cannot reach RRC Connected
  • Affects all FR1 (sub-6 GHz) deployments using non-120 kHz SCS

Proposed Fix

Option A: Remove the optional field (already verified to work)

// firstPDCCH_MonitoringOccasionOfPO is OPTIONAL per 3GPP TS 38.331 // Remove this field and let the UE derive it // Comment out the two lines above

Option B: Select CHOICE dynamically based on SCS (full fix)

`// Example: derive SCS from configuration int scs = cyclePrefix == 0 ? 15 : 30; // obtain SCS from config

switch (scs) { case 15: P0->present = NR_PCCH_Config__firstPDCCH_MonitoringOccasionOfPO_PR_sCS15KHZoneT; break; case 30: P0->present = NR_PCCH_Config__firstPDCCH_MonitoringOccasionOfPO_PR_sCS30KHZoneT_SCS15KHZhalfT; break; // case 60: // P0->present = NR_PCCH_Config__firstPDCCH_MonitoringOccasionOfPO_PR_sCS60KHZoneT_...; // break; // case 120: // P0->present = NR_PCCH_Config__firstPDCCH_MonitoringOccasionOfPO_PR_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT; // break; } `


Test Environment

Item Value
gNB OAI v2.2.0+
UE Amarisoft UE Simbox E
Band n1 (FDD)
SCS 15 kHz
BW 20 MHz

3GPP References

  • TS 38.331: PCCH-Config IE definition
  • TS 38.304: Paging procedure
  • TS 38.213: PDCCH monitoring procedures

Recommendation

This is a 3GPP compliance issue and should be tracked in the OAI GitLab issue tracker.


Report date: 2025-12-04
Severity: HIGH