Commit Graph
6599 Commits
Author SHA1 Message Date
Raymond Knopp b219be2e6d added RRU configuration file and more L2 cleanup 2017-08-10 07:56:30 -07:00
Cedric Roux 17b9a9e917 hotfix: protobuf-c compilation failure
protobuf-c does not compile anymore.

Let's handle this a bit better.

We now install protobuf and protobuf-c only for the
flexran agent. That is, if you want to use the flexran
agent, you need to install protobuf/protobuf-c and
you do it this way:

  ./build_oai -I -a

(you add -a)

Other targets don't need protobuf nor protobuf-c, so
it's not installed by the -I command of build_oai,
unless you pass -a with -I.

Also, we now use protobuf 3.3.0, not 2.6.1. The code
has been adapted, a quick test seems to indicate that
the system works, but it has not been intensively tested.
2017-08-08 09:58:36 +02:00
Raymond Knopp ad98f5aa9e L1/L2 scheduling extensions for BL/CE operation, BR random-access procedure, BR PRACH detection. Still untested, but compilation succeeds. Missing elements in L2 - PUSCH programming for Msg3, Msg4 retransmission programming for BL/CE. DLSCH/ULSCH programming for UE-specific DLSCH/ULSCH for BL/CE 2017-08-07 23:25:17 -07:00
Cedric Roux 309ca06685 fix vcd
several problems were present:
- there was no comma after "ue0_trx_write_ns_missing" in the array
  eurecomVariablesNames;
  comma was put, and also commas for the last element in the array,
  which doesn't hurt and will prevent future problems
- bad order of values in eurecomVariablesNames, which
  was different from the enum vcd_signal_dump_variables;
  order was checked and fixed
- strange/wrong use of VCD_SIGNAL_DUMPER_MODULE_END/LAST;
  the whole logic was removed/simplified
2017-08-07 10:41:37 +02:00
Cedric Roux f7466b0e1a Merge branch 'develop_integration_w30' into 'develop'
Summary of changes:
- UE: new thread idx
- UE: Pdcch optim
- UE: slot0 slot1 parallelization
- bugfixes for RLC AM (see gitlab issue 250)
- fix bug "unknown UE_id for rnti"

Note: due to the new UE threading architecture,
oaisim and the phy simulators may not work properly
anymore. Adaptation in the code has been done, automatic
tests seem to pass, but it may not be enough.

See merge request !215
2017-08-03 12:23:24 +02:00
Cedric Roux 2fbb26789f remove gcc warning when compiling oaisim 2017-08-03 11:51:43 +02:00
Cedric Roux ebc8cbf4e0 fix oaisim (ue structures changed) 2017-08-03 11:51:16 +02:00
Cedric Roux 8633d6c2df remove compilation warnings 2017-08-03 10:40:04 +02:00
Cedric Roux 9e4f700aae bugfix for phy simulators (not sure if enough)
With the new threading architecture of the UE dlsim
(and others) does not work properly anymore.

When looking at the scope, you see a difference
in PDSCH LLR display. The end is always 0 where
in the current develop branch (tag 2017.w25) it's not.

This commit attempts to fix it.

We still don't have the same behavior as in 2017.w25.
I disabled channel simulation (so that UE RX = eNB TX)
and I have one error where in 2017.w25 I have zero.
For example, here comes the output of a run of "./dlsim":

**********************SNR = 0.000000 dB (tx_lev 51.000000)**************************
Errors (1(0)/1000 0/1 0/0 0/0), Pe = (1.000000e-03,0.000000e+00,-nan,-nan), dci_errors 0/1001, Pe = 0.000000e+00 => effective rate 99.900100, normalized delay 0.001472 (1.001000)

And in 2017.w25 we have (with the same hack to disable
channel simulation):

**********************SNR = 0.000000 dB (tx_lev 51.000000)**************************
Errors (0(0)/1000 0/0 0/0 0/0), Pe = (0.000000e+00,-nan,-nan,-nan), dci_errors 0/1000, Pe = 0.000000e+00 => effective rate 100.000000, normalized delay 0.001471 (1.000000)

There may be a problem somewhere. Or there was one before and we should
have had one error and the new UE architecture fixed things and now
it's as it has to be. Hard to say at this point...

