Skip to content
Snippets Groups Projects
  1. Apr 16, 2018
    • Bi-Ruei, Chiu's avatar
      Compare version number using MAKE_VERSION macro to provide better SW configuration: · 5c23af77
      Bi-Ruei, Chiu authored
      1. Previous SW configuration for different RRC version relies on whether macro Rel10,
         Rel14 defined or not by checking #ifdef Rel14 or #if defined(Rel10) || defined(R14).
         Whenever there is a newer RRC version, e.g. Rel15, it will be very a tedious and
         error-prone job to add defined(Rel15) in every place.
      
      2. Some RRC messages are defined in release 13 instead of release 14, NB-IoT
         feature is one of such example. Our code shall reflect this fact instead of using
         an afterward version number in software configuration.
      
      3. Some RRC messages or some fields of certain RRC messages are added in the middle
         a release, e.g. SystemInformationBlockType1_v1310_IEs_t defined in RRC 13.1.0
         and RRC 9.2.0 made some changes to SIB12 and SIB13 so we have sib12_v920 and
         sib13_v920 fields in SIB12 and SIB13's struct.
         We need a finer grain of control when using ASN1 from different RRC version.
      
      4. S1AP also has this problem that it use UPDATE_RELEASE_9 and UPDATE_RELEASE_10 to
         differentiate between various S1AP version.
      
      This commit propose using MAKE_VERSION(x,y,z) to designate the version number and
      modify current conditional compilation accordingly.
      
      Note: 2018/04/16, Modified based on Cedric's comment.
      5c23af77
  2. Apr 12, 2018
  3. Apr 06, 2018
  4. Apr 05, 2018
  5. Mar 23, 2018
  6. Mar 22, 2018
  7. Mar 20, 2018
  8. Mar 19, 2018
    • 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
  9. Mar 15, 2018
  10. Mar 14, 2018
  11. Mar 09, 2018
  12. Mar 08, 2018
    • oai's avatar
      more NB-IoT integration · da50d68b
      oai authored
      da50d68b
    • oai's avatar
    • oai's avatar
    • 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
  13. Mar 05, 2018
  14. Mar 02, 2018
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      8cace653
    • 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
  15. Mar 01, 2018
  16. Feb 22, 2018
  17. Feb 21, 2018
  18. Feb 20, 2018
  19. Feb 19, 2018
Loading