Commit Graph
213 Commits
Author SHA1 Message Date
francescomani 74690ceb1d fix CORESET start PRB according to standard at OAI UE 2025-12-22 17:29:09 +01:00
francescomani 63f3fb55ae Merge remote-tracking branch 'origin/ue_ho_improve' into integration_2025_w50 2025-12-09 11:06:52 +01:00
francescomani 98618a7dc8 The network must configure BWPs with consecutive IDs from 1
... so if we want to have 1 BWP configured at any given time we need to
reconfigure BWP 1 every time. This means that since the gNB has more
than 1 BWPs (for use for different UEs), that there is a "gNB BWP ID"
(as used by the gNB), which can be any BWP ID X, and one "UE BWP ID",
which is always 1. This commit implements this distinction.
2025-12-03 17:20:11 +01:00
alexjiao d56945e45e Monitor dedicated search spaces for DCIs after C-RNTI MAC-CE in Msg3 is sent 2025-11-29 22:39:43 +08:00
Bartosz PodrygajloandSakthivel Velumani ece9d51db3 Symbol based PDCCH processing
1. Refactor PDCCH PHY functions to take rxdataF of one OFDM symbol and
   produce LLR for each search space. The modified functions take
   rxdataF in a different format than that produced by nr_slot_fep(). So
   for now a memcpy is used to change the array structure. Once
   nr_slot_fep() is modified, this memcpy will no longer be needed and
   will be removed.
2. Modify DCI functions to decode DCI in the last PDCCH symbol and
   inidcate to MAC once.
3. Fix PDCCH monitoring for start symbol > 0.
4. Fix multiple PDCCH monitoring within slot.

Co-authored-by: Sakthivel Velumani <mail@sakthi.me>
2025-10-21 12:03:01 +02:00
Jaroslava Fiedlerova 44fa1c2244 Merge remote-tracking branch 'origin/issue-954-fix' into integration_2025_w38 (!3568)
Fix UE DCI monitoring after RRC setup

After the UE is configured with pdcch-Config, it continues to monitor
fallback search spaces in pdcch-ConfigCommon for DCI with C-RNTI.

The rational is that after sending RRC Setup the network won't know if
the UE has received and successfully applied it. Hence the network would
still continue to use the fallback DCI till it receives RRC setup
complete.

Closes #954
2025-09-17 10:14:57 +02:00
Sakthivel Velumani 524aa84e96 fix: issue 954 - DCI monitoring after RRC setup
After the UE is configured with pdcch-Config, it continues to monitor
fallback search spaces in pdcch-ConfigCommon for DCI with C-RNTI.

The rational is that after sending RRC Setup the network won't know if
the UE has received and successfully applied it. Hence the network would
still continue to use the fallback DCI till it receives RRC setup
complete.
2025-09-15 15:47:13 -04:00
Jaroslava Fiedlerova de91ab6eb9 Merge remote-tracking branch 'origin/enhance-ssb-dci-processing' into integration_2025_w32 (!3541)
simplify and make more local variables in nr_rx_pdcch() and fix small bugs...

simplify and make more local variables in nr_rx_pdcch() and fix small bugs
(size 9 RE instaed of 12 RE)
2025-08-04 23:57:40 +02:00
Thomas Schlichter 53208bd163 NR UE: fix calculation of SI window expiry 2025-08-04 10:52:08 +02:00
Laurent THOMAS b41c9e2e85 move static some functions that are used only in one file 2025-07-25 10:04:13 +02:00
Sakthivel Velumani 18c9a3720d Fix asn1c double free
The UE stores PDCCH search spaces from the network in NR_BWP_PDCCH_t
struct within NR_UE_MAC_INST_t. After storing, the pointers otherSI_SS,
ra_SS and paging_SS are updated to point to the stored SS. Multiple
pointers could point to the same stored SS struct depending on
configuration. Then when the UE wants to release the SS, the pointers
are used to free the stored SS using ASN_STRUCT_RESET(). If multiple
pointers point to the same SS, calling ASN_STRUCT_RESET() on all
pointers would lead to double free. So one needs to check for dangling
pointer before freeing.

