1. 11 Feb, 2025 1 commit
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/rfsim-deadlock-avoidance' into integration_2025_w06 (!3246) · 7d4f7ebb
      Robert Schmidt authored
      Deadlock avoidance in rfsimulator
      
      This change introduces a countermeasure for deadlock in rfsimulator. The
      deadlock happens when all entities are waiting for new data to come in,
      and happens with 2+ clients, when a new client connects. I think this
      issue is due to ordering of fullwrite calls, resulting in out-of-order
      delivery of packets and eventually trashing the packets on the receiving
      side. The out-of-order delivery warnings are printed just before the
      system deadlocks but I have not found a better solution so far. The
      workaround makes the server never lock up permanently by ignoring the
      client failure to write on time after 10 tries.
      
      This was tested locally for both UE as server and gNB as server and
      works correctly, causing the deadlock to clear and the added log to be
      printed several times when the deadlock is detected, after which the
      system goes back to normal.
      
      I have some gdb output of the executables during deadlock:
      
          UE:
      
          $7 = {conn_sock = 98, lastReceivedTS = 3226163740, headerMode = true, trashingPacket = false, th = {size = 13184, nbAnt = 1, timestamp = 3226150556, option_value = 0, option_flag = 0}, transferPtr = 0x7f6a500018a8 "\200\063", remainToTransfer = 24,
            circularBufEnd = 0x7f6a503b3ac0 "", circularBuf = 0x7f6a501f1ac0, channel_model = 0x0}
          (gdb) p t->buf[5]
          $8 = {conn_sock = 97, lastReceivedTS = 0, headerMode = true, trashingPacket = false, th = {size = 0, nbAnt = 0, timestamp = 0, option_value = 0, option_flag = 0}, transferPtr = 0x7f6a50001900 "", remainToTransfer = 24, circularBufEnd = 0x7f6a50575ad0 "",
            circularBuf = 0x7f6a503b3ad0, channel_model = 0x0}
      
          nextRxTimestamp 3225937740
          nsamps = 30720
      
          gNB 1:
          (gdb) p t->buf[0]
          $4 = {conn_sock = 95, lastReceivedTS = 3226026876, headerMode = true, trashingPacket = false, th = {size = 1, nbAnt = 1, timestamp = 3226026875, option_value = 0, option_flag = 0},
            transferPtr = 0x7f8dfc003ab8 "\001", remainToTransfer = 24, circularBufEnd = 0x7f8e1c3ff010 "", circularBuf = 0x7f8e1c23d010, channel_model = 0x0}
          nextRxTimestamp 3225996956
      
          gNB 2:
          lastReceivedTS = 3226026875
          $2 = {conn_sock = 95, lastReceivedTS = 3226026875, headerMode = true, trashingPacket = false, th = {size = 1, nbAnt = 1, timestamp = 3226026875, option_value = 0, option_flag = 0},
            transferPtr = 0x744898003ab8 "\001", remainToTransfer = 24, circularBufEnd = 0x7448bc2e7010 "", circularBuf = 0x7448bc125010, channel_model = 0x0}
      
          nextRxTimestamp 3226026875
      
      As you can see all executables are in have_to_wait state.
      7d4f7ebb
  2. 07 Feb, 2025 7 commits
  3. 05 Feb, 2025 4 commits
  4. 04 Feb, 2025 9 commits
  5. 03 Feb, 2025 3 commits
    • Robert Schmidt's avatar
      Merge branch 'integration_2025_w05' into 'develop' · 0053a3d0
      Robert Schmidt authored
      Integration: `2025.w05`
      
      Closes #885
      
      See merge request oai/openairinterface5g!3233
      
      * !3102 Dockerized development environment
      * !3185 Add IQ file recording and IQ file viewer to ImScope
      * !3218 more layer1 cleaning
      * !3224 Ensure execution of processSlotTX in order in NR UE
      * !3231 Bugfix in frame and slot setting for ULSCH beam allocation
      * !3229 Verify the integrity protection of the RRCReestablishment message
      * !3230 FHI72: fix for single distributed antenna array for xran F release
      * !2984 NAS 5GS refactor
      * !3235 Parametrized JenkinsNode and JenkinsResource
      * !2799 Changes to support multiple TDD patterns
      * !3208 Downgrade gNB power limit LOG from "warning" to "debug"
      0053a3d0
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/avoid-powerlimit-flood' into integration_2025_w05 (!3208) · 616c6775
      Robert Schmidt authored
      Downgrade gNB power limit LOG from "warning" to "debug"
      
      Downgrade the UE power limited LOG from LOG_W to LOG_D. This is to avoid
      flooding stdout when UE in low coverage enters power limited state for a
      longer period of time. The same information can be inferred from the
      periodic UE print which also contains PH value (negative PH values
      indicate that the UE is power limited)
      
      Also, correct some typos in PH calculation.
      
      Closes #885
      616c6775
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/Mult_TDD_Pattern' into integration_2025_w05 (!2799) · 1cb82bae
      Robert Schmidt authored
      Changes to support multiple TDD patterns
      
      - Updated the configuration changes for 2 Patterns
      - Update the TDD table configuration for NFAPI
      - Added the tdd bitmap for the period
      - Adapted the bitmap for UL/DL for the multi TDD pattern
      - Updated the RACH procedure for multi TDD pattern
      - Updated DL and UL scheduler for multi TDD pattern
      1cb82bae
  6. 31 Jan, 2025 16 commits