Commit Graph
5567 Commits
Author SHA1 Message Date
gabrielC 7a2984e8ae [OAI-UE] TimingOffset tracking faster loop 2017-01-25 10:57:20 +01:00
Cedric Roux 2045a49313 Merge branch 'develop_integration_w03' into 'develop'
Develop integration w03

See merge request !89
2017-01-23 10:55:32 +01:00
Cedric Roux 101d28e9da integration fix: fix compilation of ulsim
Hopefully the right argument is passed to this function.
2017-01-23 10:32:39 +01:00
Florian Kaltenberger e84a00174b choosing the right version of the unresolved merge conflict in beamforming.c
changed the memory allocation of txdataF and beam_weigths
2017-01-21 16:20:10 +01:00
Cedric Roux 37a18b2530 integration fix: bad #if #endif position 2017-01-20 17:22:43 +01:00
Cedric Roux af67618095 Merge branch 'bugfix-188-multi-UEs-fixes' into develop_integration_w03 2017-01-20 17:05:00 +01:00
Cedric Roux 69c8b8a933 Merge branch 'feature-68-enb-agent' into develop_integration_w03 2017-01-20 16:59:16 +01:00
Cedric Roux 74d07a70f6 Merge branch 'enhancement-192-beamforming' into develop_integration_w03
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/MODULATION/beamforming.c
	openair1/PHY/defs.h
	targets/RT/USER/lte-enb.c
2017-01-20 16:58:29 +01:00
Cedric Roux e6f3c9b899 Merge branch 'enhancement-10-harmony' into develop_integration_w03
Conflicts:
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
2017-01-20 16:49:39 +01:00
Cedric Roux da0cbaf86c fix: add /usr/include/lime to include directories
when testing on haswell, using apt-get to install LimeSDR
libraries and includes, it put it in /usr/include, not
/usr/local/include
2017-01-20 16:38:26 +01:00
Cedric Roux f7fb0280a0 Merge branch 'develop-new-LMSSDR' into develop_integration_w03 2017-01-20 16:37:44 +01:00
Cedric Roux a0f19a7265 add some printf for debug purpose (to be remove at some point)
this commit is here to help debug the previous ones.

It has to be reverted at some point.
2017-01-20 15:48:49 +01:00
Cedric Roux a6219153d9 check (to be reworked at some point)
We put an abort() at this point in the code, because
if the previous commit is correct, the program will
never comme here.
2017-01-20 15:47:08 +01:00
Cedric Roux da75a07870 rewrite sort_UE for UL and DL and adapt the rest to the change
The previous version did not seem to work properly with
several UEs. I too often ended up with a list 'next' where
next[i] = i, leading to an infinite loop, crashing the
processing.

The sorting functions were hard to understand and too slow
anyway (O(n*n)).

We now use qsort_r and comparison functions, that should
define the same order as the previous version.

One important point is that the "next" lists and the "head"
variable are now considered invalid before calling sort_UE.

So all the code (coming before sort_UE) that looped using those
variables has been rewritten to loop over all possible UEs and
the first instruction of the loop is to exit the loop if the UE
is not 'active'. There is room for improvement here. We will
reintroduce a list of some kind at some point. Let's first
have something that works and then optimize. Today NUMBER_OF_UE_MAX
is 16, that's not a big deal.

Consequently, the add_new_ue and rrc_mac_remove_ue have also
been rewritten, hopefully for the better.

This commit is not a basic work and may introduce some
problems.
2017-01-20 15:36:58 +01:00
Cedric Roux c824eea074 better (maybe) freeing of RA process when an UE is removed from MAC
The RA process may be in the state:
RA_active == FALSE and wait_ack_Msg4 == 1

Testing only the rnti should be enough, if everything else works
properly.

Also, don't break, just in case. (Not sure it makes a
difference.)
2017-01-20 15:21:37 +01:00
Cedric Roux c3c2b774d6 bugfix: do not get pCC_id if UE_id is invalid 2017-01-20 15:15:58 +01:00
Cedric Roux 0d3fa21187 add a LOG in RA 2017-01-20 15:11:40 +01:00
Cedric Roux 428c2212aa fix: better creation of RNTI
The previous version was calling taus(), which
may return any value in [0..65535].

The new version restricts it to [1024..59999]
(arbitrary values, big enough, and in the valid range).

It also checks that the new RNTI is not already present
in the MAC.

I think we should also check that it's not used by a RA
process.

The "loop" thing may not be the best solution either.

To be refined.
2017-01-20 15:09:05 +01:00
Cedric Roux c1fee62473 RA: fix allocation of RA process
A RA process is not available if
and RA_template[i].wait_ack_Msg4 != 0

We can have RA_active==FALSE and wait_ack_Msg4==1,
in which case the RA process is in use and cannot
be reassigned.
2017-01-20 15:05:28 +01:00
Cedric Roux a5d5a21ddb "fix" handling of UE_id in RA.
What if it's -1? Is it possible?
We catch the case and abort.

We may do a proper fix if the case happen.
I don't think it will, but who knows...
2017-01-20 15:01:51 +01:00
Cedric Roux 89445da9eb attempting at fixing RRC
RRC does not work very well when one UE goes away and comes
back in some situations.

This commit is an attempt at making things work better.

