1319 Commits (d0969a7ad9d5569a0d788a2b1b84334537d55165)

Author SHA1 Message Date
Ismael Gomez 443dee7035
Changes in Cell Selection Procedure (#1557)
* Fixes RRC cell reselection procedure
4 years ago
Xavier Arteaga 0192130742 SRSUE/SRSENB: UCI bits are carrier by the lowest serving cell index
SRSENB: Fix UCI in lowest serving cell index PUSCH transmission
4 years ago
Francisco Paisana 4fb8011a6d updated phy controller to use task scheduler 4 years ago
Francisco Paisana 36fc88d2e2 fsm log macros, and utility methods to convert event callbacks to move tasks 4 years ago
Francisco Paisana 9c5471b094 more ergonomic event callback 4 years ago
Francisco Paisana 58a9610efa use of stack event loop to propagate cell search and selection results 4 years ago
Francisco Paisana d48a45976e moved cell selection/search complete event signalling out of phy_controller 4 years ago
Francisco Paisana 48138b5281 removal of phy cell selection procedure as it now it is replaced by phy controller 4 years ago
Francisco Paisana 489969722e implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state 4 years ago
Andre Puschmann a7911f0dab pdcp,rlc: refactor SDU queueing policy
this patch refactors the SDU queuing and dropping policy of the RLC and PDCP layer.
the previous design had issues when packets have been generated at a higher
rate above the PDCP than they could be consumed below the RLC.

When the RLC SDU queues were full, we allowed two policies, one to block on the write
and the other to drop the SDU. Both options are not ideal because they either
lead to a blocking stack thread or to lost PDCP PDUs.

To avoid this, this patch makes the following changes:

* PDCP monitors RLC's SDU queue and drops packets on its north-bound SAP if queues are full
  * a new method sdu_queue_is_full() has been added to the RLC interface for PDCP
* remove blocking write from pdcp and rlc write_sdu() interface
  * all writes into queues need to be non-blocking
  * if Tx queues are overflowing, SDUs are dropped above PDCP, not RLC
* log warning if RLC still needs to drop SDUs
  * this case should be avoided with the monitoring mechanism
4 years ago
Francisco Paisana 5e06430455 removal of stack handler interface 4 years ago
Francisco Paisana 7c364070ee creation of task scheduler interface for classes/functions running outside the main control thread 4 years ago
Francisco Paisana 1a9c04bf2f use of task scheduler handle in pdcp 4 years ago
Francisco Paisana 4f5e65781f created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks 4 years ago
Francisco Paisana 8c920837d6 fix issue when adding neighbour cell that matches serving cell 4 years ago
Francisco Paisana 43db9b81fb fix function ptr issue 4 years ago
Francisco Paisana d746115130 moved serving cell to meas_cell_list 4 years ago
Francisco Paisana 928459408e fix cell meas sorting issue 4 years ago
Francisco Paisana d2dd30c8cb rrc_meas_test failing 4 years ago
Francisco Paisana 9a1f69113f created class for managing neighbor cells of rrc 4 years ago
Francisco Paisana 069dc1f751 moved cell struct of srsue::rrc to separate file 4 years ago
Andre Puschmann 1e4eae7395 nas: log estimated count instead of local rx_count when logging integrity check result 4 years ago
Francisco Paisana 08f9801c76 remove requirement for rrc to be idle and nas attached to run reselection 4 years ago
Francisco Paisana d12b037e0d make cell reselection periodic and with period of 20msec 4 years ago
Francisco Paisana c6f422d23e improved cell selection test in srsue::rrc 4 years ago
Francisco Paisana 3b1f2719dd return error from cell selection if unable to select serving cell 4 years ago
Francisco Paisana 3e016b8095 select serving cell during cell selection if it is stronger than neighbors 4 years ago
Pedro Alvarez 772ab89391 srsUE: Fix for NAS overflow counter computation. 4 years ago
Ismael Gomez 0382933cb1 Select serving cell if PHY not in sync 4 years ago
Francisco Paisana d7a0fe4060 improve log messages for CA 4 years ago
Andre Puschmann a5c0f96fa7 srsue: limit sync queue length to 1 for ZMQ radio
apply same change that we've done on the eNB also on the UE
to avoid the PHY processing TTIs faster than the stack.

Without that, we see lots of those in the logs:

...
08:39:17.580325 [STCK] [W] Detected slow task processing (sync_queue_len=7).
...
4 years ago
Andre Puschmann cf12c98630 srsue: exit early if radio can't be initialized
since the radio is the first component we initialize, it is safe to
exit the ue::init() straight away, as no other layers use any handles yet
4 years ago
Andre Puschmann e981d5ee70 rrc,ue: refactor wait conditions before transition to RRC idle
before entering RRC idle, after receiving a RRC connection release for example,
we need to wait until the RLC for SRB1 or SRB2 have been flushed, i.e.
the RLC has acknowledged the reception of the message.

Previously we have only waited for SRB1 but the message can also be received on SRB2
and in this case both bearers need to be checked.

The method is now streamlined to check both SRBs and is also used when
checking the msg transmission of an detach request.
4 years ago
Xavier Arteaga 2f0c38fc70 SRSUE: avoid deadlock while configuring cell from stack 4 years ago
Francisco Paisana a0606669e2 fix ue nr gw initialization 4 years ago
Francisco Paisana fddcbc9879 fix vnf-ue stack interface 4 years ago
Andre Puschmann aca307b79b ue,rrc: don't log neighbor list in info mode
this floods the info log
4 years ago
Francisco Paisana d7138b7752 fix nr activation guards 4 years ago
Ismael Gomez 29e126a583
Add per-channel TX gain (#1450)
* Change type of rf_set_gain() to avoid unambiguous return with negative gains

* Add per-channel TX gain
4 years ago
Francisco Paisana ddff68a546 add ifdef guards for NR code 4 years ago
Francisco Paisana 6735199728 fix nr optional linking 4 years ago
Francisco Paisana f0874b780b add radio_base/null classes 4 years ago
Xavier Arteaga 0e415260e9 SRSUE: scell_sync vector changed to map 4 years ago
Xavier Arteaga e0e8405285 SRSUE: initial scell sync
SRSUE: SCell Synch feedbacks delay

SRSUE: Implemented SCell Radio offset correction
4 years ago
Francisco Paisana a42c20b73d preemptive transmission of the rrc reconf complete 4 years ago
Ismael Gomez 54b331c504
Adds best neighbour to CSV and stdout metrics (#1440) 4 years ago
Xavier Arteaga 65a603f522 SRSUE: minor AGC code readability improvement 4 years ago
Xavier Arteaga f04cf2090a Integrates number of samples in radio buffer
Fix minor issue

Radio: Fix minor bug and add unit test
4 years ago
Xavier Arteaga de230826b9 Added string helper for removing spaces and parsing list
Fix

Fix string parser
4 years ago
Xavier Arteaga 89b24b54e5 Refactored radio class for acommodating multiple RF devices 4 years ago
Andre Puschmann d1cb5531d6 demux: fix typo 4 years ago
Andre Puschmann c71d6b9204 ue,rrc: improve error message when cell selection fails due to missing SIBs 4 years ago
Francisco Paisana 057980d1fb use common log helper macros 4 years ago
Francisco Paisana 27e5d98ef9 added vnf phy nr 4 years ago
Pedro Alvarez 396dc82b98 Swapped resume with reestablish in the UE. 4 years ago
Xavier Arteaga 0e5704731e Removed UHD unrelated changes 4 years ago
Xavier Arteaga cd463d1b87 UHD: Initial C++ porting
UHD: cmakefix

x3
4 years ago
Andre Puschmann 8512c10286 create simple helper method to log command line arguments 4 years ago
Ismael Gomez 84b84eaad6 Move search_in_common variable 5 years ago
Ismael Gomez 9b634b8d2a Search DCI in UE space before common to avoid DCI size ambiguity. Fixes #1398 5 years ago
Francisco Paisana 17cd3a02cb fix pcch error message 5 years ago
Francisco Paisana 877dee2ba8 fix use of phy cell select procedure 5 years ago
Francisco Paisana 3d76cc6c1a fix dangling pointer in cell selection dispatching 5 years ago
Francisco Paisana 81848deae2 extended handover procedure to accommodate all the handover (phy cell select + ra) 5 years ago
Francisco Paisana 556fcb69e7 fix handover my defering to next tti the reestablishment of bearers 5 years ago
Francisco Paisana 71cac8f5b8 fix phy cell selection triggering 5 years ago
Francisco Paisana 37ce475398 fix+refactor of the ue rrc handover preparation procedure to avoid deadlocking 5 years ago
Pedro Alvarez 960c0e97cd Added handling of RRC re-establishment to srsENB.
* Added the appropriate code for handling and sending the
   re-establishment procedure messages to rrc_ue.c/.h.
 * Triggered RRC reconfiguration after the reception of RRC
   re-establishment complete
 * Refreshed K_eNB at the reception of re-establishment
   request
 * Changed the mapping of TEIDs to RNTIs in the GTP-U layer,
   as the RNTI might change with reestablishment.
5 years ago
Francisco Paisana 29fd147d41 remove unused rrc variables 5 years ago
Francisco Paisana 76a3c0ed1c removed deadcode 5 years ago
Francisco Paisana 4cf756434f add srsue::rrc_nr srsue::ue_stack_nr 5 years ago
Francisco Paisana 6a164e032d added srsue::rrc_nr 5 years ago
chaolinyi bbe25a00d4 Update proc_ra.cc to bugfix RA-RNTI calculation
Bugfix the wrong ra_rnti calculation in ra_proc::state_pdcch_setup.
According to TS 36.321 Subsection 5.1.4 Random Access Response reception, we can see the formula on RA-RNTI, which is,
    RA-RNTI= 1 + t_id + 10*f_id,
where t_id is the index of the first subframe of the specified PRACH (0≤ t_id <10), and f_id is the index of the specified PRACH within that subframe, in ascending order of frequency domain (0≤ f_id< 6). Then, reading the srslte source code, we can see that, the code should bugfix. 
BTW, the wrong code can run normal for LTE_FDD, causing of the info_f_id = 0; but it should be wrong, when it is LTE_TDD.
5 years ago
Ismael Gomez 6a19a19f00 Fix memory fault during exiting and waiting for worker 5 years ago
Francisco Paisana 9a0ea6e08c use log_helper for log macros 5 years ago
Francisco Paisana 0b701022a3 added ue nr mac 5 years ago
Francisco Paisana d36ae722d5 added extra debug logs 5 years ago
Ismael Gomez 5d42d16b79 Do not cancel Regular BSR after triggering SR. Fixes mac_test 5 years ago
Ismael Gomez b5ccbf1891 Simplify relationship between BSR, SR and RA procedures. Fix issue #1346 5 years ago
Xavier Arteaga ac0e347d94 SRSUE: refactored sync.cc and clean up 5 years ago
faluco d80bce79e0 Fix for 1489462. 5 years ago
faluco eb69321649 Fix for issue 1476278. 5 years ago
Pedro Alvarez 2ea78c8feb Added configuration options for stack logging. 5 years ago
Ismael Gomez 8c82203c74 Removed unused pregenerate option 5 years ago
Andre Puschmann 25ab36ddd5 nas: fix UE not attaching if PLMN isn't found after switching on
if no cell/PLMN can be found if the UE is switched on, the UE was never
trying again.
In theory this would be handled by T3410, but the timer
is not started in case the PLMN search isn't done yet.
5 years ago
Andre Puschmann ead2acf70c ue: add info to check ue log file when param parsing failed 5 years ago
Andre Puschmann 552179a113 srsue: flush CSV metrics before stopping 5 years ago
Francisco Paisana de4d58d8fe fix coverity scan issues in master 5 years ago
Xavier Arteaga 9d0a3268e8 Added DL channel estimator algorithm options 5 years ago
Francisco Paisana af9ca9f9e5 remove unecessary moves 5 years ago
Andre Puschmann 1e0c8ead4c srsue,sync: fix TTI gap calculation and reporting
The current TTI gap calculation assumes strict continuity
of radio time stamps, even when retuning, changing sample rate, etc.

This is certainly desireble but not necessaritly the case and may cause
issues when negative time gaps or too large gaps are detected and reported
to the stack.

this patch makes the assumption that valid TTI jumps are between 1ms
and 1s and that larger gaps are the result of screwed time-stamps
or too long radio operations.
5 years ago
Francisco Paisana b506e29b72 removed common ce_typeenum 5 years ago
Xavier Arteaga 58803d1b3e Added UL EARFCN map and UE PHY interface cleanup 5 years ago
Xavier Arteaga 77d5dedddc Fix LGTM warnings and recommendations 5 years ago
Xavier Arteaga 562590e595 Fix LGTM warnings 5 years ago
Pedro Alvarez ad0abe740b Added support to PDCP SN len of 7. Also added a check for valid configs in pdcp entity. 5 years ago
Francisco Paisana 6ddedd5972 moved pdu to common mac folder 5 years ago
Xavier Arteaga 4756319e8f Reduce PHY logging 5 years ago
Xavier Arteaga 11a2d2cc4a Fix and tidy up time offset in srsue 5 years ago
Francisco Paisana 28467d568d eliminated old way to schedule tasks using the heap 5 years ago