1. 17 Feb, 2025 2 commits
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fhi72-no-polling' into integration_2025_w07 (!3200) · f0d6d42a
      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
      f0d6d42a
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fix_ntn_leo' into integration_2025_w07 (!3194) · 7d574ffc
      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
      7d574ffc
  2. 14 Feb, 2025 18 commits
  3. 13 Feb, 2025 13 commits
    • Bartosz Podrygajlo's avatar
      Add PDCCH UESS aggregation level configuration option · 095b7919
      Bartosz Podrygajlo authored
      Added uess_agg_levels configuration option which changes the number of PDCCH
      candidates per aggregation level.
      095b7919
    • Bartosz Podrygajlo's avatar
      Dynamic PDCCH aggregation level · 16f028db
      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.
      16f028db
    • francescomani's avatar
      fix in gnb mod_dci buffer size · 2bdb1826
      francescomani authored
      2bdb1826
    • Robert Schmidt's avatar
      Reduce indentation, add comment · e1d7306a
      Robert Schmidt authored
      Reduce one level of indentation, and explain why we wait for
      physide_dl_tti callback.
      e1d7306a
    • Robert Schmidt's avatar
      FHI72: Cleanup: Remove first_rx_set · 6706c939
      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.
      6706c939
    • Robert Schmidt's avatar
      FHI72: cleanup: remove first_read_set · 04201845
      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.
      04201845
    • Robert Schmidt's avatar
      FHI72: make polling configurable in xran_fh_rx_read_slot(), default off · fd773068
      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.
      fd773068
    • Robert Schmidt's avatar
      Remove FHI72 memory workaround · 595a80a3
      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
      595a80a3
    • Robert Schmidt's avatar
      Refactor code to wait for free RX job · 99c849c2
      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.
      99c849c2
    • Robert Schmidt's avatar
      540d918a
    • Robert Schmidt's avatar
      FHI72: no poll: use pullNotifiedFIFO(), cleanup code, make compile · 0e5bc42e
      Robert Schmidt authored
      Move the extern definition to the header, to avoid type errors.
      0e5bc42e
    • Robert Schmidt's avatar
      2cd0bba9
    • Robert Schmidt's avatar
      FHI72: Remove unused defines and comments · 984b917e
      Robert Schmidt authored
      984b917e
  4. 12 Feb, 2025 7 commits