Instead of using pointers and assigning them during configuration, we
use SS id for otherSI_SS, ra_SS and paging_SS to retrieve the pointers
whenever needed. When the UE wants to release the SS, we make them -1
indicating an invalid SS id.
2025-04-25 15:40:07 -04:00
francescomani 08da0bd2cc improvements at UE to receive multiple instances of otherSIB
for example SIB2 and SIB19 which are scheduled in separate messages
2025-04-14 10:15:50 +02:00
francescomani 97ca739be2 remove hardcoded window size for otherSI in UE 2025-04-14 10:15:50 +02:00
francescomani 04213f2981 schedule SIBs other than 1 (including fixes for SIB19) 2025-04-14 10:15:50 +02:00
Bartosz Podrygajlo d446543ffb Avoid accessing current_DL_BWP structure when scheduling DCI for other SIBs
Avoid access to mac->current_DL_BWP structure when scheduling DCI for
SIBs other than 1. This is not needed and can cause NULL pointer access
which can happen if the UE has released MAC configuration or has not
started RA yet.
2025-04-03 11:22:40 +02:00
francescomani 7af5e9f59e prevent possible segfault in is_ss_monitor_occasion function 2025-03-26 13:27:11 +01:00
francescomani 65bc749ee6 start the rar reception window in PRACH slots but take into account the additional slots difference wrt when we actually would need to start it (in first DCI occasion) 2025-03-12 10:30:17 +01:00
francescomani cc154da549 Procedures for Random Access Response reception 2025-03-12 10:21:27 +01:00
francescomani 220af3f669 move function to build ssb list after common configuration (reception of SSB information)
also removed unnecessary BWP dependence
2025-03-12 10:11:38 +01:00
francescomani 38734ee31c remove nr_mac_extern file 2025-03-03 17:00:26 +01:00
francescomani cb72bd26f4 do not send to L1 DCI PDU if there are no candidates 2025-02-19 10:31:42 +01:00
francescomani bd7d007ea8 remove global slots_per_frame, use function instead 2025-02-12 18:08:56 +01:00
francescomani 3c6a588ed7 reworking scheduling of SIB other than 1, including storing the information at MAC 2024-11-25 17:23:32 +01:00
ndomingues 19e0df13a9 Add support for Random Access MsgB RNTI 2024-10-09 09:04:44 +01:00
Roberto Rosca 4c15a04b87 Receive SIB19 on UE 2024-09-17 14:13:11 +03:00
Laurent THOMAS 445aac11b9 put dci search in trace level trace, so the trace level debug prints the decoded DCIs 2024-04-29 16:03:43 +02:00
francescomani fa27f9ad48 moving decision on DCI format type from L1 to MAC 2024-04-03 09:14:50 +02:00
francescomani 6e9dd015f6 DCI formats 11 and 01 assume the presence of an active BWP, if not present return with an error to prevent segfault 2024-03-27 09:36:19 +01:00
Robert Schmidt a9123e68fc Merge remote-tracking branch 'origin/fix-4G-5G-ra-state-confusion' into integration_2024_w11 2024-03-18 10:17:36 +01:00
Laurent THOMAS b97c70fd87 remove 5G dependency on 4G mac.h include, separate RA state enums between 4G/5G and UE/gNB
add RA stat trace by enum name instead of integer printing

fix minor a few minor typos
2024-03-15 10:55:11 +01:00
Laurent THOMAS 77d749ba87 improve function that map ro to ssb in the UE: make dynamic smaller memory allocation than array[max][max][.... Saves about 100MB of memory and avoid real time glitch of milli seconds of memset(110MB) 2024-03-12 09:53:02 +01:00
francescomani 284d07c5ae nfapi_nr_interface cleanup 2024-03-06 11:38:26 +01:00
Laurent THOMAS 56c4a6ec07 change trace to new NR_MAC_DCI and NR_PHY_DCI for DCI processing 2024-03-01 12:20:32 +01:00
francescomani 16c82f2598 set cset0 and ss0 independently from BWP in generic MAC structure at UE 2024-02-15 16:32:45 +01:00
Jaroslava Fiedlerova bcd8ad26e9 Merge remote-tracking branch 'origin/fix_building_rach_occasions_for_multiple_bwps' into integration_2024_w02 2024-01-12 10:05:33 +01:00
Laurent THOMAS 4c7b185d92 merge two reduntant and incoherent enums for rnti_type_t, make a macro to stringify properly instead of hardcoded side strings array 2024-01-09 16:15:14 +01:00
francescomani 3bb6457fc6 RO MAC fields depending on bwp-id 2024-01-08 14:33:08 +01:00
francescomani 90c8e7dfd1 improvements in UE detachment, including sending a message from NAS and signaling to MAC and fixing some memory leaks when terminating UE 2024-01-04 14:28:49 +01:00
francescomani 60f5b9622c clang formatting and review 2023-12-17 17:28:28 +01:00
francescomani 78041a2012 rework BWP UE structures including handling of need codes 2023-12-12 14:10:10 +01:00
francescomani 9b9eb6f4e4 common structure for non-BWP servingcell info 2023-12-12 14:06:37 +01:00
francescomani 2715c7efdd improve MAC configuration from RRC 2023-11-20 14:21:01 +01:00
francescomani 8013d5d8cc removing CellGroup dependance from MAC common functions 2023-11-20 11:36:46 +01:00
francescomani 8934c7db10 fix the selection of DCI candidates at UE 2023-10-05 18:09:02 +02:00
francescomani f820d74605 fix for scrambling dci and renaming ss_type field 2023-09-19 12:51:42 +02:00
francescomani e42e1d8065 limiting the number of DCI candidates at UE according to available CCEs 2023-09-08 14:46:00 +02:00
francescomani 44bc3e7cce taking sib1 detection out of initial sync 2023-07-27 11:11:09 +02:00
francescomani b4734211f0 fixes to make RRC decode SI 2023-07-10 18:26:06 +02:00
francescomani 924be4edf9 monitor DCI for other SI 2023-07-10 18:26:06 +02:00
francescomani 6d0ae249bc handling SIB other than SIB1 at UE RRC 2023-07-10 18:26:06 +02:00