1. 23 Oct, 2017 1 commit
  2. 23 Jun, 2017 1 commit
    • Cedric Roux's avatar
      fix: let run_enb_ue_virt_s1 work with "default" openair-cn · 9adfa48d
      Cedric Roux authored
      changes:
      - ue mcc/mnc 208.93
      - use correct key/opc for user
      - change addresses in conf file for them to be easier to understand
        (maybe)
      
      With those changes, running:
         sudo ./run_enb_ue_virt_s1
      in cmake_targets/tools should work out of the box
      
      The user still has to configure correct IP addresses in
      targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
      
      We supposed oaisim (enb+ue) machine to be on IP address 10.0.1.1
      and EPC (hss, mme, spgw) machine to be on IP address 10.0.1.2.
      9adfa48d
  3. 18 May, 2017 1 commit
    • Cedric Roux's avatar
      improve logging in oaisim · 5e323eef
      Cedric Roux authored
      - print current working directory
      - print git version (if available)
      - print security keys
        this last one is a security breach, but as of today
        it's not a problem
      5e323eef
  4. 23 Mar, 2017 1 commit
    • Cedric Roux's avatar
      fix issue 227 - UE IP settings disrupts realtime · cff91499
      Cedric Roux authored
      see #227
      
      When the UE connects to the eNodeB and receives its IP address from the
      network, it calls system() to set it in the linux kernel world. This call
      is not done in a realtime thread, but in the NAS, which uses its own thread,
      independent of the realtime processing.
      
      In some situations this totally disrupts realtime processing.
      
      It is difficult to know precisely why that happens, but it seems that calling
      fork(), as system() does, in a multi-threaded program is not a good idea. (So
      say several people on the internet.) It is not clear why the softmodem is
      impacted, but it seems that fork() is really what triggers the disruption.
      Several tests lead to that conclusion.
      
      To fix the problem, we create a child background process very early in main()
      (before anything else basically). Then instead of calling system(), the main
      process sends the string to the background process. The background process
      gets the string, passes it to system() and reports the success/failure back
      to the main process.
      
      This solution involves a lot of system calls, but calling system() in the
      first place is not cheap either. As long as no realtime thread uses this
      mechanism, things should be fine. Time will tell.
      cff91499
  5. 22 Mar, 2017 1 commit
  6. 20 Mar, 2017 1 commit
  7. 13 Mar, 2017 1 commit
  8. 08 Mar, 2017 4 commits
  9. 17 Feb, 2017 3 commits
    • Cedric Roux's avatar
      fix warnings: fix LOG_X problems when compiling lte-softmodem · 603c84c7
      Cedric Roux authored
      The compilation line was:
          ./build_oai --eNB -w USRP
      
      The file openairinterface5g/cmake_targets/log/lte-softmodem.Rel10.txt
      has been checked and all LOG_X (and 'msg') warnings have been fixed.
      603c84c7
    • Cedric Roux's avatar
    • 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
  10. 16 Feb, 2017 2 commits
    • Cedric Roux's avatar
      bugfix: make some functions thread safe · 9535e7a2
      Cedric Roux authored
      Those functions modify a global char array (a string).
      
      Let's pass a buffer to those functions, so that it's
      thread safe. The caller has been modified, with hopefully
      a buffer big enough (still bigger than what was there before,
      so should not break more than it did).
      9535e7a2
    • 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
  11. 15 Feb, 2017 1 commit
  12. 09 Feb, 2017 2 commits
  13. 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
  14. 01 Feb, 2017 1 commit
  15. 30 Jan, 2017 1 commit
  16. 27 Jan, 2017 3 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
      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
  17. 25 Jan, 2017 14 commits