Commit Graph
356 Commits
Author SHA1 Message Date
francescomani ab537c6675 remove mac flag phy_config_request_sent 2024-07-30 19:36:49 +02:00
Raghavendra Dinavahi 798ceeeef2 SL PSBCH: MAC->PHY cfg, PSBCH scheduler + supporting functions + enable system testing & scope
- Phy config update and Sidelink frame parameters initialisation
	- PSBCH scheduler to trigger TX PSBCH/RX PSBCH actions
	- Sidelink indication with rx ind to trigger send SL-MIB to MAC
	- Enable Scope for PSBCH use -d or --dqt
	- Enable system testing of PSBCH for example using RFSIMULATOR:

		- UE1 is a SYNCRONISATION SOURCE UE which transmits PSBCH

		  started using command -
		  sudo ./nr-uesoftmodem --sl-mode 2 --sync-ref 4 --rfsim --rfsimulator.serveraddr server

		- UE2 syncs onto UE1 during sidelink search, gets the timing and continues to receive PSBCH

		  started using command -
		  sudo ./nr-uesoftmodem --sl-mode 2 --rfsim --rfsimulator.serveraddr 127.0.0.1

		- In the default use case 2 Sidelink SSBs sent over 16 frames.

		- In case SL-SSB configuration needs to be changed use -O option in the above command like

		-O ../../../targets/PROJECTS/NR-SIDELINK/CONF/sidelink_preconfig_1txpool.conf
2024-06-21 09:40:16 +02:00
Sakthivel Velumani 043da0c440 NR UE scan for SSB within current bandwidth
Till this commit, the UE gets the position of SSB in frequency from
command line and does the syncronization by locating the SSB in time. It
does this by generating a PSS time signal during initialization with the
SSB offset given via command line. Then PSS detection is done by
correlation.

In this commit, the UE computes a list of GSCN in the current NR band
that falls within the current bandwidth for the set center frequency.
For each GSCN in the list, the UE starts a thread and performs the
following:
1. Generate PSS time signal with SSB offset for current GSCN.
2. Detect PSS, SSS and decode PBCH (this step remains the same).
After all threads finishes, the results are collected.

For now, only the first detected PBCH is used to proceed further. So
this PBCH is indicated to MAC and UE exits initial sync.

Future work: The cell search can be standalone feature where the UE
could scan for SSB in the entire NR band. This would require changing
radio's frequency on the fly as the UE's bandwidth would not cover an
entire NR band. The cell detection can futher be imporved by looking
for SIB1 for each decoded PBCH.
2024-05-30 10:20:45 -04:00
francescomani 408cebc1e7 implementing triggering RA after SR failure 2024-04-29 11:06:17 +02:00
Robert Schmidt 3011b706ba Merge remote-tracking branch 'origin/fix-sctp-f1' into integration_2024_w15 2024-04-15 14:33:05 +02:00
Robert Schmidt f21c2cf822 Remove interface names from F1 and nFAPI (4G+5G) 2024-04-15 13:16:09 +02:00
francescomani 8404da759f nullPointerRedundantCheck 2024-04-09 16:55:51 +02:00
francescomani fa27f9ad48 moving decision on DCI format type from L1 to MAC 2024-04-03 09:14:50 +02: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
francescomani 37d3e5bb58 get SSB ARFCN at RRC UE (needed to update k_gnb key according to 33.501) 2024-03-13 17:59:11 +01:00
francescomani bb19306797 transmission of RRCReestablishmentRequest message 2024-03-13 17:57:28 +01:00
francescomani df739aa590 tick for MAC timers (applied to RA contention resolution) 2024-02-14 16:35:49 +01:00
francescomani 9cf44c11f1 use pointer to structure instead of module_id inside MAC 2024-02-02 16:00:59 +01:00
Laurent THOMAS cc436a2074 split nr_ue_dl_indication in two different functions, that have little interaction: nr_ue_dl_processing and nr_ue_dl_scheduler. the call remain nr_ue_dl_indication 2024-01-24 12:29:57 +01:00
Laurent THOMAS 84ade524e4 Simplify interface by removing dcireq_t struct that was only calling one function and remove fill_scheduled_response that also fills only a struct in a complex way 2024-01-23 18:38:11 +01:00
Laurent THOMAS 99815be715 make frame/slot in ul_config dl_config instead of upper structures value, fix modulo computation of frame 2024-01-23 18:04:08 +01:00
Laurent THOMAS 44fd6e4edf simple code cleaning 2024-01-23 16:31:50 +01:00
Laurent THOMAS b5e169ec07 add const or other simple C code improvement 2024-01-09 16:15:14 +01:00
francescomani d241506043 fix for L2 simulator 2023-11-23 12:14:39 +01:00
francescomani 65bcbabdca improve handling of MSG4 feedback in default PUCCH 2023-11-23 10:28:04 +01:00
Robert Schmidt 0c51db05ad Merge remote-tracking branch 'origin/UE-rrc-coarse-cleaning' into integration_2023_w44 2023-11-13 15:10:20 +01:00
Laurent THOMAS dd059343d9 ue-rrc-coarse-cleaning 2023-11-10 17:43:59 +01:00
Laurent THOMAS f50d5f5a9b make multiple config instead of one implicit global 2023-11-10 10:23:11 +01: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 75c2f9e5f8 improving handling of tdd_UL_DL_ConfigurationCommon absence when checking DL or UL slot 2023-08-04 10:01:56 +02:00
francescomani fe99f633d6 harmonize reconfiguration with sync reception 2023-07-31 17:30:29 +02:00
francescomani 40b07ec483 remove scc and scc_SIB from mac structure 2023-07-31 17:30:29 +02:00
francescomani 44bc3e7cce taking sib1 detection out of initial sync 2023-07-27 11:11:09 +02:00
francescomani f65ce8c4fa handle BCH indication 2023-07-24 09:46:37 +02:00
Robert Schmidt 70475fecec Merge remote-tracking branch 'origin/NR_UE_RRC_handle_otherSI' into integration_2023_w28 2023-07-13 16:59:49 +02:00
francescomani 6d0ae249bc handling SIB other than SIB1 at UE RRC 2023-07-10 18:26:06 +02:00
laurent 9121541b3c only cleaning 2023-07-10 12:00:25 +02:00
Robert Schmidt 4ae73af46f Merge remote-tracking branch 'origin/cmake-refactor' into integration_2023_w27 2023-07-08 13:29:55 +02:00
Robert Schmidt ddf549b1f3 Move radio CMakeLists.txt to subdirectory
- move following radios: AW2S, BladeRF, IRIS, LMSSDR, RFsimulator, USRP
- move following transports: Ethernet, benetel4g, benetel5g
- for each: create independent cmake variable to switch compilation
  on/off, in order: OAI_AW2S, OAI_BLADERF, OAI_IRIS, OAI_LMSSDR,
  OAI_SIMU, OAI_USRP, OAI_ETHERNET, OAI_BENETEL4G, OAI_BENETEL5G
