Commit Graph
762 Commits
Author SHA1 Message Date
Robert Schmidt 7db4732ce1 Merge remote-tracking branch 'origin/N2_HO_Measurement_config' into integration_2024_w22 2024-06-04 09:29:42 +02:00
batuhan duyuler cec6b8925a Preparation of Neighbour Configuration & Measurement Configuration | Parsing the configuration
- neighbour_config.conf file includes neighbour and measurement related parameters
Neighbour List:
 - nr_cellid: the identity of existing cell who has neighbour
 - neighbour_cell_configuration(list): includes the identity parameters
   of the neighbour cell such:
    - gNBID (incase of N2 Handover / to be identified from AMF)
    - nr_cell_id (target gNB needs to consider)
    - physical_cellId (needed for measurement reporting)
    - absoluteFrequencySSB (needed for measurement reporting)
    - subcarrierSpacing (needed for measurement reporting)
    - plmn / tracking area code (incase of N2 Handover / needed for AMF
      to identify / allow HO)

NR Measurement Configuration
 - Periodical
    - enable (default is 0, 1 enables the reporting)
    - includeBeamMeasurements, maxNrOfRS_IndexesToReport (configurable
      reporting parameters)
 - A2
    - enable (default is 0, 1 enables the reporting)
    - threshold , timeToTrigger (configurable reporting parameters)
 - A3
    - cell_id (the nr_cellid of neighbour cell. So this A3 parameters
      will be used for the neighbour
        - [-1] means default. so it can be applied to any neighbour if
          there is no specific config
        - Neighbour specific A3 Threshold can be used or default can be
          selected depending to the neighbour planning
        - The neighbour-config.conf specifies, apply default A3 for
          neighbours 3 and 4 | apply specific one for neighbour 2

    - offset, hysteresis, timeToTrigger (configurable reporting parameters)

the neighbour_config.conf can be included in the gNB.conf file. Example
is given: gnb.sa.band78.106prb.rfsim.neighbour.conf

A sequence array container is used for neighbour cell configuration. RRC
structure has this container.  A Measurement configuration structure is
defined. This structure has Periodical / A2 Event structures and also a
sequence container for A3 Event List.

These structures are filled during the initialization. While F1 Setup
Response is coming from DU to CU, the intra frequency / inter frequency
neighbour decision is given for the existing cell. Also new neighbours
could be added here if needed.
2024-06-04 07:54:00 +02:00
Robert Schmidt 092047984a Merge remote-tracking branch 'origin/initial_gNB_NTN_support' into integration_2024_w22 2024-06-03 21:36:00 +02:00
Robert Schmidt 5b53f4ee0f Merge remote-tracking branch 'origin/NR_UE_cell_search' into integration_2024_w22 2024-06-03 21:35:51 +02:00
Thomas Schlichter f1938acbab gNB: make ue_TimersAndConstants configurable via conf file 2024-06-03 11:54:55 +02:00
Thomas Schlichter 90fa3d5534 gNB: make SR timers configurable in CONF file 2024-06-03 11:54:55 +02:00
Thomas Schlichter ccba7c875d gNB: add NTN specific parameter cellSpecificKoffset_r17 and use it for UL scheduling
According to the RRC specification, cellSpecificKoffset is:
Scheduling offset used for the timing relationships that are modified for NTN (see TS 38.213 [13]).
The unit of the field K_offset is number of slots for a given subcarrier spacing of 15 kHz.
If the field is absent UE assumes value 0

This parameter `cellSpecificKoffset_r17` can be set in the gNB conf file, in the section `servingCellConfigCommon`
2024-06-03 11:54:55 +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 95442d6075 adding a control to the maxMIMO_layers input and updating RUNMODEM.md 2024-05-29 15:26:28 +02:00
Raymond Knopp 15488a18e3 added parameter to limit the maxMIMO-layers on DL (i.e. to 2 for 4x4) 2024-05-29 14:46:50 +02:00
Robert Schmidt 5686b2a26d Merge remote-tracking branch 'origin/phr_handling_for_develop' into integration_2024_w21c 2024-05-24 17:53:50 +02:00
Raymond Knopp e69e787ab0 testing use_deltaMCS=0 2024-05-24 09:25:45 +02:00
Raymond Knopp 70444f133a power control changes for deltaMCS mode and force_ul256qam_off
- addition of control of deltaMCS if enabled in configuration file.
- introduce separate parameter to disable 256QAM in UL
- put min_grant_prb configuration back in pf_ul() as default prb size.
2024-05-24 09:25:44 +02:00
francescomani e8ae696c8f remove some enb dependencies in NR files 2024-05-23 18:30:33 +02:00
Jaroslava Fiedlerova 65d494fb09 Merge remote-tracking branch 'origin/f1ap_uecontext_refactoring' into integration_2024_w18 2024-05-06 15:29:48 +02:00
Robert Schmidt 956df365de Refactor F1 Setup Req/DU config update: transport slices via F1 and read config
In the DU, read slice information from the DU config file. Handle
multiple slices within the F1 Setup Request structure representation,
and forward it via F1 to CU. The DU slice information is stored in the
setup request structure.
2024-05-06 11:54:41 +02:00
Giulio Carota 2f81f190d1 Generate TimingMeasurementConfig at DU, store at CU 2024-05-06 11:44:32 +02:00
Giulio Carota ae66ba7a7b fix(du/cu/rrc): use the correct MIB data structure
Use the correct MIB data structure, MIB_t. This is required by 38.473,
and the LiteOn DU sends only that. So our CU needs to handle it, so
align the OAI DU as well.
2024-05-06 11:34:29 +02:00
Robert Schmidt f247373474 Refactor TDD/FDD config reading into functions 2024-05-06 11:18:10 +02:00
Jaroslava Fiedlerova fece66201c Merge remote-tracking branch 'origin/clean-and-doc-gnb-main-archi' into integration_2024_w18 2024-05-05 23:32:34 +02:00
Laurent THOMAS bb66056b75 fix nr-ru.c external declarations in .c file
The external declarations were incorrect, leading to mismatching
prototypes of config_ru and config_rru (true bug in OAI lte!).
2024-05-03 18:31:17 +02:00
francescomani c719b3f057 adding new nr bands to the tables 2024-05-01 16:13:04 +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 27447f94bf Remove IPv6/active/preference fields from e/gNBs.[0].target_enb_x2_ip_address array
Some reasoning as in previous commit.
2024-04-15 13:16:09 +02:00
Robert Schmidt 235567bb6a Remove IPv6/active/preference fields from gNBs.[0].amf_ip_address array
Same reasoning as in the previous commit.

Remove filling of broadcast_plmn, which does not exist in the
configuration.
2024-04-15 13:16:09 +02:00
Robert Schmidt f21c2cf822 Remove interface names from F1 and nFAPI (4G+5G) 2024-04-15 13:16:09 +02:00
Robert Schmidt 4b2a59b027 Remove AMF Network Interface sections's interface names: not used 2024-04-15 13:16:09 +02:00
Robert Schmidt e65cb0cf42 Introduce additional option to bind on separate IFs for F1-C/U in DU
After the last commit, it is not possible to bind on separate interfaces
for F1-C and F1-U. In other words, it is for instance not possible to
have the F1-C on one subnet on one physical interface, and F1-U on
another subnet on another physical interface. This commit introduces a
second option MACRLCs.[0].local_n_address_f1u to allow to bind F1-U on
an alternative address; if it is not specified, the interface of F1-C is
reused.

The above only works for the DU; no corresponding option exists for the
CU. For the CU, use separate CU-CP and CU-UP.

Use it in the CI.
2024-04-13 05:14:55 +02:00
francescomani 9cc53a43b1 invalidPrintfArgType_uint 2024-04-09 16:44:56 +02:00
Robert Schmidt 53c3e5ce1d Merge remote-tracking branch 'origin/Aerial_Integration' into integration_2024_w10 2024-03-08 17:50:06 +01:00
8150a47ba5 NVIDIA Aerial Integration
- Aerial config file
- Changes for ARC1.1. Change config file to max MCS 25. Fixed pdu size errors.
- Remove taskset from Dockerfile.gNB.aerial.ubuntu20 after changing isolated CPUs
- removed the USRP from Docker file

Co-authored-by: Florian Kaltenberger <florian.kaltenberger@eurecom.fr>
Co-authored-by: Fredrik Molander <fmolander@nvidia.com>
Co-authored-by: Reem Bahsoun <reem.bahsoun@openairinterface.org>
2024-03-08 15:53:42 +01:00
Laurent THOMAS 2129ee3c9c remove global visibility of log variables, remove circular .h dependancy 2024-03-06 08:51:24 +01:00
Robert Schmidt 9a44d4b88f Increase default UL max MCS to 28
The original UL max MCS of 9 was chosen for performance reasons. In the
meantime, machines became faster, and the ULSCH decoding faster. Improve
UL max MCS to be 28 by default to use the complete range of possible
MCS.
2024-03-05 08:04:11 +01:00
Robert Schmidt 29ca077b66 Increase default max LDPC iter to 8
Doing only 5 LDPC iterations by default leads to a poor reception
performance, and correspondingly many retransmissions. Increase to 8 as
the new default to improve user experience.
2024-03-05 08:03:45 +01:00
francescomani 29ddb924e3 do not call RCconfig_NR_L1 twice in monolithic mode 2024-02-08 13:59:28 +01:00
Jaroslava Fiedlerova 3cc671897d Merge remote-tracking branch 'origin/e1-issue-712' into integration_2024_w04 2024-01-26 10:15:56 +01:00
Guido Casati 309673f519 Minor fixes to documentation and logging 2024-01-25 17:12:31 +01:00
Guido Casati b9bfff3327 Minor improvements to E1 procedures readability 2024-01-25 17:10:52 +01:00
Robert Schmidt 9b113d2cce Add configuration for phase compensation
For 7.2 FH, some RUs do phase compensation, whereas for others, the DU
does it. In fact, this can be "negotiated" using the M plane. Since we
don't have the M plane yet, add a configuration option to set where
phase compensation is performed.
2024-01-23 13:41:41 +01:00
Jaroslava Fiedlerova 8a2d9c10f2 Merge remote-tracking branch 'origin/liteon_du_integration' into integration_2024_w03 2024-01-19 15:12:54 +01:00
Jaroslava Fiedlerova 01c7dca652 Merge remote-tracking branch 'origin/update-e2-agent' into integration_2024_w03 2024-01-19 11:35:30 +01:00
Giulio CarotaandRobert Schmidt 20710c9a91 Implement F1AP RRC Version encoding/decoding in CU&DU
RRC Version is a required IE. Hence, implement the encoder and decoder
for this message. At the DU and CU, read the RRC Version we use and fill
the corresponding field.

Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2024-01-18 15:02:00 +01:00
Robert Schmidt f021b8b5be Bugfix: only fill DU system information if SA
In NSA, we don't have SIB1. However, the DU system information requires
both MIB and SIB1, but is itself optional. So, in NSA, don't fill the DU
system information.
2024-01-18 15:02:00 +01:00
Teodora 56843fc1d7 Add E2 agent in CU-UP 2024-01-17 15:51:52 +01:00
Robert Schmidt 460f11e3f3 Merge remote-tracking branch 'origin/remove-unused-memblock' into integration_2023_w51 2023-12-21 16:10:05 +01:00
Laurent THOMAS 63b64d4fce move common code file in common directory
remove several unused files
remove mem_block_t that is never used in a different way than a simple heap buffer
move up IP address type and remove duplications of the same struct declaration
2023-12-19 10:37:10 +01:00
francescomani 60f5b9622c clang formatting and review 2023-12-17 17:28:28 +01:00
francescomani b0dd591932 fixes after CI run 2023-12-12 14:12:48 +01:00
Robert Schmidt 8e990850c3 Correctly read node_id (gNB ID) for RRC
The node ID (which corresponds to the gNB ID) should be read in all
cases of execution, not only CU.
2023-11-30 17:10:11 +01:00
Robert Schmidt 39df275fa4 Remove confusing macrlc_has_f1 variable
The macrlc_has_f1 (static) variable was introduced to signal when we use
F1 in the configuration. It is superfluous: the node_type already passes
this information in a unique manner; hence, remove.
2023-11-30 08:06:16 +01:00