- 29 May, 2024 1 commit
-
-
Guido Casati authored
* nb_re_pdsch is directly linked to nb_rb_pdsch, if the latter is 0 the former is also 0 * compute average channel level only when number of RE for PDSCH is not 0 the average channel level will be set to 0 otherwise * Added a log message to handle this special case, which is consequence of other issues in the RX chain * with this commit, the inconsistency in the RX chain will be handled in later in nr_ue_pdsch_procedures with a demodulation failure other minor changes: * Improved clarity by using NR_NB_SC_PER_RB instead of hard-coded value 12 in nb of RBs calculation * cleaned up unused variable and outdated comments
-
- 27 May, 2024 11 commits
-
-
Robert Schmidt authored
Integration: `2024.w21` See merge request oai/openairinterface5g!2757 * !2733 Remove duplicated function to reverse N bits * !2712 rfsimulator: add support to simulate a long propagation delay * !2695 improve polar init and polar readability * !2709 Fix cmdline configmodule in phy simulators * !2756 remove some enb dependencies in NR files * !2687 bug fix ue UL payload filling randomly done in retransmissions (pointer not set) * !2543 power/PHR normalizations for deltaMCS power adaptation * !2719 Refactor LC handling at MAC * !2736 Fix debug for ongoing transactions * !2747 Fix aerial memory leak * !2761 Use timeout command to kill hanging iperf3 * !2752 fix-dci11-type0-bitmap-setting * !2759 Fix invalid MSG2 HARQ feedback attempt and remove accumulated_delta_PUCCH field from UE FAPI IF * !2740 bugfix/cleanup: remove uint8_t to encode size plus some cleanup * !2760 fix 5G NR SA FDD configs for 24 and 25 PRBs * !2520 Documentation on coding style, workflow, and review instructions
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
It can happen that in the current DL slot, we cannot send an allocation for Msg3 in a later UL slot. Up to this commit, MAC printed a warning. However, this is not really a warning, as it will likely work in the next or a later slot. So demote this to debug.
-
Robert Schmidt authored
-
Cedric Roux authored
The starting point was the function do_NR_DLInformationTransfer() which may deal with more than 256 bytes. Then why not cleanup all the functions in the same file. (And do a bit of formattting fixing while we're here.) Then cleanup the callers of those functions. Then, because of do_SIB23_NR() let's also cleanup in some structures. Not all the codebase was cleaned up, there surely remain some uint8_t (and char/short/uint16_t) which are wrong.
-
Bartosz Podrygajlo authored
-
Bartosz Podrygajlo authored
UE was attempting to send ACK on MSG2 - was caused by missing brackets in if statement.
-
- 25 May, 2024 3 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/Fix_array_for_debug_ongoing_transactions' into integration_2024_w21c
-
- 24 May, 2024 25 commits
-
-
Rúben Soares da Silva authored
Set appropriate length for csi payload calloc and memcpy, according to bit_len
-
Rúben Soares da Silva authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Rúben Soares da Silva authored
-
Rúben Soares da Silva authored
-
Rúben Soares da Silva authored
-
Rúben Soares da Silva authored
-
Rúben Soares da Silva authored
-
Robert Schmidt authored
In some pipelines, it happens that iperf3 is hanging on 100% CPU load. In these cases, a simple TERM signal does not seem to be enough to kill it; KILL is necessary. While e.g., RemoteCmd's driver paramiko has a timeout command, the documentation [1] is not really clear how it is trying to stop commands. Since it effectively does not stop, we have to assume it is only sending TERM. To remedy this, use the timeout command to start iperf3. We use option -v for diagnose timeouts on stderr, and send KILL after an additional 3 seconds (-k3) if TERM does not succeed. The timeout is sent to the same duration as the overall iperf timeout. [1] https://docs.paramiko.org/en/3.4/api/channel.html#paramiko.channel.Channel.settimeout
-
Thomas Schlichter authored
make sure the SSB is offset by 4 PRBs from the BW start. Therefore, the ARFCN for the SSB center must be offset by 14 PRB from the ARFCN for the BW start.
-
Thomas Schlichter authored
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/fix-ue-ul-retransmissions-payload-copy' into integration_2024_w21c
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
A to-be-added UE's RA is added through nr_mac_add_test_ue() (the name is misleading, it is not a "test UE") through its CellGroupConfig. Using the process_CellGroupConfig() is unfortunate, because it is not really clear what part of the CellGroupConfig gets evaluated (it is certainly not all). Move the code for adding a new RA directly in the user-add function, and refactor this one.
-
Robert Schmidt authored
Introduce new LC configuration "priority", as specified in 38.321, and use to sort LCs by priority. We set the priority of an SRB according to 38.331 Section 9.2.1, and for a DRB to be the minimum priority of the QoS flows associated to this DRB.
-
Robert Schmidt authored
Introduce new functions to add/release LCs without needing to go through the intermediate CellGroupConfig. This harmonizes LC handling at the "DU handler" to keep it consistent with RLC bearer handling. These functions allow to group LC configuration handling, and we can remove functions for setting NSSAIs and QoS by handling in one central place (while adding LCs). nr_mac_add_test_ue() is used by simulators and also in NSA mode to add a new UE. Ideally, these users should also call the ue context setup request handler to add a UE context; for the moment, respect the passed list of LCs to add. Similarly, for do-ra, we require a dedicated function to still parse the CellGroupConfig, so we keep that part of functionality. On reestablishment, since we do not process the CellGroupConfig from the old UE, we need to add LCs for the new UE based on the onces from old UE.
-
Robert Schmidt authored
Use a common structure nr_lc_config_t to group LC configuration for one logical channel. Use seq_arr for simple lookup, adding, removing of elements without manual indexing logic. This commit retains the previous logic of adding/releasing LCs through the process_CellGroupConfig(), although we know while building the CellGroupConfig if we add/release LCs. The next commit fixes this.
-
Robert Schmidt authored
In later commits, we will call these functions from multiple places in the scheduler, so move them to a central place.
-
Robert Schmidt authored
If we do not make this change, with the next commit, we get the following error from gcc: openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_kpm.c:299:46: error: assignment of read-only location '*(arr_ue_id.ue_info_list + (sizetype)(arr_ue_id.sz * 2444864))' | arr_ue_id.ue_info_list[arr_ue_id.sz] = *ue;
-