Commit Graph
5987 Commits
Author SHA1 Message Date
Cedric Roux ea858d54fa integration fix: strerror has to be used, not perror
The command line to get the error was:
    ./build_oai --eNB -w EXMIMO -c
2017-02-20 10:09:05 +01:00
Cedric Roux b82e7c1a88 hotfix: forgot targets/COMMON/threads_t.h in a previous commit 2017-02-17 20:19:24 +01:00
Cedric Roux 39f26e945e Merge remote-tracking branch 'origin/enhancement-211-snapping' into develop_integration_w07 2017-02-17 18:27:33 +01:00
Cedric Roux e62f569b5d Merge remote-tracking branch 'origin/various-l2-fixes-187' into develop_integration_w07 2017-02-17 18:23:00 +01:00
Cedric Roux f9b5dafe29 T: let it compile with C++
We now have 4 versions of T_HEADER:
 - bad quality C++ version with time
 - good quality C version with time
 - bad quality C++ version without time
 - good quality C version without time
2017-02-17 18:16:22 +01:00
Cedric Roux 603c84c700 fix warnings: fix LOG_X problems when compiling lte-softmodem
The compilation line was:
    ./build_oai --eNB -w USRP

The file openairinterface5g/cmake_targets/log/lte-softmodem.Rel10.txt
has been checked and all LOG_X (and 'msg') warnings have been fixed.
2017-02-17 18:07:06 +01:00
Cedric Roux 96dc12ccce fix warning: add missing */ 2017-02-17 18:07:06 +01:00
Cedric Roux 37bc075cb2 fix: exit if memory_read fails in the function nas_user_initialize 2017-02-17 18:07:06 +01:00
Cedric Roux 74afbf84f4 warning fix: remove pragma in LFDS
Not sure that it's correct, but those #pragma seem
to be of no use for gcc. Let's remove them
completely.
2017-02-17 18:07:05 +01:00
Cedric Roux baeb930397 use ln -sf instead of ln -s in cmake_targets/build_oai
When rebuilding oaisim, I had a failure because the target
link already exists. The -f flag forces the link to be done.
2017-02-17 18:01:17 +01:00
Cedric Roux 053704b5c2 remove wrong comment 2017-02-17 18:01:02 +01:00
Cedric Roux ac7c0df520 integration fix: let oaisim (S1) work again
- some cleanup
- thread names to include UE Mod_id
- arg of UE_thread_rxn_txnp4 to be struct rx_tx_thread_data again
- sync in UE_thread_rxn_txnp4 to use instance_cnt_rxtx again
- UE_thread to call itti_send_msg_to_task with UE->Mod_id + NB_eNB_INST
  instead of INSTANCE_DEFAULT again

This may break the softmodem UE, to be tested.
The most problematic thing may be the synchronization.
I don't think it will impact the processing at all,
but I won't bet my shirt on it.
2017-02-17 17:55:27 +01:00
Cedric Roux 7c11cf9646 redo commit 5805215227
git show -p 5805215227
to see what it's about
2017-02-17 14:39:00 +01:00
Cedric Roux 122953d986 redo commit 157707b042
git show 157707b042
to see what it's about
2017-02-17 14:25:26 +01:00
Anta Huang e3186c1741 Issue #211 - enhance build script for snapping package
- build script has ability to indicate location for downloading uhd images
- one simple wrapper to set environment variables and initiate another program (supposed to be lte-softmodem)
2017-02-17 13:56:00 +01:00
Cedric Roux f58c7b1be9 integration fix: restore enb.band7.tm1.usrpb210.conf
Many variables were changed that should not have been changed.
2017-02-17 12:41:13 +01:00
Cedric Roux 76574a1ac0 Revert "fix nettle"
This reverts commit d31634c358.

Laurent Thomas had a problem on one machine with the build_oai
way of checking for nettle.

The problem with the alternative solution of including nettle/bignum.h
is that it is very unclear.

The problem with nettle is that the file nettle/config.h does not
exist for version 2. It was introduced in version 3.

We want to support both versions, but there is an API incompatibility.
So we need an #if #else mechanism.

The file nettle/bignum.h is present in both versions 2 and 3 and it
includes nettle/version.h in the version 3.

So by including this file, we can check for the existence of
NETTLE_VERSION_MAJOR (that comes from nettle/config.h) in the
code.