- Remove RF_BOARD variable, allows to compile multiple boards at once
- where applicable: remove USERSPACE/LIB in path, i.e., move files up to
  directories, as all are userspace libraries

Note that with the above, it is now mandatory to enable a radio
implementation before compiling it, e.g., for USRP:

./build_oai -w USRP
cmake .. -DOAI_USRP=ON && ninja oai_usrpdevif
2023-07-07 08:35:28 +02:00
francescomani 85aaf3a0ba upper layers handling of radio link monitoring 2023-06-13 14:54:56 +02:00
francescomani 9d9e6bf17f errors detected by undefined behavior sanitizer 2023-05-29 08:49:52 +02:00
francescomani 9421fcc8b9 addressing review 2023-05-05 07:50:39 +02:00
Robert Schmidt 302f016650 Merge remote-tracking branch 'origin/NR_UE_TA_procedures_at_MAC' into integration_2023_w16b 2023-04-22 07:48:58 +02:00
Robert Schmidt beef5461e5 Write-only variable: return ret_mask 2023-04-14 13:52:16 +02:00
francescomani eb09a63001 separating MAC and PHY procedures for TA 2023-04-12 10:32:35 +02:00
francescomani ebd70a3915 Merge remote-tracking branch 'origin/NR_pbch_errors_at_MAC' into integration_2023_w14 2023-04-04 19:35:23 +02:00
Sakthivel Velumani 15c12caa37 Contains MAC changes to run || DLSCH
DL config as array in MAC
Run RX slot processing in Tpool thread
Fixed race in phy config
Changed mac_IF_mutex
Proc Tx: Lets wait for Proc Rx to get ACK/NACK
-(only on slots that carry ACK/NACK)
Fix problem with rfsim
Separated PDCCH and PDSCH decoding functions. Run PDCCH decoding in main UE_thread.
Fixed race in MAC dci config struct
needed for parallel processing of slots
Moved DLSCH transport block buffer to stack
rx_ind as static allocation
L2sim: Fixed calling of MAC sched in wrong slot
Fix DCI extract bug for RA procedure
2023-04-03 10:24:24 -04:00
francescomani 5c333cca65 move radio link failure detection on pbch at MAC 2023-04-02 09:48:09 +02:00
Roberto Louro Magueta 889a50072f Implementation of resynchronization procedures for a gNB with a given Nid_cell 2023-03-28 18:52:48 +01:00
francescomani bc73e73c26 improve UE state machine 2023-03-14 11:06:32 +01:00
francescomani a7e7899edd addressing review including clang formatting 2023-02-23 19:09:25 +01:00
francescomani 0d9d4f55f7 further improvements in tda lists 2023-02-23 19:09:25 +01:00
francescomani 01030bbc4e L2 simulator fix 2022-12-30 10:32:58 +01:00