develop_integration_w20 into develop
Summary of changes:
- bug fixes
* UE TDD fixes
* PDCCH size computation (at phy level, still to be corrected at mac level)
* DAI increment
* fix run_enb_ue_virt_noS1 and run_enb_ue_virt_s1 to use Rel14 and
have --xforms to work
* compilation warning removals
* better oaisim logging (print UE security keys,
print version (git commit ID) at runtime, print working directory)
See merge request !190
Problems reported by Jorge Muñoz Castañer <jorgem@gti.uvigo.es>.
- use Rel14 binaries (those are produced by default)
- let -x option work to have graphical output
- fix VCD missing 'echo'
It seems that ciphering_algorithm is "unsigned int" in RRC Rel10
and "unsigned long" in RRC Rel14 (as processed by asn1c)
Let's force it to unsigned long in the log to avoid compilation-time
warnings.
Seems like this commit got lost at some point.
Here was the message:
-----------------------------------------------------------------------------
Author: Cedric Roux <cedric.roux@eurecom.fr>
Date: Tue Jan 10 14:21:02 2017 +0100
add format indicator to get LOG_X warnings
The LOG_X macros emit a lot of warnings when compiling with the T
because they call the function logRecord (or logRecord_mt)
which has not been "marked" as calling printf, so gcc won't
emit typical printf warnings.
With the T, they directly translate to sprintf, so those warnings
pop up, much more verbose due to several macro expansions.
Let's make them pop up all the time so it's easier to fix them.
-----------------------------------------------------------------------------
- print current working directory
- print git version (if available)
- print security keys
this last one is a security breach, but as of today
it's not a problem
develop_integration_w19 into develop
Summary of changes:
- bug fixes:
* RLC AM fixes
* UE TDD fixes
* Fujitsu bug fixes (TDD also)
* mobipass fixes (bad management of carriers, softmodem was failing with more than one CC)
* compilation warnings removal
- PUCCH format 3 preliminary support (work from Fujitsu)
- build fixes: do not include shared library in main executable (work from Nokia)
express MIMO2 needs some more work here
See merge request !184
There is now the function copy_harq_proc_struct and some
procedures for the UE have changed, which makes necessary
to have UE->dlsch valid for both subframes (odd and even).
We increase memory usage, maybe it's not the correct solution.
To be kept in mind if something goes wrong at some point.
----------------------------------------------------------
bug 24
Ttile:
The last line "multicast_group = multicast_group" is hard
to understand. The local variable should be different name
than the global variable.
Bug Location:
const char *multicast_group_list[MULTICAST_LINK_NUM_GROUPS] = {
"239.0.0.161",
"239.0.0.162",
"239.0.0.163",
"239.0.0.164"
};
:
:
void multicast_link_start(void (*rx_handlerP) (unsigned int, char *),
unsigned char multicast_group, char *multicast_ifname)
{
rx_handler = rx_handlerP;
multicast_group = multicast_group;
Note:
Detected by CppCheck
----------------------------------------------------------
In 20MHz the UE didn't do any uplink granted by DCI0.
It was replying to RAR, so uplink decoding was okay.
Turns out the DCI0 structure for TDD was wrong.
The constant RLC_UM_SEGMENT_NB_MAX_LI_PER_PDU is set to 24. This is
too low. Running a downlink TCP iperf with a 10MHz or 20MHz cell
leads to lots of the following warning in the log:
[RLC][W][SN 792] Bad RLC header! Discard this RLC PDU (size=618)
The problem is that the uplink RLC PDU contains a lot of TCP ack.
We can see much more than 24 of them. The RLC layer is not happy
and discards the PDU.
Putting 256 for RLC_UM_SEGMENT_NB_MAX_LI_PER_PDU (arbitrarily chosen,
big but not too big) solves the problem, at least for 10MHz.
Using "system" to call "git log" is too error-prone.
In the test setup, lte-softmodem was blocked because
"git log" uses a pager ("less") and the pager was
waiting for the user to press enter.
We could pass "--no-pager" to "git log" but then
what if someone runs the softmodem out of the source
tree?
cmake defines PACKAGE_VERSION, we can use that instead,
as is done in openair-cn.
This reverts commit 7f24927c43.
With value 13 uplink TDD for a 10MHz configuration was not working.
UDP traffic sent with: "iperf -c XX -u -b10M" was crashing
the eNB.
Develop integration w13
Summary of changes:
- RLC AM reworking (a lot has changed)
- several bug fixes
* support processing multiple MAC RAR control elements in a single MSG2
* fix ACK/NACK resetting
* do not correct USRP frequency from carrier offset estimation when --ue-carrier-scan == off
* fix TDD uplink due to incorrect PUCCH format for SR in TDD
* several other simple fixes
- better support for LMS SDR
See merge request !168
- define _GNU_SOURCE before including pthread.h
- do not use static for the array 'threadname' used
to store the name, it makes it a global variable
accessed by several threads in parallel
- increase size of 'threadname' (maybe not necessary)
- properly indent #define / #under (# should be at column 1)
When you ran it with the scope as:
./dlsim -X
you saw no activity in the "PDSCH I/Q of MF Output" window,
so matter what SNR you put (even for very high SNR, say: ./dlsim -X -s40)
this commit seems to fix it.
I am not sure it is the end of story. The 2 threads PDCCH/PDSCH structures
may still not be used correctly everywhere.
We have a strange problem with the timestamp of the very
first packets received from the LimeSDR that leads to
a complete failure of the eNB.
A simple workaround is to discard the first RX packet
just after a "start" of the device.
We also change the value of "tx_sample_advance" to a more
reasonable value. The problem of timestamp was "solved"
differently in the past and at the time we needed to put
a much higher value.
This may have to be refined at some point.
develop_integration_w12 into develop
Summary of changes:
- RRC Rel14: tests done so far indicate no problem
- SRS support in eNB
- bug fixes / warning removals
See merge request !155
The files NativeInteger.c.diff and constr_SET_OF.c.diff
from asn1c were generating compilation warnings. We had
local patches applied on generated files by asn1c.
A new version of asn1c has been pushed to
https://gitlab.eurecom.fr/oai/asn1c
(commit 224dc1f991b7e7ad705ce92e171b942f87b7b7e7)
making obsolete the fixes we do here.
So we now remove those fixes.
*************************
* IMPORTANT BEGIN *
*************************
Everyone should update their asn1c installation.
The simplest is to do:
source oaienv
cd cmake_targets
./build_oai -I
*************************
* IMPORTANT END *
*************************