An error occurred fetching the project authors.
- 17 Dec, 2023 1 commit
-
-
francescomani authored
-
- 12 Dec, 2023 1 commit
-
-
francescomani authored
-
- 20 Nov, 2023 1 commit
-
-
francescomani authored
-
- 10 Nov, 2023 2 commits
-
-
Robert Schmidt authored
-
rmagueta authored
-
- 04 Nov, 2023 1 commit
-
-
Robert Schmidt authored
Before this commit, as visible in the handler of an F1 UE release, it can happen that we forward the RRC Release message to a UE and start the release timer, while also removing the F1 UE data (containing e.g., the CU UE ID). This can lead to asserts, since there might still be subsequent traffic for such UE during a short time, while the DU does not have the secondary UE ID stored anymore. This commit changes the logic. It introduces function nr_mac_release_ue() that removes the UE at MAC and RLC, frees the F1 UE data (if applicable), and sends the complete, after timing expiry. If the UE is out of sync, this function is used to free the UE immediately. This fixes #685 and #698.
-
- 27 Oct, 2023 1 commit
-
-
Robert Schmidt authored
Before this commit, the DMRS_UplinkConfig was stored in a separate DMRS-related structure, although it is always referenced in the PUSCHConfig of the current UL BWP. Through certain code paths (e.g., retransmission), it could happen that an old DMRS_UplinkConfig was accessed that was freed (through new CellGroupConfig). In this commit, we always look up the DMRS_UplinkConfig in the current PUSCH config, which should always be up to date.
-
- 10 Oct, 2023 1 commit
-
-
Robert Schmidt authored
-
- 02 Oct, 2023 1 commit
-
-
mir authored
-
- 22 Sep, 2023 9 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
- 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.
-
Robert Schmidt authored
-
Robert Schmidt authored
!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
-
Robert Schmidt authored
Previously, filling of F1 Setup Request depended on reading the RRC; hence, for timing reasons, we only initialized and sent the F1 Setup Request once the MAC and RRC are ready. After moving SCC, SCD, MIB, and SIB1 to MAC, the MAC does not depend on an RRC being present anymore, and hence, the F1 Setup Request does neither. In this commit, we read the F1 Setup Request after initializing the MAC.
-
Robert Schmidt authored
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.
-
Robert Schmidt authored
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()
-
Robert Schmidt authored
As with the ServingCellConfigCommon, the ServingCellConfigDedicated is a radio-related structure to be handled at the DU.
-
Robert Schmidt authored
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.
-
- 23 Aug, 2023 1 commit
-
-
francescomani authored
-
- 14 Aug, 2023 1 commit
-
-
Robert Schmidt authored
-
- 10 Jun, 2023 1 commit
-
-
Roberto Louro Magueta authored
-
- 25 May, 2023 2 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
-
- 03 May, 2023 2 commits
-
-
Robert Schmidt authored
There is no point in updating RA, when we update the CellGroupConfig. We simply drop this function, therefore
-
Robert Schmidt authored
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.
-
- 05 Apr, 2023 1 commit
-
-
Cedric Roux authored
This commit fixes a bug caused by global variables in the gNB_MAC_INST structure used to transfer MAC scheduler's results to the PHY layer. When using several threads in the PHY layer, it may happen that the MAC scheduler is called a second time by the second PHY thread for the next slot before the content of the global variables in the gNB_MAC_INST structure used to store the result of the MAC scheduler for the current slot have been consumed by the first thread, leading to unpredictable results (all of them certainly wrong). The solution is to introduce a small memory management module for the interface between the PHY threads and the MAC scheduler. The MAC scheduler now fills the data structures passed to it, and not a global variable anymore. The PHY layer manages the structures and ensures that no data is overwritten before being fully consumed by the various threads of the PHY layer. Some care has to be taken because several PHY threads will access the same structures at the same time for a given slot (in read mode, so it's okay). A mechanism of reference counting has thus been introduced. Only one CC is supported. This restriction should not be too hard to remove if/when needed. (The code before this commit does not seem to work for more than one CC anyway.)
-
- 30 Mar, 2023 1 commit
-
-
Robert Schmidt authored
-
- 28 Mar, 2023 1 commit
-
-
Roberto Louro Magueta authored
-
- 22 Mar, 2023 1 commit
-
-
Robert Schmidt authored
-
- 20 Mar, 2023 1 commit
-
-
Robert Schmidt authored
During the Initial UL RRC Message, the CellGroup is created. Since the CellGroup specifies the SRB1, the SRB1 should also be created (because the DL RRC Messages is sent via SRB1). However, before this commit, the CellGroup is created while having the RLC lock, so we cannot create SRB1, as it results in a deadlock. Therefore, we now first create CellGroup, SRB0, and SRB1, before giving the UE message to the RLC.
-
- 15 Mar, 2023 2 commits
-
-
Thomas Schlichter authored
-
francescomani authored
-
- 09 Mar, 2023 3 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
-
francescomani authored
-
- 06 Mar, 2023 1 commit
-
-
Robert Schmidt authored
The simulators have been changed: due to linker errors that would arise otherwise, a lot of functions are defined in them to avoid such errors. Some functions are also defined in header files; in this commit, we define most functoins in nr_dummy_functions.c, which is compiled in, not by including the C file, but by adding it to the target in CMakeLists.txt - nr_dlsim+nr_ulsim need NR_IF_Module_init(), so it cannot be in nr_dummy_functions, but the others need it - Link correcr NR_IF_Module_init() into these simulators, and reduce overall link list - Correctly link remaining simulators
-
- 24 Feb, 2023 1 commit
-
-
francescomani authored
-
- 23 Feb, 2023 3 commits
-
-
francescomani authored
-
francescomani authored
-
francescomani authored
-