Commit Graph
7078 Commits
Author SHA1 Message Date
WEI-TAI CHEN c4e0f47570 upload RRC file 2018-04-13 01:52:05 -07:00
WEI-TAI CHEN 0339b49bdf RRC .ans1 file and test asn1c 2018-04-13 01:37:04 -07:00
Florian Kaltenberger b61e800764 adding LDPC encoder and decoder (from mwc18 branch) 2018-04-09 13:10:17 -07:00
Florian Kaltenberger 4b0a1c06c7 Merge branch 'nr_initialsync' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr_initialsync 2018-04-09 12:45:26 -07:00
Guy De Souza 20fa442b23 gNB Tx procedure 2018-04-09 17:29:55 +02:00
Florian Kaltenberger a413f12d9c adding support for bandwidths 40 and 80 MHz to usrp_lib and rru 2018-04-09 08:07:52 -07:00
Florian Kaltenberger dc30b30bf7 Merge branch 'nr_initialsync' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr_initialsync 2018-04-09 05:48:04 -07:00
Guy De Souza 1b68a4f270 NR exe update(compiling) 2018-04-09 14:42:32 +02:00
Florian Kaltenberger c2aabeaabf Merge branch 'nr_initialsync' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr_initialsync 2018-04-06 01:28:32 -07:00
root 6f290e7125 UE add RF board ZC706+AD9371
Conflicts:
	cmake_targets/build_oai
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/SCHED/phy_procedures_lte_ue.c
	targets/ARCH/COMMON/common_lib.h
	targets/RT/USER/lte-softmodem.c
2018-04-06 01:28:22 -07:00
Guy De Souza 7b524674c6 Intermediate commit/ Not working(defs issue) 2018-04-05 16:48:26 +02:00
Guy De Souza a18969824b nfapi nr extension update 2018-04-02 14:48:17 +02:00
Guy De Souza d7ab43cee5 NR_PSS/NR_SSS 2018-04-02 14:08:52 +02:00
Guy De Souza c4fd4dcab3 nfapi extension/ test nr-softmodem 2018-03-27 13:52:16 +02:00
Guy De Souza e88abf27c2 3/4 sampling for 80MHz / Max ofdm size 4096 2018-03-22 16:27:30 +01:00
Guy De Souza 8d953b0952 Frame parms init 30kHz-106/217 PRB 2018-03-22 15:20:05 +01:00
Guy De Souza 2fe84d937c Build folder change/ NR exec 2018-03-22 11:03:32 +01:00
Guy De Souza e8282dc406 Build_oai changes for NR 2018-03-21 17:09:28 +01:00
Guy De Souza 2c83775087 Fix CMakeLists.txt for lte-uesoftmodem 2018-03-21 15:08:01 +01:00
Guy De Souza 8824d20cd3 Fix CMakeLists.txt for lte-softmodem 2018-03-21 11:34:08 +01:00
Raymond Knopp dad93fe297 SCHED_NBIOT directory 2018-03-19 01:38:45 -07:00
Raymond Knopp 6d2158f37a added SCHED_NR directories 2018-03-19 01:34:57 -07:00
Raymond Knopp ece0996946 added readme for NR_REFSIG directory 2018-03-19 01:24:55 -07:00
Raymond Knopp bf13e67b55 added README files to NBIoT/NR directories so they appear in gitlab 2018-03-19 01:23:34 -07:00
Raymond Knopp fe95f0f478 created new directories for NBIoT and NR and split eNB/gNB/UE 2018-03-19 01:13:12 -07:00
Raymond Knopp d943cd281d initial split of UE/eNB directories 2018-03-13 01:17:10 -07:00
Raymond Knopp 6295e57331 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2018-03-13 00:06:42 -07:00
Cedric Roux e56ae69bc3 Merge remote-tracking branch 'origin/develop_integration_2018_w10' into develop
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.
2018-03-09 16:47:08 +01:00
Cedric Roux e7cfe377db integration fix: fix file format (dos2unix)
End of line character has to be unix-style, not dos-style.
2018-03-09 16:43:08 +01:00
Cedric Roux 92bb82eb2b integration fix: fix license version to 1.1 2018-03-09 16:40:09 +01:00
Cedric Roux cd103f7c3d Merge remote-tracking branch 'origin/fixes-flexran' into develop_integration_2018_w10
* bug fix in the FlexRAN API (correct a check)
* bug fix for sending the right RNTI in a FlexRAN message
2018-03-09 14:58:51 +01:00
Cedric Roux 00f234029a Merge remote-tracking branch 'origin/bugfixes-2018-w10' into develop_integration_2018_w10 2018-03-09 14:58:37 +01:00
Cedric Roux 727e29e3c0 Merge remote-tracking branch 'origin/ulsch-rx-2ant-fix' into develop_integration_2018_w10
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.
2018-03-09 14:57:32 +01:00
Cedric Roux 3e99c7aa97 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.
2018-03-09 14:56:18 +01:00
Cedric Roux 71e7f9713a hack: try to avoid "buffer full" problem when pushing DL traffic
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.
2018-03-09 10:18:12 +01:00
oai da50d68b06 more NB-IoT integration 2018-03-08 17:35:35 +01:00
oai b04f3b54a4 introduce distinct executables for ue and eNodeB (lte-uesoftmodem, lte-softmodem) 2018-03-08 17:29:34 +01:00
oai 45302792ee config module fix and extensions for Nb-IoT, shared lib loader and telnet server implementation 2018-03-08 17:24:23 +01:00
Cedric Roux 963805820c add a stop_rf function in the RU
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
2018-03-08 10:29:28 +01:00
Cedric Roux 5a61f9944c cleanup - remove unnecessary calls to get_cpu_freq_GHz
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.
2018-03-08 10:11:09 +01:00
Cedric Roux 1a8d81ba57 cleanup MAC PDU generation (plus some general cleanup)
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.
2018-03-08 10:04:18 +01:00
Raymond Knopp 957cdbab48 fixes bug in ulsim for 2 antenna RX. 2018-03-07 01:26:04 +01:00
Raymond Knopp bcaabe513f bugfix on access of avgU array 2018-03-06 23:32:51 +01:00
Robert Schmidt 4924b18ebd FlexRAN: send RNTI in protobuf mac_stats_reply message 2018-03-02 17:36:43 +01:00
Robert Schmidt 8cace6537e correctly check for MAC presence in FlexRAN RAN API 2018-03-02 17:36:43 +01:00
Cedric Roux 307e2f299a Merge remote-tracking branch 'origin/hotfix-rlc-2018-w09' into develop 2018-03-02 15:29:36 +01:00
Cedric Roux 2f8dc35583 Merge remote-tracking branch 'origin/fix-unnecessary-decl' into develop 2018-03-02 15:29:10 +01:00
Cedric Roux 26d68e9c5e hotfix: fix bad RLC UM packet creation
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.
2018-03-02 12:02:06 +01:00
Robert Schmidt 7d8d1588c3 remove unnecessary function declaration
has been introduced in commit 365ca71a4a
2018-03-01 09:04:41 +01:00
Cedric Roux 6858b55c60 Merge remote-tracking branch 'origin/develop_integration_2018_w08' into develop
Summary of changes:
- fix dlsim/ulsim
- fix centOS compilation
- Move the accounting phase of the DL pre-processor in a separate procedure
  and fix some issues
- additional Mac stats and Improvements
- minor fix in test setup v2
2018-02-26 11:43:27 +01:00