1. 16 Feb, 2017 2 commits
    • Cedric Roux's avatar
      bugfix: fix PCDP inst (again) · 6397e66c
      Cedric Roux authored
      This commit follows 7d9945e8.
      
      lte-softmodem UE in S1 and lte-softmodem UE in noS1 modes behave
      differently here.
      
      This commit fixes the issue for thoses cases.
      
      Other cases (eNB S1, eNB noS1, oaisim S1/noS1) have to be checked.
      6397e66c
    • Cedric Roux's avatar
      fix UE default configuration file · 63c0ed70
      Cedric Roux authored
      - fix OPc key
      - clear EHPLMN_LIST, UE does not start the RA procedure when set
        to be fixed
      63c0ed70
  2. 15 Feb, 2017 2 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
  3. 14 Feb, 2017 5 commits
    • 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
    • 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
    • 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
  4. 13 Feb, 2017 2 commits
    • 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
  5. 09 Feb, 2017 6 commits
  6. 08 Feb, 2017 1 commit
    • Cedric Roux's avatar
      fix USE_MME compilation flag · 157707b0
      Cedric Roux authored
      We should use ENABLE_USE_MME, not USE_MME.
      This code is useless anyway (I think, not sure, that's why I
      leave it here), because the other threads wait for 'sync_var'
      to become >=0.
      157707b0
  7. 02 Feb, 2017 2 commits
    • Cedric Roux's avatar
      fix gen_emm_data · d72294b9
      Cedric Roux authored
      It was not setting emm_data->eplmn.plmn[X], only emm_data->eplmn.n_plmns,
      leading to the UE to dig for PLMN 00000.
      
      (It's not the end of the story, seems like the PLMN selection
      does not work, the UE only tries one from what I've seen, but
      I didn't dig much, may be wrong.)
      d72294b9
    • Cedric Roux's avatar
      better handle user input in hex_string_to_hex_value · ea6fb5c4
      Cedric Roux authored
      Adapt calling sites too.
      
      When data comes from the user, it is good to check that
      what we read is correct and warn the user if it's not.
      ea6fb5c4
  8. 01 Feb, 2017 1 commit
  9. 27 Jan, 2017 5 commits
    • Cedric Roux's avatar
      update license information · 53e416be
      Cedric Roux authored
      Also included some source files not related to this branch.
      
      	modified:   openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c
      	modified:   openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c
      	modified:   openair1/PHY/MODULATION/beamforming.c
      	modified:   openair1/PHY/TOOLS/twiddle18432.h
      	modified:   openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
      	modified:   openair3/NAS/TOOLS/nvram.c
      	modified:   openair3/NAS/TOOLS/usim.c
      	modified:   openair3/NAS/UE/user_defs.h
      53e416be
    • Cedric Roux's avatar
      update CMakeLists for ubuntu 16.04 · 106f3152
      Cedric Roux authored
      The previous version did not compile on ubuntu 16.04.
      I left the old version, commented, just in case.
      106f3152
    • Cedric Roux's avatar
      fix compilation of oaisim · f6e42ce9
      Cedric Roux authored
      That's not the end of the story though.
      f6e42ce9
    • Cedric Roux's avatar
      remove duplicated definitions · c62b54a0
      Cedric Roux authored
      I am not sure if it's the right way to solve the
      problem, so I keep the definitions here and
      put them inside #if 0 #endif
      c62b54a0
    • Cedric Roux's avatar
      add missing #ifndef #endif guards in header file · 1cd46a75
      Cedric Roux authored
      	modified:   targets/COMMON/openairinterface5g_limits.h
      1cd46a75
  10. 25 Jan, 2017 14 commits