It is probably not the end of the story.
2017-01-20 14:59:24 +01:00
Cedric Roux c33afccb1b bugfix: logging was done after modification of values
It resulted in wrong log message, leading to complicated
debugging.
2017-01-20 14:57:28 +01:00
Cedric Roux 2a1d1134e9 log an error if UE is -1 in rrc_mac_config_req 2017-01-20 14:54:19 +01:00
Raymond.Knopp 56241235cf rcc configuration file band 7 if5. 2017-01-20 08:44:41 +01:00
Cedric Roux 2c578f350a remove XER printing in asn1_msg.c, too verbose 2017-01-19 17:23:15 +01:00
Cedric Roux 390085c377 remove printing of UE capabilities on stdout
Modern UEs have very long UE capabilities.
It disrupts realtime behaviour of the modem.

Let's put a simple log message indicating we got the
UE capabilities.
2017-01-19 12:47:50 +01:00
Navid Nikaein 27a1101a58 add support for RAN/radio resource slicing through flexran 2017-01-19 12:44:20 +01:00
Cedric Roux 5933f21882 hack to avoid zombie UEs in the MAC layer
Here is the problem:
    Sometimes the UE has no PHY context but
    is still present in the MAC with 'ul_failure_timer' = 0 and
    'ul_out_of_sync' = 0. It seems wrong and the UE stays there forever. Let's
    start an UL out of sync procedure in this case.
    The root cause of this problem has to be found and corrected.
    In the meantime, this hack...

This has to be redone at some point.
2017-01-19 10:00:19 +01:00
Cedric Roux 38b387794e hack in RLC AM to avoid a race
Here is the problem:
    UE comes. SRB2 is configured via message to RRC.
    At some point the RLC AM is created but not configured yet.
    At this moment (I think) MAC calls mac_rlc_status_ind
    which calls this function. But the init was not finished yet
    and we have a crash below when testing mem_block != NULL.

The "solution" is to test if rlc->input_sdus is NULL.
This is a very dirty hack. I would say the solution
is to use proper locking mechanism because RLC is used
by two threads: PHY/MAC on one hand and RRC on another
hand (I think).
2017-01-19 09:57:43 +01:00
Cedric Roux 05d02c43ec remove annoying logging (dump_CCE_table) 2017-01-19 09:49:39 +01:00
Florian Kaltenberger e0c7479122 and one more fix 2017-01-19 09:32:29 +01:00
Florian Kaltenberger 0695828e4c some fixes 2017-01-18 16:43:02 +01:00
Florian Kaltenberger b0b5cb21e5 Beamforming is now only done when necessary. This patch is based on one from enhancement-10-harmony. 2017-01-18 15:31:04 +01:00
Raymond.Knopp 1224cf44ae switch RX to HIGH band input by default 2017-01-18 14:14:07 +01:00
Tien-Thinh Nguyen dce5191542 update to make harmony work with Mobipass[Ercom] 2017-01-18 13:53:05 +01:00
Raymond.Knopp 773afc1490 TX power calibration, RX_W by default 2017-01-18 13:21:07 +01:00
Raymond.Knopp 12cc35932a Merge branch 'develop' into develop-new-LMSSDR
Conflicts:
	targets/RT/USER/lte-softmodem.c
2017-01-18 10:44:37 +01:00
Cedric Roux adbc609bbf bugfix: reset DCI count before adding one
The management of uplink failure generates a DCI to send
a RA PDCCH order. It calls add_ue_spec_dci which increases
DCI_pdu[CC_id]->Num_ue_spec_dci, but this was reset to 0
*after* the DCI generation. Let's reset *before*.

Bug reported by Liang Yong on openair5g-user mailing list.
2017-01-18 10:33:52 +01:00
Florian Kaltenberger 550759231d change loop limit to NB_ANTENNA_PORTS_ENB 2017-01-18 09:38:14 +01:00
Florian Kaltenberger a5e6690ded adding multadd_cpx_vector 2017-01-18 09:33:39 +01:00
Xiwen JIANG ab57b0ddd3 replace the conjugate vector multiplexing with direct vector multiplexing 2017-01-18 09:16:13 +01:00
Florian Kaltenberger 8a9ef14e4f reduced the max number of antenna ports to 6 to save memory (we are not using antenna port >5 anyway)
mult_cpx_conj_vector can now also do multiply add
beam_precoding now uses mult_cpx_conj_vector

Conflicts:
	openair1/PHY/MODULATION/beamforming.c
2017-01-18 09:15:57 +01:00
Cedric Roux 67e53e72ab fix the use of get_eNB_UE_stats
The function may return NULL if the UE has been dropped
in the PHY layer but is still present in the MAC layer.

Deal with the NULL case everywhere it's needed.
2017-01-16 17:07:47 +01:00
Xenofon Foukas 84b61f2264 Merge remote-tracking branch 'origin/develop' into feature-68-enb-agent 2017-01-16 17:47:17 +02:00
Xenofon Foukas 9fc584d173 Fixed FlexRAN-related warnings 2017-01-16 17:45:58 +02:00
Xenofon Foukas dc8190dc6a Fixed issue with #pragma warnings in liblfds 2017-01-16 17:44:43 +02:00
Tien-Thinh Nguyen 73920f3f6e [minor modification] fixed the issue related to TX with FDD 2017-01-16 16:08:40 +01:00
Cedric Roux dec41a2a99 Merge branch 'develop_integration_w02' into 'develop'
Develop integration w02

See merge request !82
2017-01-16 10:20:01 +01:00
Cedric Roux 0af4c17000 fix phy simulators compilation - for real
This is the real fix, d5a6817887
was not the right solution.
2017-01-16 09:52:14 +01:00
Raymond Knopp 8be18c360b debugging for RRU if4p5 TDD 2017-01-15 08:58:26 +01:00