716 Commits
Author SHA1 Message Date
David Kim 1803b1fb34 Integrated ra procedure for both nsa and sa. 2021-11-10 13:52:29 -08:00
Melissa Elkadi 046258f1ba Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-09 15:17:58 -08:00
Melissa Elkadi fa4617c0bf Fixing MR based on OAI feedback
The following was changed in this commit:
 - A new struct in the mac instance was created
   for all emulated L1 fields.
 - NR UE RRC state bug was fixed
 - Checking the RAR rnti based on the MAC instance
   ra.ra_rnti and not hardcoding to 0x10b
 - Modified the name of the new emulate_l2 flag
   to make sense: emulate_l1
2021-11-08 10:59:28 -08:00
hardy c3955ec7b8 Merge remote-tracking branch 'origin/nr_timing_fixes' into integration_2021_wk45_b 2021-11-08 13:13:12 +01:00
mjoang 4a9c74f41b rebase to develop 2021-11-05 22:46:09 -04:00
Melissa Elkadi f04f8e7d7b Setting ra_state breaks RA Procedure for NSA mode
Also, changed some if statement formatting.
2021-11-05 11:29:45 -07:00
Melissa Elkadi 479784a064 Calling proper nr_ue_get_rach function
Also, reverted a DCI filtering change to exist again.
2021-11-04 13:15:58 -07:00
Melissa Elkadi f4448023df Merge branch 'episys/master-nsa' into episys/mel/sa_development_init 2021-11-04 11:48:34 -07:00
Melissa Elkadi edd710f6a9 Removing bad log and changing RA state when we get prach 2021-11-03 15:52:49 -07:00
Melissa Elkadi 54a894e534 Updated the following for SA development:
1. The preamble index in the NRUE is random for SA.
   Using the preamble index from the mac->ra is
   correct.

2. The dl_pathloss calculated is from L1. We should
   shunt this feature out for our emulated mode. If
   we add the abstraction later, we can model the
   pathloss in the proxy and update it in the RA
   procedure of the NRUE.

3. Checking that the crnti != t_crnti is not valid
   for SA mode. And may only be needed for multi-UE
   in NSA mode. We might be able to delete it all
   together. For now, we only use for NSA mode.

4. Checking the RAR based on rnti = 10b and not the
   RA_STATE is better.
