Commit Graph
427 Commits
Author SHA1 Message Date
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 bedc5bea4c remove a gcc warning while making the code a bit simpler 2024-03-04 10:07:07 +01:00
francescomani b70eba44a7 fix for computing ssb subcarrier offset 2024-02-02 09:21:40 +01:00
francescomani c8afb25d3b moving generation of precoding matrices at MAC and trying to adapt to SCF (1st version) 2024-01-19 09:21:08 +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
Robert Schmidt 7e2487c294 Handle CellGroupConfig completely at MAC
- MAC creates CellGroupConfig and sends to RRC
- the RRC does not manually update the CellGroupConfig
- MAC handles the RRC processing timer

In this commit, any updates to the CellGroupConfig previously done at
the RRC don't work. In other words, MIMO etc don't work; this is
implemented in the next commit.

Note that the change to take out spCellConfig during reestablishment is
because after reestablishment, as per spec (38.331 5.3.7.2), the UE
should drop the spCellConfig, which we generate by default on the first
UE connection.

Furthermore, add a new variable apply_cellgroup to signal if, after RRC
processing timer, we wish to apply the CellGroup. In some situations,
e.g., Msg.4 ack, we do not want to apply the CellGroup, because for
instance in reestablishment, we await for a reconfiguration of cellgroup
that would be triggered too early.
2023-09-22 08:22:15 +02:00
Robert Schmidt 18db5f68ac Put PLMN/TAC/CellID into SIB1, correct CellIdentity encoding 2023-09-22 08:22:15 +02:00
Robert Schmidt c930563929 Move radio configuration parameters to MAC, SIB1 not initialized!
!SIB1 is not correctly filled! This commit does not work with COTS UEs!
The next commit fixes this.

- Move radio config (e.g., minRXTXTIME, SIB1 TDA, do_SRS, etc) down to
  MAC.
- Some parameters in MAC are redundant: delete them.
- Remove call to nr_mac_config_scc() from RRC and simulators, the MAC
  initialization routine calls it implicitly
2023-09-22 08:22:15 +02:00
Robert Schmidt eaf28414ca kssb < 16 or we cannot do reestablishment: add assert in DU 2023-09-22 08:22:15 +02:00
Robert Schmidt a44a54f3d3 Move SIB1 to MAC
The SystemInformationBlock 1 is handled at the DU and sent to the CU in
the F1 Setup Request. Hence, move it down to the MAC.
2023-09-22 08:22:15 +02:00
Robert Schmidt 5d0ae84ad2 Move MIB to MAC
The MasterInformationBlock is handled at the DU and sent to the CU in
the F1 Setup Response. Hence, move it down to the MAC. Furthermore:

- Change type because MIB_PDU_t is 4G type
- Simplify schedule_nr_mib()
2023-09-22 08:22:15 +02:00
Robert Schmidt 2b29531591 Move ServingCellConfigCommon to MAC
Note: the reestablishment is broken, and a later commit fixes it.

The ServingCellConfigCommon is an inherently radio-related
configuration. As such, it should be handled by the DU, not the CU.
Therefore, move it "down" to the MAC.
2023-09-22 08:22:15 +02:00
Rúben Soares da Silva 09d7487dc1 Fix packing/unpacking for (n)FAPI PARAM and CONFIG.request/response
- Fix 4G and 5G discrepancy in TLV padding requirements: 4G does not
  need padding, whereas 5G needs, so make separate set of function for
  padding for NR
- Fix packing/unpacking for (n)FAPI PARAM and CONFIG.request/response
  messages
- Handle message padding to next 32-bit boundary, as per SCF
  specification in packing and unpacking functions
- Account for message header size upon receiving message in PNF and VNF
2023-09-14 08:56:19 +02:00
rmagueta 0fb0203c1c Add condition to call or not the function nr_mac_prepare_ra_ue() 2023-08-24 15:59:36 +01:00
Robert Schmidt 082af9863d Merge remote-tracking branch 'origin/fix-bug-sched-lock' into integration_2023_w29 2023-07-21 16:24:49 +02:00
Robert Schmidt 9a55658b57 Fix bug in scheduler lock mechanism
nr_mac_prepare_ra_ue() is called with the scheduler being locked via
NR_SCHED_ENSURE_LOCKED(), but if there is no free RA process, it
unlocks the scheduler via NR_SCHED_UNLOCK().  This is commit fixes this.

