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