1. 18 Nov, 2019 3 commits
    • Cedric Roux's avatar
      channel_simulator: improve performances of remote eNB · 939aee9a
      Cedric Roux authored
      This commit improves performances by changing the processing
      in libchannel_simulator.so.
      
      The ultimate goal is to run x2 handover with a real UE and a single
      physical device. For that we need to run two eNBs, which requires a
      remote computer. The processing as done before this commit was badly
      using the network link between the two machines, killing realtime.
      
      This commit introduces a TX thread to cut the "read, write, read, write"
      loop of before. This loop led to a maximum throughput of 90 Mb/s
      (sum of RX and TX, which are each 45 Mb/s) on a test environment.
      But for 25 RBs we need around 500 Mb/s for realtime.
      
      The problem, I think, is that there is some latency when sending and
      receiving data to the network device. This is not a problem of TCP
      (apart from the NODELAY thing). Doing "read, write, read, write"
      with an UDP socket led to the same bad throughput. Also, we don't
      send a full subframe at a time, but only 512 samples, which may lead
      to more latency (sending full subframes was not tested).
      
      On the test environment, just running the eNB and the channel_simulator
      we reach 740 Mb/s with this commit (the link is a direct connection
      of two machines with 1Gb ethernet; on one machine it's a 'native'
      ethernet port, on the other an USB 3 <-> ethernet adapter is used;
      running uplink and downlink iperf and bwm-ng to monitor network, we
      see the link can do 2 Gb/s cumulated).
      
      The UE does not work anymore with this commit because we require
      some TX all the time. It has also not been tested with TDD mode,
      only FDD.
      
      Later commits may solve these problems.
      939aee9a
    • Cedric Roux's avatar
      channel_simulator: ability to connect a real USRP device to the simulator · e793a677
      Cedric Roux authored
      This commit introduces the ability to connect a real hardware device to
      the channel simulator.
      
      It is possible to run an eNB with the libchannel_simulator.so as
      liboai_device.so and the "usrp" program and have both connected
      as if the eNB was directly talking to the USRP device.
      
      For that, a channel can now have a "sample_advance". (The USRP receives
      data from the air for subframe N and sends data for subframe N+x in the
      future. In this commit x = 2 subframes.)
      
      The following commands can be run to connect an eNB and the "usrp"
      program in FDD mode with 25 RBs.
      
      First, run the the channel simulator. In the directory channel_simulator:
      
          ./channel_simulator
      
      To run usrp, as root, in the directory channel_simulator/usrp:
      
          ./usrp
      
      To run the eNB, as root:
      
          CHANNEL_SIMULATOR_RX_FREQUENCY=2 CHANNEL_SIMULATOR_TX_FREQUENCY=1 CHANNEL_SIMULATOR_TX_SAMPLE_ADVANCE=15360 ./lte-softmodem -O [config file]
      
      Then it is possible to connect a COTS UE.
      
      It is also possible to connect openair UE which uses libchannel_simulator.so
      as liboai_device.so. For that, run, as root:
      
          CHANNEL_SIMULATOR_RX_FREQUENCY=1 CHANNEL_SIMULATOR_TX_FREQUENCY=2 CHANNEL_SIMULATOR_RX_SAMPLE_ADVANCE=15360 ./lte-uesoftmodem -C 2680000000 -r 25 --ue-rxgain 140 --nokrnmod
      
      Connecting both the openair UE and a COTS UE, it is possible to send traffic
      between the two.
      
      Note: performances need to be improved.
      
      Note 2: the program "channel_simulator" now requires AVX2 instruction set.
      e793a677
    • Cedric Roux's avatar
      channel_simulator: initial commit · b2326516
      Cedric Roux authored
      b2326516
  2. 11 Oct, 2019 4 commits
  3. 08 Oct, 2019 5 commits
  4. 04 Oct, 2019 1 commit
  5. 03 Oct, 2019 1 commit
  6. 27 Sep, 2019 1 commit
  7. 26 Sep, 2019 1 commit
  8. 25 Sep, 2019 1 commit
  9. 24 Sep, 2019 1 commit
  10. 20 Sep, 2019 1 commit
    • Raphael Defosseux's avatar
      CI: first scripts for Inria R2LAB deployment · c86f8d65
      Raphael Defosseux authored
        -- Adding the python framework of build and test to inria r2lab pipeline
        -- R2LAB pipeline has logCollections and artifacts storing
        -- Python framework should support latest Rel14 OAI openair-cn/cn-cups EPC
        -- Pipeline uses the latest version of booking-lease script (by duration)
        -- Support for distributed smartphone adb servers
        -- Initial scenarios:
           ** Build on one OAI 4G eNB and one OAI 4G UE
           ** Test in FDD band7 / 5MHz / TM1 in noS1 configuration
           ** Test in FDD band7 / 5MHz / TM1 with latest OpenAir-CN-CUPS --> just attachment
      Signed-off-by: default avatarRaphael Defosseux <raphael.defosseux@eurecom.fr>
      c86f8d65
  11. 05 Sep, 2019 1 commit
  12. 03 Sep, 2019 6 commits
  13. 26 Aug, 2019 3 commits
  14. 23 Aug, 2019 1 commit
  15. 21 Aug, 2019 3 commits
  16. 13 Aug, 2019 6 commits
  17. 12 Aug, 2019 1 commit