1. 09 Mar, 2018 8 commits
    • Cedric Roux's avatar
      Merge remote-tracking branch 'origin/develop_integration_2018_w10' into develop · e56ae69b
      Cedric Roux authored
      Summary of changes:
      - bug fix in the FlexRAN API (correct a check)
      - bug fix for sending the right RNTI in a FlexRAN message
      - fixes small bug in ulsim which kills one RX antenna in channel simulation.
        Another simple but bad bug in ulsch_demodulation.c (bad access of avgU
        array). This probably resulted in a performance degradation for non-ideal
        channels, even for 1 antenna. The avgU was read in position 1 instead of
        0 for 1-antenna and in positions 1 and 2 instead of 0 and 1 for 2-antennas.
      - work from Nokia:
          1) shared library loader, with integration for oai devices, encoder and telnet server
          2) telnet server (use build-oai --build-telnetsrv option and --telnetsrv softmodem option)
          3) UE/eNB in different executables (lte-uesoftmodem and lte-softmodem + noS1 variants)
          4) config module fixes and extensions
          5) very preliminary NB-IoT integration preparation, using shared lib loader ( use make NB-IoT to build, after building the eNB softmodem)
          6) Rename NB-IoT configuration sources from nbiot_ to NB-IoT_ to be consistent with other NB-IoT developments.
      - various bugs fixed:
        - try to avoid "buffer full" problem when pushing DL traffic
        - add a stop_rf function in the RU
        - cleanup - remove unnecessary calls to get_cpu_freq_GHz
          (was disrupting realtime at startup, generating lots of UU and LL)
        - cleanup MAC PDU generation
      
      Compilation with Rel10 is not functional anymore.
      Compilation of unitary simulator is not functional anymore.
      e56ae69b
    • Cedric Roux's avatar
      integration fix: fix file format (dos2unix) · e7cfe377
      Cedric Roux authored
      End of line character has to be unix-style, not dos-style.
      e7cfe377
    • Cedric Roux's avatar
      integration fix: fix license version to 1.1 · 92bb82eb
      Cedric Roux authored
      92bb82eb
    • Cedric Roux's avatar
      Merge remote-tracking branch 'origin/fixes-flexran' into develop_integration_2018_w10 · cd103f7c
      Cedric Roux authored
      * bug fix in the FlexRAN API (correct a check)
      * bug fix for sending the right RNTI in a FlexRAN message
      cd103f7c
    • Cedric Roux's avatar
    • Cedric Roux's avatar
      Merge remote-tracking branch 'origin/ulsch-rx-2ant-fix' into develop_integration_2018_w10 · 727e29e3
      Cedric Roux authored
      fixes small bug in ulsim which kills one RX antenna in channel simulation.
      Another simple but bad bug in ulsch_demodulation.c (bad access of avgU
      array). This probably resulted in a performance degradation for non-ideal
      channels, even for 1 antenna. The avgU was read in position 1 instead of
      0 for 1-antenna and in positions 1 and 2 instead of 0 and 1 for 2-antennas.
      727e29e3
    • Cedric Roux's avatar
      Merge remote-tracking branch 'origin/develop-nbiotconf-shlibloader' into… · 3e99c7aa
      Cedric Roux authored
      Merge remote-tracking branch 'origin/develop-nbiotconf-shlibloader' into develop_integration_2018_w10
      
      1) shared library loader, with integration for oai devices, encoder and telnet server
      2) telnet server (use build-oai --build-telnetsrv option and --telnetsrv softmodem option)
      3) UE/eNB in different executables (lte-uesoftmodem and lte-softmodem + noS1 variants)
      4) config module fixes and extensions
      5) very preliminary NB-IoT integration preparation, using shared lib loader ( use make NB-IoT to build, after building the eNB softmodem)
      6) Rename NB-IoT configuration sources from nbiot_ to NB-IoT_ to be consistent with other NB-IoT developments.
      3e99c7aa
    • 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
  2. 08 Mar, 2018 6 commits
    • oai's avatar
      more NB-IoT integration · da50d68b
      oai authored
      da50d68b
    • oai's avatar
    • oai's avatar
    • Cedric Roux's avatar
      add a stop_rf function in the RU · 96380582
      Cedric Roux authored
      When the program exits it has to stop the streaming of the USRP.
      The function exit_fun is supposed to do that. When quitting with
      control+c (very common case) this function is not called. The
      code is very unclear there, so let's add a stop_rf in the RU,
      as there is already a start_rf.
      
      If we don't call trx_end_func, then at the next run the USRP
      device may be in an unstable state and behave improperly.
      
      If the program crashes then the USRP device may be in an
      unstable state. The only solution to this problem is to reset
      the USRP device.
      
      Maybe there is a way to clean the state of the device when we
      open it, before we start using it. Sort of a cleanup before
      use. That could be a better solution to "bad state after program
      crash".
      
      What has been tested:
      - monolithic eNB only
      96380582
    • Cedric Roux's avatar
      cleanup - remove unnecessary calls to get_cpu_freq_GHz · 5a61f994
      Cedric Roux authored
      The one in lte-enb.c disrupts the realtime. Using a B200mini with
      20MHz bandwidth leads to the UE unable to connect for it seesms like
      the UL and DL are not properly time synched because of this sleep
      of one second that happens after the USRP streaming has started.
      We see some random access attempts but the decoded preamble is
      wrong.
      
      This may be dependant on the setup. I had sporadic errors with
      a B210, where sometimes the UE could connect and sometimes not.
      5a61f994
    • Cedric Roux's avatar
      cleanup MAC PDU generation (plus some general cleanup) · 1a8d81ba
      Cedric Roux authored
      The code was very unclear and potentially buggy.
      This new version is more robust.
      
      We can waste up to 2 bytes because the last header in the MAC PDU
      does not contain a length field and when we request data from RLC
      we suppose a 3-bytes MAC header. This might be optimized at some
      point, but the benefit would be low.
      
      This commit also contains some general cleanup:
      - formatting
      - variables' types: let's use 'int' instead of trying to be clever
        by using small types that may generate bugs if the value is
        too big
      - remove 'tpc_accumulated' which was globally used for all UEs
        and has no purpose other than logging. We may want to rework
        a bit the TPC machinery at some point. As the code is today
        we may repeatedly send TPC over and over without caring about
        the 3GPP limits, in which case no one knows how the UE is
        supposed to behave: does it clamp the current max value or does
        it accumulate over and over and take the clamped value to compute
        its actual power? If we send a reverse TPC (reduce power instead
        of increase) does it do it immediately or does it have to decrease
        n+1 times if we previously ordered it to increase n times?)
      
      We do not address the problem of prioritizing LCIDs. As of today there
      is only one dedicated traffic channel (DTCH), so it's not a problem
      at this point.
      
      What has been tested:
      - monolithic eNB 5/10/20MHz with one cots UE, TCP/UDP UL/DL. At 20MHz the
        machine used was not capable of keeping up, generating lots of Us
        and Ls when the throughput reaches 60Mb/s. USRP B210 was used.
      1a8d81ba
  3. 07 Mar, 2018 1 commit
  4. 06 Mar, 2018 1 commit
  5. 02 Mar, 2018 5 commits
  6. 01 Mar, 2018 1 commit
  7. 26 Feb, 2018 2 commits
  8. 22 Feb, 2018 13 commits
  9. 20 Feb, 2018 1 commit
  10. 19 Feb, 2018 2 commits