- 16 Dec, 2024 31 commits
-
-
Robert Schmidt authored
The consumer of this function just passes a pointer to something to be sent. This function should not free this memory, it's simply not it's task. This is the same bug as above in "CU_handle_gNB_DU_CONFIGURATION_UPDATE(): don't free the message of RRC"
-
Robert Schmidt authored
-
Ronak Kanthaliya authored
-
Robert Schmidt authored
This adds a basic telnet module to support the O1 interface at the DU, to be used together with the oai/o1-adapter>. Concretely, this first version supports to - read/modify cell parameters - stop/start the L1
-
Robert Schmidt authored
Implements the re-start of the L1 after it has been stopped through stop_L1(). It takes into account some changes, such as bandwidth, or frequency, when restarting the L1. To this end, it also triggers a gNB-DU configuration update message on each restart to inform the CU about any changes in the DU. FDD has not been tested.
-
Robert Schmidt authored
Refactor L1 stopping code into a function. The function is basically the same as what we were doing at the end of main() of nr-softmodem.c. This will be reused to support the "soft-restart" functionality in the next commits.
-
Robert Schmidt authored
Need to proper forward declaration, as we otherwise need to make telnet_o1 module dependent on F1. Make functions publicly accessible, as the F1 functions are used in an upcoming commit to start the L1.
-
Robert Schmidt authored
-
Robert Schmidt authored
Need to keep track of number of RUs, as the RU initialization increments the number of RUs. Therefore, subsequent initializations would fail if we don't decrement first. There is no better place (or I did not find it) to decrement the number of RUs than in nr_phy_free_RU(). For this reason, we also have to manually set the number of RUs in nr_prachsim to 1, otherwise the assert will trigger.
-
Robert Schmidt authored
The message is already freed at reception at RRC.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Implement those functions following more closely 38.473, i.e., check all mandatory fields. Add mandatory fields in the test.
-
Robert Schmidt authored
-
Robert Schmidt authored
Check that both a->tac/b->tac are present, or both not present. Then, check they are equal if present.
-
Robert Schmidt authored
a and b can only be equal if both NULL or both set (and all fields the same). Check for this.
-
Robert Schmidt authored
Split out these functions, to be reused in a follow-up commit to correctly have gNB-DU configuration update message working. Change the return type copy_f1ap_served_cell_info(), to return the copy, which IMO is more intuitive then passing target and source in parentheses.
-
Robert Schmidt authored
For the "restart" feature, earlier versions where creating multiple UL TDA. This is not a problem (anymore), but to avoid that we call this multiple times, add this assert.
-
Robert Schmidt authored
Set pointer to NULL when freeing to avoid potential double frees.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
The existing code prevents double initialization if e.g., both gNB&UE call these functions (like in a simulator). However, in the case of a double-initialization such as stopping and re-starting the L1, the memory will be freed, but not freed again. Basically, this works: generate() generate() # not initialized again but this leads to problems: generate() free() generate() # not initialized again, but should be! Reimplement the check based on the data to be initialized, such that an intermediate free() will be handled properly.
-
Robert Schmidt authored
These are the "main" worker threads (apart the ru_thread). If the thread-pool stops, they might get stuck. E.g., in PUSCH channel estimation, it uses a local response queue, and if the thread pool is terminated, it seems that the L1_rx_thread can get stuck in there. To limit these problems, attempt to stop these threads first; stop the queue from which they read and make them terminate; then, stop the thread pool. Also, fix the termination of respPuschSymb queue.
-
Robert Schmidt authored
-
Robert Schmidt authored
A later commit implements the "restart" of the L1. The L1 reads configuration options. First, allow to re-read configurations by increasing the amount of memory the config module might allocate. Then, avoid an out-of-bound write by checking that we still have memory available (and assert if not possible).
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
- 10 Dec, 2024 2 commits
-
-
Robert Schmidt authored
Integration: `2024.w49` See merge request oai/openairinterface5g!3148 * !3065 NAS Service Request enc/dec implementation * !3129 Refactor UL MAC PDU decoding * !3136 Use ninja -k option in CI * !3137 T tracer: add macpdu traces for the NR UE * !2392 Documentation: add multi-UE deployment with RFsimulator * !3145 a lib has been added but missed dependancies * !3050 doc: Add instructions for 5G NR gNB frequency configuration * !3141 CI: Allow restart of the container if deployment fails * !3138 Align YAML config getlist with libconfig implementation * !3140 remove un-necessary global variables * !3146 Updates to match more fapi-compliant tx_data.request * !3025 New threadpool, fixed in NR UE * CI: Remove USRP mgmt_addr from LTE-2x2 conf files * !3147 Fronthaul xran library update to F release (2. and final step towards M-plane integration) * !3142 Add CI test to trigger RLF with high pathloss in channelmod
-
Robert Schmidt authored
Add CI test to trigger RLF with high pathloss in channelmod
-
- 09 Dec, 2024 1 commit
-
-
Guido Casati authored
Upon restoration to ploss, set to 20; when setting to 0, the UE is not able to sync to the cell anymore. Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
-
- 08 Dec, 2024 1 commit
-
-
Robert Schmidt authored
Fronthaul xran library update to F release (2. and final step towards M-plane integration) - xran library support -> both E and F releases - RU delay profile removed -> not used in neither of the releases - DU delay profile updated - one-way delay measurements support is improved/fixed in the F release. However, not implemented here as it depends on the RU capabilities
-
- 06 Dec, 2024 5 commits
-
-
Jaroslava Fiedlerova authored
The "mgmt_addr" parameter is not required for USRP N310 initialization. The critical parameter for successful operation is the "addr", which specifies the IP address of the SFP port used for data transfer. Including both "mgmt_addr" and "addr" can lead to initialization failures if one of the specified addresses is unavailable. Since the "mgmt_addr" is unnecessary for this context, it has been removed to avoid potential conflicts and simplify the configuration.
-
Jaroslava Fiedlerova authored
New threadpool, fixed in NR UE This merge request is an attempt to fix the new thread pool implementation for use in NR UE and gNB (as well as eNB).
-
Teodora authored
-
Jaroslava Fiedlerova authored
Updates to match more fapi-compliant tx_data.request The packing of PDUs as required in aerial for the Tx_data.Request wasn't complaint with FAPI. That was fixed in Aerial 24-2. This change makes L2 pack the payloads in the way that Aerial now requires.
-
Jaroslava Fiedlerova authored
Merge remote-tracking branch 'origin/remove-not-needed-global-vars' into integration_2024_w49 (!3140) remove un-necessary global variables Remove global variables that can be removed by a trivial way: - simply dead globals - or reference is a single source, so can be static setting them static reduces the scope, that is a progress, but of course as for all static variables, the code is still not re-entrant
-