2021-11-03 10:54:33 -07:00
Melissa Elkadi ceda62cde8 Merge branch 'eurecom-episys-merge-nsa' into episys/master-nsa 2021-11-02 15:53:36 -07:00
Melissa Elkadi 554e7db1d9 Updated the nr_ue_get_rach() function to match develop
Also, in the nr_rrc_mac_config_req_ue(), we should
only be configuring L1 if we are not in the L2 emul
mode. We are crashing due to the RRC state in the NRUE
not being set/checked properly.
2021-11-02 13:21:42 -07:00
Melissa Elkadi e635b90fda Decoding MIB and SIB1 in NR UE
In this commit, we changed the stub function of the NRUE
to handle the MIB and SIB1, which arrive in a single
DL_TTI_REQ. If we have not received the MIB, we first
call the scheduler, then we handle any received NFAPI
messages. The NFAPI message handler will then call
the nr_ue_dl_indication() again, which will process
first the MIB, then SIB1. It seems that we are not
properly sending the SIB1 response back to the gNB so
the NRUE eventually crashes. We are however, properly
decoding the MIB and SIB which is a step in the right
direction!
2021-11-01 12:42:01 -07:00
David Kim 95202fba91 updated for CI sa test 2021-10-29 14:47:56 -07:00
Melissa Elkadi 1dec9dd9f6 First attempt at receiving MIB and SIB in SA mode 2021-10-29 13:49:56 -07:00
Melissa Elkadi 733279689f Fixing white space and added a TODO comment 2021-10-28 15:02:14 -07:00
Melissa Elkadi cfb49c17d2 Added a seprate queue for chan_params 2021-10-28 10:32:28 -07:00
Melissa Elkadi fa810fab70 Accounting for wrap in slot comparison in gNB 2021-10-28 08:58:36 -07:00
Melissa Elkadi 455e3d8343 This commit gets rid of sfn_slot sleep
In the previous commit, the NRUE would record
the time it received a slot and compare this
rx time to the next slot. If the next slot
came in before it had been 500us, the NRUE
would sleep a delta amount to make the duration
between the two slot indications 500 us. This
change complicated the code and did not
improve the performance so it was removed.
Furthermore, this commit removes the old
queueing mechanism of the slot indications and
uses calloc rather than an array.
2021-10-28 08:14:20 -07:00
Thomas Schlichter 94bc375f82 NR_UE: enable timing synchronization logging 2021-10-27 17:30:05 +02:00
Thomas Schlichter 209d5f1131 NR_UE: reset max_pos_fil in timing synchronization whenever we add/remove a sample 2021-10-27 17:30:05 +02:00
Thomas Schlichter 2c2ba26553 NR_UE: fix bug in timing adjustment 2021-10-27 17:30:05 +02:00
Melissa Elkadi 8a56d146cc Merge branch 'episys/master-nsa' into episys/mel/merge_bw_testing_abs 2021-10-25 11:07:59 -07:00
Laurent THOMAS e3f9fd6b01 code cleanup, no feature 2021-10-24 14:47:24 +02:00
Melissa Elkadi 58eb8d2af4 Creating new queue for ul_ttis if dl_tti is late
Also, this commit changes the len argument in the
pusharray32 to match the actual field type (uint16_t).
There is also simple name change from sf -> slot.
The new queueing system is not a permanent solution.
It was simply a way for us to try to handle late
dl_tti_requests. If we queue every single ul_tti_req
that we get, the queue gets full very quickly becasue
we only remove ul_ttis from the queue when a uci has
been populated with a matching sfn/sf. Because of this,
we only queue ul_ttis if we have a uci_indication
prepared already. Rarely, a dl_tti_req will arrive at
the NRUE too late, and the NRUE does not have time
to create the uci_ind so we dont process the corresponding
ul_tti. A seprate queue was made to hold all other ul_ttis
the arrive in the NRUE (this queue will continuously
get full and then emptied) but will occasionally hold
a ul_tti that corresponds to a uci that hasnt
been populated yet.
2021-10-19 07:59:55 -07:00
Melissa Elkadi ea2495ea0a Attemping to stop filling UL_TTI_REQ queue
This is sort of hacky, but it stops the gNB
from crashing for 2 UEs with the proxy and
4 UEs with our internal proxy.
2021-10-12 17:06:00 -07:00
Melissa Elkadi b17a5189b7 Adding timing informtion to rx'd slot indictions
Ensuring in the NRUE that the slot indications we
process are 500us apart.
2021-10-12 10:27:15 -07:00
Melissa Elkadi 9355495ad1 Unqueueing UL_TTI_REQs based on active harq sfn sf
Also fixed some silly spelling errors.
2021-10-07 16:46:10 -07:00
Melissa Elkadi 5552d53b08 gNB and NRUE slots not matching is what happens in LTE
This commit allows us to call the scheduler for
every slot indication we get to ensure we properly
configure the DCI. Also, we are sure to process the
DCI only when we have both the config (dl_tti) and
the payload (tx_req). Lastly, removed the hack
to the slot indication (we do not shift the slot
indication by -6 anymore). We are passing up to 4
NSA UEs, but sometimes one will not complete the CFRA
procedure.
2021-10-07 10:06:40 -07:00
Melissa Elkadi 746d074646 Queuing all nFAPI messages and handling after slot ind
This commit changes the stub functionality entirely.
We are now queueing any received NR nFAPI message
and handling it only after we recevie a slot ind
that corresponds with the nFAPI message's sfn/slot
value. When doing this, an existing issue has been
brought to light. The gNB and NR UE are not in sync
when it comes to their slot indications. Generally,
the NR UE seems to be ahead of the gNB by around 6-7
slots. This commit has a hack... when we receive a
slot indication at the moment, we decrament it by 6
to try to keep the NRUE from being ahead of the gNB.
This will be fixed shortly... This was a temporary
fix..
2021-10-06 18:13:13 -07:00
Melissa 3eafdff63a Syncing our OAI merge branch with our internal NSA master branch 2021-09-30 23:16:46 +00:00
Melissa Elkadi 5ab30707d0 Merge remote-tracking branch 'eurecom/episys-merge-nsa' into origin-episys-merge-nsa 2021-09-29 07:36:01 -07:00
Deokseong "David" Kim a3557eb486 processing crc_ind and rx_ind per pdu in gNB. 2021-09-28 21:57:10 +00:00
Melissa Elkadi df79567b16 Merge remote-tracking branch 'origin/episys/david/processing_crc_ind_rx_ind_per_pdu' into episys/mel/merge_bw_testing_abs 2021-09-28 13:18:06 -07:00
Melissa Elkadi 62118252dd Merge remote-tracking branch 'eurecom/bandwidth-testing-abs' into episys/mel/merge_bw_testing_abs 2021-09-28 13:13:54 -07:00
Melissa 9b1b629843 Merge branch 'develop' into 'episys-merge-nsa'
# Conflicts:
#   executables/nr-uesoftmodem.c
2021-09-28 20:06:11 +00:00
David Kim 60dca0657b processing crc_ind and rx_ind per pdu in gNB.
1. If matched rnti does not exist between crc_ind pdus and rx_ind puds, the ind or unmatched pdus will be requeued.
2. Sending crc_ind and rx_ind togetehr with crc_ind first in nrUE.
2021-09-27 12:59:40 -07:00
Melissa Elkadi ca0bf39d36 Code clean up part 3.
I have removed more irrelevant comments and
updated a few logs.
2021-09-24 07:44:36 -07:00
Melissa Elkadi 82ba5a3531 Code clean up part one.
This commit includes about 1/3 of the code clean up
in preparation for the merge to the OAI develop
branch. Several of the changes are white space changes,
removing of logs, comment removals, and updating any
changed code for our use-case to be clear for NSA mode.
2021-09-23 12:53:38 -07:00
Melissa Elkadi d2daf8e860 Change slot_ahead to process ack/nack after pdsch 2021-09-15 11:07:27 -07:00
Melissa Elkadi 6a8e4e2883 Merge remote-tracking branch 'eurecom/develop' into episys/mel/merge_develop_cfra_working 2021-09-14 07:34:58 -07:00
francescomani beb0c4d8bb implementation of if_freq option at OAI UE 2021-09-13 19:05:32 +02:00
Melissa Elkadi ca1805faaf IP ping traffic is working correctly
In this commit we have updated the NRUE
to properly get the RadioBearer info from
the gNB. Because NSA and SA mode both use
this information, we have updated the SA
function previously in place by changing
the name to allow both NSA and SA mode to
use. This commit also updated the NR/LTE UEs
configuration files to with the correct
proxy IP address.
2021-09-03 10:13:59 -07:00
David Kim 6342e67c33 Setting UE and nrUE IP address in config file.
1. Removed hard coded IP address in the code for UE and nrUE's remote address.
2. Read IP address from config file for UE and nrUE's remote address.
2021-09-02 13:33:42 -07:00
David Kim 86d605eea1 Fix to handle multiple UEs and typo bug.
1. Changed hard coded preamble index(63) to soft coded.
2. Active UE will not be considered in gNB scheduging RA.
3. Added condition to process dci indication to handle multiple UEs.
4. Bug fix in mutex_lock (unlock to lock). It should be lock rather than unlock.
5. nr_ue_scheduler update not to entering into getting IP traffic to be transmitted in noS1 mode.
6. log update in checking the number of rx_ind or crc
2021-08-30 11:01:32 -07:00
Melissa Elkadi 63cb61db7d Only do DRB preconfiguration if NOT in noS1 mode 2021-08-25 16:09:20 -07:00
Deokseong "David" Kim 43d8ed216e Update on scheduler to relax AssertFatal. 2021-08-25 22:52:58 +00:00
Melissa Elkadi 1b49e7e2ef Additions to get UE connected to EPC 2021-08-25 12:10:12 -07:00
Melissa Elkadi b7e5c9cf9f Update logic for calling scheduler 2021-08-25 11:28:19 -07:00
Melissa Elkadi 0eb90bd8c8 Setting ue_sched_mode after filling RACH_IND
Also, removed the check before calling the
nr_uescheduler that was associated with the
ra.state. Lastly, removed the DL_HARQ_PID
position change as that was incorrect.
2021-08-20 09:55:17 -07:00