When looking at the scope we quickly see some zeros for the PDSCH
LLR, at the begining this time, not at the end. This is just when
the GUI appears and then all is fine, so this seems to be for the
first frame only. In 2017.w25 this does not happen.
2017-08-03 10:27:06 +02:00
Cedric Roux 2ed9a48d6e more fix for dlsim_tm7 2017-08-03 10:24:16 +02:00
gabrielC 5917cdaff8 correct dlsim execution problem 2017-08-01 16:57:37 +02:00
gabrielC 1661294de5 Correct T-tracer compilation 2017-08-01 10:46:08 +02:00
Cedric Roux 030a345258 bugfix: fix sync for oaisim
With the current implementation of oaisim
(rxdata and channel simulation), we cannot
call trx_read_func on a dummy buffer. The
code will actually modify the rxdata buffers
of the UE.

This is has to be rewritten properly. In the
meantime, let's introduce a simple hack. The
idea of the read at this point is to wait for
the synch to finish and not lose samples from
the hardware in the real UE. In the simulator,
as it is today, we can simply sleep until the
synch code has finished its work.
2017-07-31 16:32:07 +02:00
Cedric Roux 3ed32a77d0 integration fix: let oaisim work again
In case of oaisim, dl_phy_sync_success has to be called
by initial_sync, as it used to be.

We introduce an #if OAISIM, this is not elegant, but will
do it for the moment.
2017-07-31 16:29:46 +02:00
tct-labo4 4c2c1a3631 fix dlsim 2017-07-31 16:18:57 +02:00
tct-labo4 96db5ea596 ue fix 3 threads and add define for slot parallelization function 2017-07-31 14:17:08 +02:00
gabrielC f5be2be550 Correct DCIFormat and AgregationLevel to put them in pdcch structure 2017-07-28 16:39:25 +02:00
Cedric Roux 10c9d899bb Merge remote-tracking branch 'origin/bugfix-258-unknown-ue-id-for-rnti' into develop_integration_w30 2017-07-28 10:06:39 +02:00
Cedric Roux 8d5901c815 bugfix: fix bug "Unknown UE_id for rnti"
This bug happens when we detect uplink failure for one UE.
In this case, a DCI format 1A is sent to the UE to ask it
to do random acces.

The way this DCI is generated was not compatible with how
the software is organized. It was expected that the DCI are
added (with add_ue_spec_dci and add_common_dci) in a very
specific order: first all DCIs in common space are added
(with add_common_dci) then all DCIs in UE specific space
are added (with add_ue_spec_dci).

The problem was that the DCI format 1A DCI sent to the UE
for it to do random access is added (with add_ue_spec_dci)
before the DCIs in common space.

That totally messed up the logic in add_common_dci and
add_ue_spec_dci.

The solution is to get rid of Num_common_dci and Num_ue_spec_dci,
replace those two counters by only one (Num_dci) and add
"search_space" in the dci_alloc structure to be used later by
the function "allocate_CCEs" when calling "get_nCCE_offset".

The software had to be adapted to the new variables, everywhere.

I am not sure that the simulators work. It seems that some
of them didn't use Num_common_dci and Num_ue_spec_dci to
decide on what space (common or UE specific) to put the DCI,
but relied on the rnti (comparing with SI_RNTI). To be tested
properly.

The modified simulators are:
  - openair1/SIMULATION/LTE_PHY/dlsim.c
  - openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
  - openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
  - openair1/SIMULATION/LTE_PHY/framegen.c
  - openair1/SIMULATION/LTE_PHY/pdcchsim.c
  - openair1/SIMULATION/LTE_PHY/syncsim.c
