Skip to content
Snippets Groups Projects
  1. May 16, 2018
  2. Mar 27, 2018
  3. Mar 23, 2018
    • Cedric Roux's avatar
      bugfix: fix a memory leak · 3a0d9339
      Cedric Roux authored
      When doing TCP downlink traffic with iperf for several
      hours, the memory consumption of lte-softmodem does not
      stop to grow.
      
      After analysis, this commit seems to be the only fix needed.
      To be checked somehow.
      3a0d9339
  4. Mar 09, 2018
    • Cedric Roux's avatar
      hack: try to avoid "buffer full" problem when pushing DL traffic · 71e7f971
      Cedric Roux authored
      This is hack-level development.
      
      With this commit you can do UDP DL traffic of say 100Mb/s over
      a 5MHz link with one connected UE and the eNB should not crash
      because of memory exhaustion. Of course on the receiver side
      you won't get 100Mb/s and many many lost packets. But the system
      should not crash. 1Gb/s does not work. So in any case try to
      remain within some reasonable limits. There is no reason to
      push more than twice the maximum achievable throughput of
      the link.
      
      This work is based on a patch proposed by Francesco Gringoli.
      71e7f971
  5. Mar 08, 2018
  6. Feb 05, 2018
    • Cedric Roux's avatar
      bugfix: fix initialUEMessage criticality · f55cbe47
      Cedric Roux authored
      S1AP specs say:
      
          initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
              INITIATING MESSAGE      InitialUEMessage
              PROCEDURE CODE          id-initialUEMessage
              CRITICALITY             ignore
          }
      
      So let's use "ignore", not "reject".
      
      The online decoder http://asn1-playground.oss.com/ did
      not decode a message encoded by the eNB because of this.
      
      Only the S1AP messages captured while doing a simple connection
      of one UE have been tested with the online decoder.
      
      So, not all the S1AP messages have been checked, maybe some
      instances of this problem are still there.
      
      It does not seem to harm the actual UE<->eNB<->EPC communication
      (because we don't check the integrity of messages or because
      asn1c does not do it), so it's not a big deal.
      f55cbe47
  7. Jan 16, 2018
  8. Jan 15, 2018
    • bruno mongazon's avatar
      Fix #582, RTAI, RTAI_ENABLED, ENABLE_RTAI_CLOCK, RTAI_ISNT_POSIX,... · cf0e9175
      bruno mongazon authored
      Fix #582, RTAI, RTAI_ENABLED, ENABLE_RTAI_CLOCK, RTAI_ISNT_POSIX, _RTAI_MATH_H, CELLULAR, TIMER_ONESHOT_MODE, EMOS, EMOS_CHANNEL, OAI_EMU, OPENAIR_EMU, PHY_ABSTRACTION, PHY_ABSTRACTION_UL removed
      cf0e9175
    • Cedric Roux's avatar
      import NFAPI work from David Price from Cisco (non-working commit, do not use it) · 7757b9e7
      Cedric Roux authored
      It has been chosen to not include the full history of commits
      from David. He included a binary version of wireshark, probably
      a modified one that understands NFAPI. Wireshark is released under
      the GPL license, we cannot include it in the repository. We could
      have done a next commit to remove this binary. But then it would
      still be present in the history of commits, which may not be allowed.
      And it would take space on disk. We could edit the history to remove
      wireshark entirely. But this operation is too complicated.
      
      There was also a pcap capture file, which has nothing to do in
      the history of commits and would take space on disk. There again,
      it's too difficult to edit the history to remove it.
      
      There was a file .gitignore that was also removed.
      
      The original history can be found on David's repository:
      https://gitlab.eurecom.fr/daveprice/openairinterface5g/
      The branch is: nfapi-ru-rau-split.
      
      A copy of that branch has been included in the internal OAI
      repository, for those who have access to it.
      The branch is the same. The last commit ID is
      9106438239e0bc626ff1fa1d97d911caadd0fbb9.
      
      You can compare the current commit with the commit 9106...
      to see what differs.
      
      The current commit has to be considered non-working.
      The commit following the current commit will fix problems with
      the work in the current commit.
      
      If you use git bisect, don't spend time analyzing the current
      commit.
      7757b9e7
  9. Jan 08, 2018
  10. Dec 14, 2017
  11. Nov 27, 2017
  12. Oct 23, 2017
  13. Oct 19, 2017
    • Cedric Roux's avatar
      remove gcc warnings · f1e8bff3
      Cedric Roux authored
      phy_init_lte_ue_signal was renamed init_lte_ue_signal in openair1/PHY/INIT/defs.h
      maybe it's the opposite that should have been done?
      
      Functions used in one file and defined in another may have been
      declared in the wrong header file.
      f1e8bff3
  14. Sep 28, 2017
  15. Aug 10, 2017
  16. Jul 19, 2017
  17. Jun 23, 2017
    • 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
  18. May 18, 2017
    • 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
  19. Apr 17, 2017
  20. Mar 23, 2017
    • Cedric Roux's avatar
      fix issue 227 - UE IP settings disrupts realtime · cff91499
      Cedric Roux authored
      see https://gitlab.eurecom.fr/oai/openairinterface5g/issues/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
  21. Mar 22, 2017
  22. Mar 20, 2017
  23. Mar 13, 2017
  24. Mar 08, 2017
  25. Feb 17, 2017
    • 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
  26. Feb 16, 2017
    • 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
  27. Feb 15, 2017
  28. Feb 09, 2017
  29. Feb 02, 2017
    • 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
  30. Feb 01, 2017
  31. Jan 30, 2017
Loading