- 17 Feb, 2025 2 commits
-
-
Robert Schmidt authored
FHI72: remove polling, fix memory leak - FHI72 used polling to track the next slot. This is not necessary, a simple queue does the job and allows to save one core that was previously at 100% - Remove a workaround to avoid a memory leak (fixes #812); allows to also run RFsim/USRP/otehr radios when compiling for FHI72
-
Robert Schmidt authored
fix NTN LEO scenarios - gNB: add support for NTN parameter ta-CommonDrift-r17 - NR UE: fix application of NTN TA information - NR UE: add command line parameter ntn-initial-time-drift to compensate time drift during initial sync - NR UE: fix writeTimestamp inconsistencies - NR UE: add MAC state UE_RECEIVING_SIB ensuring to start RA only after successfully receiving SIBs - rfsimulator: update earth radius for LEO simulation to match UE position in ue.conf file - update conf files for NTN LEO scenario - update description how to run NTN scenarios in RUNMODEM.md - fix: ta-Common is a round-trip-time, not a one-way delay - NR UE: simplify calculation of next_tx_slot_and_frame by moving up assignment of duration_rx_to_tx - cellbarredNTN indicates notbarred in SIB1 if NTN access is available - Removed b66 NTN and enabled B254 NTN conf file in CI - NR UE: RRC layer now explicitly tells MAC layer when the RA procedure can be started - move NTN LEO config to band 254 and update doc/RUNMODEM.md Closes #901
-
- 14 Feb, 2025 18 commits
-
-
Thomas Schlichter authored
-
Thomas Schlichter authored
-
Raghavendra Dinavahi authored
-
Raghavendra Dinavahi authored
38.331 release 18 section 5.2.2.4.2 indicates that to access NTN, cellbarredNTN in SIB1 should be set to notbarred.
-
Thomas Schlichter authored
-
Thomas Schlichter authored
-
Thomas Schlichter authored
-
Thomas Schlichter authored
Also added a dedicated conf file for NTN LEO, that can be used for CI.
-
Thomas Schlichter authored
-
Thomas Schlichter authored
-
Thomas Schlichter authored
The "writeTimestamp inconsistencies" are coming from the fact that during the actual processing we write `N_TA_offset` samples _and_ `NR_UE_CAPABILITY_SLOT_RX_TO_TX` slots ahead, but both was not corrently considered in readFrame() and syncInFrame(). Therefore, there was always a warning about a gap in write timestamps as soon the actual processing starts.
-
Thomas Schlichter authored
NR UE: add command line parameter ntn-initial-time-drift to compensate time drift during initial sync The value of ntn_init_time_drift is used at initial sync to compensate for the time drift during initial sync detection. To perform the initial time and frequency sync, the OAI UE currently takes a snapshot of two frames and then performes PSS correlation, SSS detection and MIB decoding. Doing this takes much time, several tens of ms. During that time, the DL timing drifts so much, that we immediatedly lose sync again. Therefore the current OAI UE implementation needs to know the drift rate to compensate for this drift, as we are "blind" while performing the initial sync. To my undestanding, commercial UEs simply have a faster initial sync, so the DL timing will not drift away too much while performing that initial sync.
-
Thomas Schlichter authored
-
Robert Schmidt authored
Bugfix in gNB modulated DCI buffer size Closes #904
-
Robert Schmidt authored
Add check on force_local in custom_command CI handling The force_local flag was introduced earlier in the main CI script in order to run a CI test locally. The flag was still missing in the Custom_Command handling, which was still targeting the node specified in the test configuration file. This was causing a failure in the tests with custom commands and therefore limiting the scenarios that could be run locally. With this commit, if force_local is enabled the node for the Custom_Command is set to localhost.
-
Robert Schmidt authored
Improvements in TDD configuration Including using the frame structure introduced in !2799 also at the UE
-
Robert Schmidt authored
Refactor and extend NAS Registration Request Extended NAS Registration Request generation and encoding according to 8.2.6 of 3GPP TS 24.501. Main topics: - NAS Registration Type - NAS KSI - integrity protection - NAS container encoding Improvements: - Add 5GMM Modes in NAS - Introduced 5GMM state machine Fixes: - add 5GMM Capability IE to Registration Request - closes #881, #819
-
Robert Schmidt authored
Dynamic PDCCH aggregation level The aggregation level search order for PDCCH candidates is modified: - the search starts from desired_agg_level_index, which is a value from 0 to 4 proportial to pdcch_cl_adjust. - pdcch_cl_adjust is a value between 0 and 1 that indicates PDCCH channel quality by averaging HARQ DTX rate. A value of 0 means perfect channel, a value o 1 means impaired channel. Also added configuration option for number of PDCCH candidates per aggregation level.
-
- 13 Feb, 2025 13 commits
-
-
Bartosz Podrygajlo authored
Added uess_agg_levels configuration option which changes the number of PDCCH candidates per aggregation level.
-
Bartosz Podrygajlo authored
The aggregation level search order for PDCCH candidates is modified: - the search starts from desired_agg_level_index, which is a value from 0 to 4 proportial to pdcch_cl_adjust. - pdcch_cl_adjust is a value between 0 and 1 that indicates PDCCH channel quality by averaging HARQ DTX rate. A value of 0 means perfect channel, a value o 1 means impaired channel.
-
francescomani authored
-
Robert Schmidt authored
Reduce one level of indentation, and explain why we wait for physide_dl_tti callback.
-
Robert Schmidt authored
first_rx_set is polling-specific: it makes the polling loop wait to only check the frame/slot counter once we set it for the first time. However, that is equivalent to checking the frame/slot directly, which will also be 0 in the beginning.
-
Robert Schmidt authored
first_read_set seems to have the function of making frame/slot time advance only if we started to read the samples in xran_fh_rx_read_slot(). I interpret that as "only advance the time if the gNB is reading from xran", which does not make sense to me, because xran advances the time anyway. Also, polling would not notice, and no-polling would simply warn about double messages. So the outcome is likely the same, whether first_read_set is set or not. I checked in multiple CI runs; it happens that first_read_set is always set already when oai_xran_fh_rx_callback() is called anyway.
-
Robert Schmidt authored
xran_fh_rx_read_slot() uses polling (a loop over cnt++) to wait for the next frame/slot. The reasons I have been told is "it does not work differently", or "there are real-time problems". None of those seem to be true; by default disable polling, and use the queue instead. It is possible to enable polling with the cmake option OAI_FHI72_USE_POLLING=ON. Documentation has been updated to inform about this change.
-
Robert Schmidt authored
The queue L1_rx_out was in place to keep RX/TX processing relatively "close" to each other (in terms of time, since in RFsim, they might advance faster than realtime; see also parent commit). This lead to a memory leak in radios that do not use ru->feprx (no front-end processing for RX, e.g., PRACH), as the code to read the L1_rx_out messages was inside a block of if (ru->feprx). Move it out so that the queue is always read and messages are freed to eliminate the memory leak, and remove the workaround for FHI72 to avoid this memory leak. This also allows to run RFsim when compiling FHI72, which was not possible before this commit. Closes: #812
-
Robert Schmidt authored
Some radios (e.g., RFsim) can run faster. A mechanism has been put in place to keep RX/TX frame/slot numbers not too far from each other. Refactor in a separate function with documentation to make this clearer.
-
Robert Schmidt authored
-
Robert Schmidt authored
Move the extern definition to the header, to avoid type errors.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
- 12 Feb, 2025 7 commits
-
-
francescomani authored
-
francescomani authored
-
francescomani authored
-
Guido Casati authored
* The force_local flag was introduced earlier in the main CI script in order to run a CI test locally. The flag was missing in the Custom_Command handling, which was still targeting the node specified in the test configuration file. With this commit, if force_local is enabled the node for the Custom_Command is set to localhost.
-
francescomani authored
-
francescomani authored
-
francescomani authored
-