Commit Graph
6002 Commits
Author SHA1 Message Date
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
hbilel 5805215227 [OAI-UE] fix freq offset correction during cell scan 2017-02-13 16:46:28 +01:00
hbilel e88d1e739e [OAI-UE] new pucch procedure to support all formats 2017-02-13 16:15:47 +01:00
Raymond Knopp cd6ac4529d addition of TX portion of pucch2a/b 2017-02-13 15:27:53 +01:00
Cedric Roux 6ba07564af fix: do not modify dlsch[0]->g_pucch
This is done in another function.
2017-02-13 15:12:08 +01:00
Cedric Roux 8d7c06b194 cleanup: setting status to ACTIVE is done below
Don't do it twice.
The logic is: if ndi changed or it's a first tx then round=0
and later: if round==0 then status=ACTIVE
2017-02-13 15:10:00 +01:00
Cedric Roux 4d8e41100a fix: check that dlsch[0] is not NULL
Note: the dci formats 2, 2A and 1E were not checked,
this has to be done. dlsch[0] and dlsch[1] (when
applicable) must be checked somehow.
2017-02-13 15:08:20 +01:00
Cedric Roux 82403ed1dd cleanup: comments "Needs to be checked" are not needed 2017-02-13 15:07:06 +01:00
Laurent fa432bdd26 optim measurement function checkcpu() 2017-02-13 13:58:09 +01:00
Cedric Roux b2b1dc9f18 Merge branch 'develop_integration_w06' into 'develop'
Develop integration w06

See merge request !110
2017-02-13 12:01:13 +01:00
Cedric Roux 7fd46420d9 minor: fix log (from LOG_D to LOG_I) 2017-02-13 11:16:38 +01:00
Cedric Roux cd1bd0467c test setup v2: minor: print commands before execution 2017-02-13 10:30:05 +01:00
Xenofon Foukas 9e55f8ebcd Fixed bug in the establishment of DRBs 2017-02-11 17:57:11 +02:00
Cedric Roux 0bcee1e40e fix: set mcs, TBS and Qm only if round == 0
Not sure at all about this one, seemed necessary to me,
but I don't get the full logic in there.

To be refined.
2017-02-11 12:34:05 +01:00
Cedric Roux 8f7b6391a5 fix: enough to do it once
This is done a bit above in the code, no need to do it twice.
2017-02-11 12:31:45 +01:00
Cedric Roux c5f400e9d3 fix: do not access array before check 2017-02-11 12:25:46 +01:00
Cedric Roux fc46dcff36 fix format 1A DCI management
I am not sure this is enough. To be refined.
2017-02-11 12:23:05 +01:00
Cedric Roux 80f47817d9 fix: warn if no PDSCH active
I doubt the case should happen. If it does, let's print an
error, will ease debugging.
2017-02-11 12:21:05 +01:00
Cedric Roux a75cfd9073 fix: set default value of nb_rb
Not sure if necessary, but better do it.
2017-02-11 12:20:15 +01:00
Cedric Roux 9bf108c227 Revert "Merge remote-tracking branch 'origin/calib-LimeSDR' into develop_integration_w06"
This reverts commit ce14050bb4, reversing
changes made to 0ada1e9e32.
2017-02-10 17:32:26 +01:00
Laurent 012d333c8e tune USRP/USB packet size 2017-02-10 17:08:28 +01:00
Cedric Roux 94e039ac87 Merge remote-tracking branch 'origin/fix-if4p5' into develop_integration_w06
Conflicts:
	openair1/PHY/LTE_TRANSPORT/prach.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
2017-02-10 14:59:39 +01:00
Younes 91e12a9724 Fix if4p5 2017-02-10 14:51:43 +01:00
Cedric Roux 2bf1180884 Merge remote-tracking branch 'origin/feature-68-enb-agent' into develop_integration_w06
Conflicts:
	openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c
2017-02-10 12:22:46 +01:00
Cedric Roux ce14050bb4 Merge remote-tracking branch 'origin/calib-LimeSDR' into develop_integration_w06
Conflicts:
	openair1/PHY/MODULATION/ofdm_mod.c
2017-02-10 11:50:31 +01:00
Cedric Roux 0ada1e9e32 Merge remote-tracking branch 'origin/oaisim-rru' into develop_integration_w06
Conflicts:
	openair2/RRC/LITE/rrc_UE.c
2017-02-10 11:36:06 +01:00
Cedric Roux ae674104b3 Merge remote-tracking branch 'origin/various-l2-fixes-187' into develop_integration_w06 2017-02-10 11:21:51 +01:00
Laurent b9e03cf251 fix usrp thread priority 2017-02-09 19:17:28 +01:00
Elena_Lukashova b31282ae30 Merge branch 'develop' into feature-59-tm4 2017-02-09 18:03:16 +01:00
laurent 3c191c26f3 fix BCH tracking 2017-02-09 17:46:04 +01:00
Cedric Roux 62bcd5edf9 fix: create tasks before sync in oaisim
Not sure if this is the right thing to do, but it seems to be.

"start_eNB = 1;" is also necessary when the l2l1 task gets INITIALIZE_MESSAGE
otherwise the eNB does not start.

As it is today, I don't think oaisim will work with more than one eNB.
2017-02-09 11:00:59 +01:00
Cedric Roux 3e77251f96 minor: add a message before aborting
The case instance == INSTANCE_DEFAULT should normally not happen,
but let's be a bit verbose if it does.
2017-02-09 10:57:46 +01:00
Cedric Roux e400b5e709 fix: remove T_ENB_MASTER_TICK in oaisim.c
It's now done in lte-enb.c, even for oaisim.
2017-02-09 10:56:42 +01:00
Cedric Roux 234acfea7f fix: this piece of code should not be here
It was probably the result of a bad merge.

At this point eNB_inst is not valid. Plus the T_ENB_MASTER_TICK
is now handled in lte-enb.c, even for oaisim.
2017-02-09 10:53:15 +01:00
Cedric Roux 9c6cb96baf put UE id in thread names 2017-02-09 10:46:20 +01:00
Cedric Roux 393fe86563 fix: pass UE parameter to UE threads
oaisim is not functional with several UEs.
This fixes one issue. (It's still not functional for other reasons.)
2017-02-09 09:47:13 +01:00