But as you can see, the reasoning is way too complex.

So it's better to keep the check in cmake_targets/CMakeLists.txt.

As long as we support version 2 this will be the way to go.

It is possible to force a given version in specific non-generic
customized environments.
2017-02-17 12:29:31 +01:00
Chia-Yu Chang 1b417979e9 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into various-l2-fixes-187
Conflicts:
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.usrpb210.conf
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.50PRB.oaisim.conf
2017-02-17 12:01:26 +01:00
gabrielC eadcba956e Merge branch 'develop-realtime-lts' into develop_integration_w07
Conflicts:
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-ue.c
2017-02-17 11:51:03 +01:00
pyroclaste 3dd1faadd4 Add the compression for IF5 and RTT measurements for FH and RF 2017-02-17 11:38:44 +01:00
Cedric Roux 10a50563eb Merge remote-tracking branch 'origin/bugfix-exmimo' into develop_integration_w07 2017-02-17 10:08:48 +01:00
Cedric Roux 9a5d17d967 bugfix: do not allocate memory
Memory was allocated which was "lost" because the
address of the block was put in a pointer that is
overwritten just after.

Discussing with Elena, the current commit is the correct
way to do things.
2017-02-16 15:37:56 +01:00
Cedric Roux 9535e7a276 bugfix: make some functions thread safe
Those functions modify a global char array (a string).

Let's pass a buffer to those functions, so that it's
thread safe. The caller has been modified, with hopefully
a buffer big enough (still bigger than what was there before,
so should not break more than it did).
2017-02-16 15:35:07 +01:00
Cedric Roux 31c85b22ea integration fix: remove ^M from file
command run:
    dos2unix openair1/SIMULATION/TOOLS/taus.c
2017-02-16 14:35:19 +01:00
Cedric Roux 70c84ef835 integration fix: put correct licensing information 2017-02-16 14:19:04 +01:00
Cedric Roux ba6d140445 integration fix: put correct licensing information 2017-02-16 14:16:29 +01:00
Cedric Roux bcfeb7af32 integration fix: put correct licensing information 2017-02-16 14:04:56 +01:00
Cedric Roux 36bd7e1d75 integration fix: remove comment 2017-02-16 14:01:15 +01:00
Cedric Roux 1f3b1ff8ff integration fix: remove XER_PRINT from RRC 2017-02-16 12:53:25 +01:00
Cedric Roux f92bd91544 Merge branch 'enhancement-199-nas-multi-ue' into develop_integration_w07
Conflicts:
	openair1/SCHED/phy_procedures_lte_ue.c
	targets/RT/USER/lte-softmodem.c
	targets/SIMU/USER/oaisim.c
	targets/SIMU/USER/oaisim_functions.c
2017-02-16 12:14:26 +01:00
laurent be0541aa8c remove a race 2017-02-16 11:38:38 +01:00
Laurent 6f6f9acb52 merge develop; add option to set affinity in UE 2017-02-16 11:34:02 +01:00
Cedric Roux 6397e66c29 bugfix: fix PCDP inst (again)
This commit follows 7d9945e884.

lte-softmodem UE in S1 and lte-softmodem UE in noS1 modes behave
differently here.

This commit fixes the issue for thoses cases.

Other cases (eNB S1, eNB noS1, oaisim S1/noS1) have to be checked.
2017-02-16 11:23:24 +01:00
Cedric Roux 63c0ed7042 fix UE default configuration file
- fix OPc key
- clear EHPLMN_LIST, UE does not start the RA procedure when set
  to be fixed
2017-02-16 10:10:42 +01:00
Cedric Roux 7d9945e884 bugfix: fix PDCP inst
This commit is a continuation of 614d6bbe2a
(ue_ip: use correct instance).

Now in openair2/NETWORK_DRIVER/UE_IP/common.c the 'inst' is not
forced to 1 anymore, we take the value 'pdcph_p->inst'.

It turns out that 'pdcph_p->inst' is 0 instead of 1 when we
run lte-softmodem as an UE.

So let's modify PDCP to set 'inst' to 1 where it was set to 0 for
the UE softmodem case, and skip the places where it is reset to 0,
still for the UE softmodem case.

