1. 19 Mar, 2018 1 commit
    • Cedric Roux's avatar
      bugfix: send UL NACK (on PHICH) at the right place · d3938147
      Cedric Roux authored
      The PHICH was not programmed for the last round (4) because it was
      not programmed in rx_sdu but in schedule_ulsch_rnti, only in case
      of a programmed retransmission (there is obviously no retransmission
      programmed after the last round).
      
      The case of Msg3 is not handled. To be done somehow.
      d3938147
  2. 15 Mar, 2018 1 commit
  3. 09 Mar, 2018 3 commits
  4. 08 Mar, 2018 2 commits
    • oai's avatar
      more NB-IoT integration · da50d68b
      oai authored
      da50d68b
    • 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
  5. 02 Mar, 2018 1 commit
    • Cedric Roux's avatar
      hotfix: fix bad RLC UM packet creation · 26d68e9c
      Cedric Roux authored
      Running TCP DL traffic with one connected UE showed a lot of
      fluctuations in throughput. After analysis it was found that
      sometimes the RLC UM PDU was not correct. It contained one byte
      more than it should. On the receiver side, the TCP packet
      contained in the RLC packet seems to be rejected by the TCP
      stack of the UE (it has one byte more than it should),
      leading to a brutal reduction of the throughput, probably due
      to some congestion detection in the TCP implementation.
      Or something.
      
      This hotfix seems to solve the problem. Using iperf in downlink
      with a 5MHz eNB, we see no more fluctuations, the traffic is
      very steady at 16.8Mb/s, as reported by the iperf server running
      on the phone. (17.5 in the PHY plot of the T tracer.)
      
      A rewrite of both the MAC and RLC UM packet generation is needed.
      The code is way too complex for what it does and may contain
      several similar problems that only trigger in specific rare
      conditions.
      26d68e9c
  6. 22 Feb, 2018 4 commits
  7. 20 Feb, 2018 1 commit
  8. 19 Feb, 2018 1 commit
  9. 16 Feb, 2018 1 commit
    • Cedric Roux's avatar
      bugfix: fix bad conflict resolutions from previous commits · 2d6dd02b
      Cedric Roux authored
      Some more fixes for some bad conflict resolutions.
      
      I ran:
      
          git diff 2018.w04 2018.w05
      
      And saw some problems with config_sib2.
      
      There was also something strange in openair2/LAYER2/openair2_proc.c
      in the function dump_eNB_l2_stats. Maybe the fix is wrong for
      this one. To be checked.
      2d6dd02b
  10. 15 Feb, 2018 1 commit
    • Cedric Roux's avatar
      integration fix: set default max MCS for UL back to 20 · c0be5a12
      Cedric Roux authored
      Doing an iperf UDP uplink test, we could reach only 6Mb/s
      with very good radio conditions instead of around 8Mb/s.
      
      It turns out the MCS was limited to 16.
      
      With this commit, we are back to a bit more than 8Mb/s
      as it used to be.
      
      (This is with a 5MHz bandwidth.)
      c0be5a12
  11. 14 Feb, 2018 2 commits
    • Cedric Roux's avatar
      fixup previous bad merge (UE disconnection did not work properly anymore) · 91332d39
      Cedric Roux authored
      Doing airplane mode off to connect a cots UE followed by airplane mode on
      to disconnect it gives very bad results (bad disconnection with lots of
      UL failures followed by lots of logs in the eNB). It used to work properly
      after the work done by Xu Bo.
      
      It turns out that in 2018.w04 things were still working okay. But
      in 2018.w05 no.
      
      So I ran:
      
          git diff 2018.w04 2018.w05
      
      And I checked all the modifications that I thought were relevant
      (everything related to the UE, oaisim, if4 and fapi has not been checked).
      
      This commits takes back the version of 2018.w04.
      
      The modifications in openair2/RRC/LITE/rrc_eNB.c are necessary, I think.
      
      The other modifications may not be necessary or even wrong. To be checked
      at some point.
      91332d39
    • Niccolò Iardella's avatar
      Niccolo: Add sorting policy · 7e3b1f5d
      Niccolò Iardella authored
      7e3b1f5d
  12. 13 Feb, 2018 4 commits
  13. 12 Feb, 2018 7 commits
  14. 09 Feb, 2018 1 commit
  15. 07 Feb, 2018 2 commits
    • Cedric Roux's avatar
      bugfix: don't take into account report CQI in case of NACK or DTX · c0bcd786
      Cedric Roux authored
      The problem that may happen is that when the UE does not transmit
      on PUCCH (for whatever reason) we may get no signal at all, and
      thus compute a very low CQI. Later on we may ask the UE to transmit
      louder which may lead to saturation and more problems.
      
      The solution is simple: don't care about CQI in case of DTX
      (and NACK also, as done for PUSCH).
      
      Only FDD case done.
      For TDD it seems that:
      - nfapi structures are not correct. See nfapi_harq_indication_tdd_rel13_t
        in nfapi/open-nFAPI/nfapi/public_inc/nfapi_interface.h, all the cases
        (bundling, multiplex, ...) use nfapi_harq_indication_tdd_harq_data_t
      - the function extract_harq does not handle TDD
      c0bcd786
    • Cedric Roux's avatar
      minor: fix AssertFatal · 9b7364a3
      Cedric Roux authored
      9b7364a3
  16. 06 Feb, 2018 1 commit
    • Cedric Roux's avatar
      bugfix: fix UL over scheduling · eccb96c4
      Cedric Roux authored
      There is too much UL scheduling because the buffer status is
      overestimated.
      
      This commit tries to make things simpler.
      eccb96c4
  17. 05 Feb, 2018 1 commit
  18. 03 Feb, 2018 2 commits
  19. 31 Jan, 2018 4 commits