2017-07-27 17:12:19 +02:00
tct-labo4 a2f37668f1 Merge branch 'ue_new_thread_idx' into develop_integration_w30 2017-07-26 16:11:07 +02:00
tct-labo4 a738eeade4 ue using new thread index instead of modulo 2017-07-26 16:09:03 +02:00
Raymond.Knopp 1fc67381f4 updates for gtkwave 2017-07-25 22:32:55 +02:00
Raymond.Knopp 8ee3f3b353 initial tests with USRP as monolithic eNB, "connectionless" execution is fine. 2017-07-25 22:15:52 +02:00
Raymond Knopp 09a43fae25 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split 2017-07-25 11:24:53 -07:00
Raymond Knopp 80c80bb5fe bug fixes for monolithic eNB target 2017-07-25 11:23:46 -07:00
Raymond.Knopp cd686fc09a fix bug from faulty merge 2017-07-25 17:45:37 +02:00
Raymond Knopp 89ad7c70d5 added mdci.h 2017-07-25 08:42:02 -07:00
Raymond Knopp b61a2e0efe small changes to allow for monolithic eNB execution. 2017-07-24 17:18:34 -07:00
Raymond Knopp ae884afe24 integration of LTE-M SIB1/SI interfaces and scheduling 2017-07-24 16:19:24 -07:00
hbilel 767606f9f2 - fix init prach struct + fix TO compensation for 20MHz case 2017-07-20 10:09:43 +02:00
Raymond Knopp d56525c807 NFAPI UL indications added and full UE connection tested. 2017-07-19 03:07:40 -07:00
fnabet a64bcb1408 fix warning w/o ue-timing option 2017-07-17 16:49:04 +02:00
fnabet 04b5954f96 Merge Fix Issue 250 RLC AM Tpoll Retx 2017-07-17 16:24:06 +02:00
gabrielC aae302f15e Merge branch 'pdcch_optim' into develop_integration_w30
Conflicts:
	targets/RT/USER/lte-softmodem.c
2017-07-17 16:20:00 +02:00
tct-labo4 b5eec87e75 Merge branch 'ue_slot0_slot1_parallelization_bis' into develop_integration_w30 2017-07-17 15:16:21 +02:00
tct-labo4 ed145f5799 [OAI-UE] slot0/1 parallelization part2 2017-07-17 15:11:40 +02:00
gabrielC a2cf0a2295 PDCCH optimisation : Stop reading DCI0 when found 2017-07-17 10:40:38 +02:00
Raymond Knopp 8da1c4b5bb Note: this commit is work in progress. Contains initial integration of NFAPI data structures which are tested for TX path. RX path to follow. 2017-07-06 08:18:32 -07:00
gabrielC bcdb62e140 Optimisation of rx_pdcch : save some time by reading one symbol pdcch first and read symbol 2 and 3 if needed
Optimisation of nb of candidate when searching DCI
2017-07-06 10:03:27 +02:00
gabrielC 4ac34f7c7c Valid for OAI : Save some processing timing when looking for candidate DCI 2017-07-04 15:06:07 +02:00
fnabet 40e42c4c2d fix Issue 250 RLC AM 2017-06-29 17:15:10 +02:00
gabrielC 33e242de6a PDCCH optimisation to read only the DCI / agregation we have preconfigured 2017-06-29 10:54:50 +02:00
tct-labo4 bf7eb25cf5 [OAI-UE] timing measurements for slot0/slot1 parallelization 2017-06-28 12:15:25 +02:00
tct-labo4 0b332b5536 rebase from 2017.w25 part2 2017-06-27 17:03:16 +02:00
fnabet cb637c033c rebase from 2017.w25 2017-06-27 15:01:28 +02:00
fnabet 232f56b9e6 prepare for rebase from 2017.w25 2017-06-26 12:16:30 +02:00
Cedric Roux 08b8b3142d Merge branch 'develop_integration_w25' into 'develop'
develop_integration_w25 into develop

Summary of changes:
- UE: configurable thread
- UE: fix in dci format1c decoding
- bladeRF hack
- configuration files for oaisim

See merge request !209
2017-06-26 10:12:41 +02:00
Cedric Roux 4deeb083fc Merge remote-tracking branch 'origin/fix-oaisim-w25' into develop_integration_w25 2017-06-23 11:22:15 +02:00
Cedric Roux 9adfa48de8 fix: let run_enb_ue_virt_s1 work with "default" openair-cn
changes:
- ue mcc/mnc 208.93
- use correct key/opc for user
- change addresses in conf file for them to be easier to understand
  (maybe)

With those changes, running:
   sudo ./run_enb_ue_virt_s1
in cmake_targets/tools should work out of the box

The user still has to configure correct IP addresses in
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf

We supposed oaisim (enb+ue) machine to be on IP address 10.0.1.1
and EPC (hss, mme, spgw) machine to be on IP address 10.0.1.2.
2017-06-23 11:09:04 +02:00
Cedric Roux 28171c1aa7 Merge remote-tracking branch 'origin/hack-bladerf-w24' into develop_integration_w25 2017-06-23 10:36:08 +02:00