In short, when calling nr_mac_prepare_ra_ue(), the scheduler is locked,
and should always return with the scheduler being locked.
2023-07-20 13:23:01 +02:00
Laurent THOMAS 02e1b64379 small code review 2023-07-13 16:48:19 +02:00
francescomani e198b74155 fixes running FR2 test with sanitize 2023-07-13 16:27:34 +02:00
Roberto Louro Magueta 45d4333afc Fix reconfigurationWithSync 2023-06-10 13:06:37 +01:00
Laurent Thomas 4d73f80487 fix compilation error, static functions not used 2023-06-05 08:58:48 +02:00
Cedric Roux c0c3a737ed asn1c: use better version of asn1c
We don't work much on asn1c. The version we use has several bugs.
There is an active community out there that fixes bugs and improves
asn1c. Let's use their version.
2023-06-01 18:26:00 +02:00
Robert Schmidt 31a1003349 Introduce mutex for MAC scheduler
Different threads (e.g., RRC, DU tasks) might access the scheduler at
the same time as the thread that drivers the scheduler itself
(ru_thread). To avoid data races, introduce this mutex.

Most functions of the scheduler are only used internally and have been
marked static in the previous commit. The remaining ones, in this
commit, either lock the scheduler mutex sched_lock, or a comment has
been added of the assumption of how such function is to be locked (e.g.,
if it might be called from different places, or if it is called by a
function that already locks the scheduler).
2023-05-03 13:40:22 +02:00
Robert Schmidt 44bf62758a Remove nr_mac_update_RA()
There is no point in updating RA, when we update the CellGroupConfig. We
simply drop this function, therefore
2023-05-03 13:40:22 +02:00
Robert Schmidt e7a8eb950e NR MAC: make many functions static
To know which functions are used from outside and which are
module-local, make many functions static. This will allow us to protect
only those functions with a mutex for which it is necessary.
2023-05-03 13:40:20 +02:00
Robert Schmidt 6d7d075d8c Refactor NR MAC config: mark unimplemented functions as such 2023-05-03 13:38:24 +02:00
rakesh mundlamuri 594fb18cc8 adressing the comments 2023-04-24 11:05:05 +02:00
rakesh mundlamuri 5143133d33 ssb offset to point A bugfix 2023-04-24 10:47:41 +02:00
francescomani 87d9517738 avoid duplicated function in nr_common for supported bandwidth 2023-04-20 18:16:37 +02:00
Robert Schmidt 8aa0aa4d40 Make functions in (gNB MAC) main.c static 2023-04-11 10:33:27 +02:00
Robert Schmidt 8c1aeb4ab9 Merge remote-tracking branch 'origin/develop-fix-DL-2x2-errors' into integration_2023_w13 2023-03-31 17:59:54 +02:00
Roberto Louro Magueta b69fb5bd74 Do not send TA command when rrc_processing_timer is active 2023-03-31 14:38:56 +01: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 90bfdfcaf3 harmonize mac_CellGroupConfig 2023-03-20 17:18:02 +01:00
Robert Schmidt 1436470943 Merge remote-tracking branch 'origin/NR_Msg3_dcch_dtch_reworking' into integration_2023_w10b 2023-03-10 15:11:57 +01:00
Robert Schmidt 742800b858 Split rrc_mac_config_req_gNB() in multiple functions 2023-03-09 19:09:04 +01:00
Robert Schmidt 7668a8917e Use pointer to MAC instead of module ID 2023-03-09 19:06:07 +01:00
francescomani 799d0b3ab5 reworking response to MSG3 with DCCH/DTCH 2023-03-09 14:01:33 +01:00
Robert Schmidt c6883ad2ee Merge remote-tracking branch 'origin/NR_15khz_UL_buffers' into integration_2023_w09 2023-03-02 09:18:06 +01:00
francescomani e4ce069d1a increase UL buffer size for 15kHz 2023-02-24 14:06:23 +01:00
francescomani fc30280a7d cleaning up some NR files 2023-02-21 16:53:51 +01:00
laurent b74ba0fb92 cleaning only 2023-01-19 14:52:39 +01:00
francescomani 88192f1339 fixes for mixed slot without uplink symbols 2022-12-19 10:24:02 +01:00
francescomani 621c3ce8f1 fix in nr_slot_fep_init_sync for SIB1 2022-09-28 11:42:59 +02:00
francescomani b3e18641c3 fix for scheduling msg3 without mixed slot and to avoid scheduling SR using pucch-ResourceCommon 2022-09-28 11:42:59 +02:00
laurent cfeae9560e merge develop 2022-08-26 18:02:50 +02:00
Raymond Knopp 3f790e1504 Merge remote-tracking branch 'origin/develop' into if5_ECPRI_rework 2022-08-20 19:22:31 +02:00
Robert Schmidt 6c31639522 Only call NR_PHY_config_req when no (n)FAPI 2022-08-18 20:37:06 +02:00
Robert Schmidt f52809a8fb Add MAC-RRC UL stubs for F1AP and direct 2022-08-07 19:49:08 +02:00
Raymond Knopp 517970a445 warning removal 2022-08-05 07:44:22 +02:00
Raymond Knopp 10d288e9ab Merge remote-tracking branch 'origin/develop' into if5_ECPRI_rework 2022-07-31 21:25:02 +02:00