This may break things, I am not sure.
2017-02-15 17:21:02 +01:00
Cedric Roux 7b36af0597 bugfix: variable was on the stack
Guess what happens when we return from the function...
2017-02-15 15:38:37 +01:00
Florian Kaltenberger 7c4630057f fixing a wrongly placed } for correct exmimo initialization 2017-02-15 14:28:07 +01:00
hbilel bfa8a28ccb [OAI-UE] fix pucch format2 regression 2017-02-14 18:31:57 +01:00
Laurent 23c7547698 remove debug traces 2017-02-14 18:24:31 +01:00
Laurent d65d91ddcc gcc warning fix 2017-02-14 18:18:34 +01:00
Cedric Roux f52a42eda5 cleanup lte-softmodem.c
For whatever reason, lte-softmodem.c was totally messed up...

We took the version from the branch develop and added
abstraction_flag, which is needed in openair2/LAYER2/MAC/main.c
(this is not clean, previous commit added a comment for this).
This has to be cleaned at some point.
2017-02-14 16:41:07 +01:00
gabrielC 4ecdfa05f1 UE logging, Replace LOG_I by LOG_D 2017-02-14 16:34:56 +01:00
Cedric Roux 6c789a36bc minor: add a comment 2017-02-14 16:18:54 +01:00
Cedric Roux 09139ab018 fix build_oai
- the option --UE was abused! Let's introduce --UE-conf-nvram and
  --UE-gen-nvram
- the option name --UE-OUTPUT was not clear and is now replaced by
  --UE-gen-nvram
- the new options are described when running ./build_oai -h
- print_help has been modified (' replaced by ") to print
  $conf_nvram_path and $gen_nvram_path
2017-02-14 15:38:51 +01:00
gabrielC 2dc9dc0316 Merge remote-tracking branch 'origin/tm4-fixes' into develop_integration_w07
Conflicts:
	openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
	openair1/PHY/LTE_TRANSPORT/power_control.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	targets/SIMU/USER/oaisim_functions.c
2017-02-14 15:25:37 +01:00
Cedric Roux 614d6bbe2a ue_ip: use correct instance
The problem was the following.

Run oaisim with two UEs:

    sudo ../cmake_targets/oaisim_build_oai/build/oaisim -O enb.conf -u2 -s15 -AAWGN -y1 -b1 -Q0

Then wait for both UEs to be connected. The interfaces "oip1" and "oip2" are
activated, with IP addresses 192.172.0.2 for the first UE and 192.172.0.3 for
the second.

Then on the EPC machine, do:

    ping 192.172.0.3

No reply.
On the oaisim machine, we see that the packets are sent to "oip1" instead
of "oip2".

The fix may break softmodem UE. The inst was forced to "1" for some reason.
To be checked.
2017-02-14 10:58:06 +01:00
Cedric Roux f66f6e49cb deal with empty subframes at UE side even in oaisim
The memset was also too big. It should only clear
one subframe.

Only tested without abstraction.
Abstraction does not work for the moment anyway, but just to
keep that in mind.
2017-02-14 10:27:24 +01:00
gabrielC 9ecae1837c [OAI-UE] fix ack/nack reporting on pusch 2017-02-13 18:15:07 +01:00
Cedric Roux b904ce7978 rewrite synchronisation in oaisim/channel simulation
The idea is as follows.

oaisim waits for all tasks to be done for a TTI.
To do so it waits for last_rx_timestamp == current_rx_timestamp,
for all UEs and eNBs.

When it's done, it increases current_rx_timestamp by samples_per_tti,
to inform UEs and eNBs that a new TTI is ready.

In the functions [UE|eNB]_trx_read, we wait for a new TTI to be ready,
that is we wait for current_rx_timestamp != last_rx_timestamp.

The UE has also to wait for processing threads to be done.
In the eNB it's not necessary because the processing is all
done in one thread, that is: read subframe, process this subframe,
emit subframe+4, and then back to read subframe.

The code is not clean. We should not use usleep but semaphores.

Also, do_[DL|UL]_sig should not read from rxdata and write to txdata,
but use internal buffers.

The functions [UE|eNB]_trx_read should call do_[DL|UL]_sig and then
copy from the internal buffers of the channel simulator into rxdata.

The functions [UE|eNB]_trx_write should write data passed into the
internal buffers of the channel simulator.
2017-02-13 17:58:11 +01:00
Cedric Roux 14aa96787a bugfix: eNB_id should have been UE_id 2017-02-13 17:47:47 +01:00