1. 17 Feb, 2017 10 commits
    • Cedric Roux's avatar
      warning fix: remove pragma in LFDS · 74afbf84
      Cedric Roux authored
      Not sure that it's correct, but those #pragma seem
      to be of no use for gcc. Let's remove them
      completely.
      74afbf84
    • Cedric Roux's avatar
      use ln -sf instead of ln -s in cmake_targets/build_oai · baeb9303
      Cedric Roux authored
      When rebuilding oaisim, I had a failure because the target
      link already exists. The -f flag forces the link to be done.
      baeb9303
    • Cedric Roux's avatar
      remove wrong comment · 053704b5
      Cedric Roux authored
      053704b5
    • Cedric Roux's avatar
      integration fix: let oaisim (S1) work again · ac7c0df5
      Cedric Roux authored
      - some cleanup
      - thread names to include UE Mod_id
      - arg of UE_thread_rxn_txnp4 to be struct rx_tx_thread_data again
      - sync in UE_thread_rxn_txnp4 to use instance_cnt_rxtx again
      - UE_thread to call itti_send_msg_to_task with UE->Mod_id + NB_eNB_INST
        instead of INSTANCE_DEFAULT again
      
      This may break the softmodem UE, to be tested.
      The most problematic thing may be the synchronization.
      I don't think it will impact the processing at all,
      but I won't bet my shirt on it.
      ac7c0df5
    • Cedric Roux's avatar
      redo commit 58052152 · 7c11cf96
      Cedric Roux authored
      git show -p 58052152
      to see what it's about
      7c11cf96
    • Cedric Roux's avatar
      redo commit 157707b0 · 122953d9
      Cedric Roux authored
      git show 157707b0
      to see what it's about
      122953d9
    • Cedric Roux's avatar
      integration fix: restore enb.band7.tm1.usrpb210.conf · f58c7b1b
      Cedric Roux authored
      Many variables were changed that should not have been changed.
      f58c7b1b
    • Cedric Roux's avatar
      Revert "fix nettle" · 76574a1a
      Cedric Roux authored
      This reverts commit d31634c3.
      
      Laurent Thomas had a problem on one machine with the build_oai
      way of checking for nettle.
      
      The problem with the alternative solution of including nettle/bignum.h
      is that it is very unclear.
      
      The problem with nettle is that the file nettle/config.h does not
      exist for version 2. It was introduced in version 3.
      
      We want to support both versions, but there is an API incompatibility.
      So we need an #if #else mechanism.
      
      The file nettle/bignum.h is present in both versions 2 and 3 and it
      includes nettle/version.h in the version 3.
      
      So by including this file, we can check for the existence of
      NETTLE_VERSION_MAJOR (that comes from nettle/config.h) in the
      code.
      
      But as you can see, the reasoning is way too complex.
      
      So it's better to keep the check in cmake_targets/CMakeLists.txt.
      
      As long as we support version 2 this will be the way to go.
      
      It is possible to force a given version in specific non-generic
      customized environments.
      76574a1a
    • Gabriel's avatar
      Merge branch 'develop-realtime-lts' into develop_integration_w07 · eadcba95
      Gabriel authored
      Conflicts:
      	targets/RT/USER/lte-enb.c
      	targets/RT/USER/lte-softmodem.c
      	targets/RT/USER/lte-ue.c
      eadcba95
    • Cedric Roux's avatar
  2. 16 Feb, 2017 13 commits
  3. 15 Feb, 2017 3 commits
    • Cedric Roux's avatar
      bugfix: fix PDCP inst · 7d9945e8
      Cedric Roux authored
      This commit is a continuation of 614d6bbe
      (ue_ip: use correct instance).
      
      Now in openair2/NETWORK_DRIVER/UE_IP/common.c the 'inst' is not
      forced to 1 anymore, we take the value 'pdcph_p->inst'.
      
      It turns out that 'pdcph_p->inst' is 0 instead of 1 when we
      run lte-softmodem as an UE.
      
      So let's modify PDCP to set 'inst' to 1 where it was set to 0 for
      the UE softmodem case, and skip the places where it is reset to 0,
      still for the UE softmodem case.
      
      This may break things, I am not sure.
      7d9945e8
    • Cedric Roux's avatar
      bugfix: variable was on the stack · 7b36af05
      Cedric Roux authored
      Guess what happens when we return from the function...
      7b36af05
    • Florian Kaltenberger's avatar
  4. 14 Feb, 2017 10 commits
    • Bilel's avatar
      [OAI-UE] fix pucch format2 regression · bfa8a28c
      Bilel authored
      bfa8a28c
    • Thomas Laurent's avatar
      remove debug traces · 23c75476
      Thomas Laurent authored
      23c75476
    • Thomas Laurent's avatar
      gcc warning fix · d65d91dd
      Thomas Laurent authored
      d65d91dd
    • Cedric Roux's avatar
      cleanup lte-softmodem.c · f52a42ed
      Cedric Roux authored
      For whatever reason, lte-softmodem.c was totally messed up...
      
      We took the version from the branch develop and added
      abstraction_flag, which is needed in openair2/LAYER2/MAC/main.c
      (this is not clean, previous commit added a comment for this).
      This has to be cleaned at some point.
      f52a42ed
    • Gabriel's avatar
      UE logging, Replace LOG_I by LOG_D · 4ecdfa05
      Gabriel authored
      4ecdfa05
    • Cedric Roux's avatar
      minor: add a comment · 6c789a36
      Cedric Roux authored
      6c789a36
    • Cedric Roux's avatar
      fix build_oai · 09139ab0
      Cedric Roux authored
      - the option --UE was abused! Let's introduce --UE-conf-nvram and
        --UE-gen-nvram
      - the option name --UE-OUTPUT was not clear and is now replaced by
        --UE-gen-nvram
      - the new options are described when running ./build_oai -h
      - print_help has been modified (' replaced by ") to print
        $conf_nvram_path and $gen_nvram_path
      09139ab0
    • Gabriel's avatar
      Merge remote-tracking branch 'origin/tm4-fixes' into develop_integration_w07 · 2dc9dc03
      Gabriel authored
      Conflicts:
      	openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
      	openair1/PHY/LTE_TRANSPORT/power_control.c
      	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
      	targets/SIMU/USER/oaisim_functions.c
      2dc9dc03
    • Cedric Roux's avatar
      ue_ip: use correct instance · 614d6bbe
      Cedric Roux authored
      The problem was the following.
      
      Run oaisim with two UEs:
      
          sudo ../cmake_targets/oaisim_build_oai/build/oaisim -O enb.conf -u2 -s15 -AAWGN -y1 -b1 -Q0
      
      Then wait for both UEs to be connected. The interfaces "oip1" and "oip2" are
      activated, with IP addresses 192.172.0.2 for the first UE and 192.172.0.3 for
      the second.
      
      Then on the EPC machine, do:
      
          ping 192.172.0.3
      
      No reply.
      On the oaisim machine, we see that the packets are sent to "oip1" instead
      of "oip2".
      
      The fix may break softmodem UE. The inst was forced to "1" for some reason.
      To be checked.
      614d6bbe
    • Cedric Roux's avatar
      deal with empty subframes at UE side even in oaisim · f66f6e49
      Cedric Roux authored
      The memset was also too big. It should only clear
      one subframe.
      
      Only tested without abstraction.
      Abstraction does not work for the moment anyway, but just to
      keep that in mind.
      f66f6e49
  5. 13 Feb, 2017 4 commits
    • Gabriel's avatar
      [OAI-UE] fix ack/nack reporting on pusch · 9ecae183
      Gabriel authored
      9ecae183
    • Cedric Roux's avatar
      rewrite synchronisation in oaisim/channel simulation · b904ce79
      Cedric Roux authored
      The idea is as follows.
      
      oaisim waits for all tasks to be done for a TTI.
      To do so it waits for last_rx_timestamp == current_rx_timestamp,
      for all UEs and eNBs.
      
      When it's done, it increases current_rx_timestamp by samples_per_tti,
      to inform UEs and eNBs that a new TTI is ready.
      
      In the functions [UE|eNB]_trx_read, we wait for a new TTI to be ready,
      that is we wait for current_rx_timestamp != last_rx_timestamp.
      
      The UE has also to wait for processing threads to be done.
      In the eNB it's not necessary because the processing is all
      done in one thread, that is: read subframe, process this subframe,
      emit subframe+4, and then back to read subframe.
      
      The code is not clean. We should not use usleep but semaphores.
      
      Also, do_[DL|UL]_sig should not read from rxdata and write to txdata,
      but use internal buffers.
      
      The functions [UE|eNB]_trx_read should call do_[DL|UL]_sig and then
      copy from the internal buffers of the channel simulator into rxdata.
      
      The functions [UE|eNB]_trx_write should write data passed into the
      internal buffers of the channel simulator.
      b904ce79
    • Cedric Roux's avatar
      bugfix: eNB_id should have been UE_id · 14aa9678
      Cedric Roux authored
      14aa9678
    • Bilel's avatar
      58052152