1818 Commits (1e2153769ef7bd052dc7a9abc56be2d3d770b4aa)

Author SHA1 Message Date
faluco 62faef7c71 - Replaced all uses of the log::console method. 4 years ago
Francisco Paisana b3eb9651d6 disable cqi in scells during handover procedure 4 years ago
Ismael Gomez f4c7021a5f Appy phy configuration to current_phy_cfg before sending to PHY after HO 4 years ago
Francisco Paisana 8a9a95a937 ensure sibs are acquired if cell selection calls cell search 4 years ago
Francisco Paisana af3ff5985e removal of console print of last selected cell during the cell selection procedure. 4 years ago
Francisco Paisana c33e94fede fix conformace 8_5_1_1 failure 4 years ago
Francisco Paisana 045f647914 fix edge case where serving cell is good enough for reestablishment but the sibs are not yet acquired 4 years ago
Andre Puschmann f32d9f8322 ttcn3: call stop in UE dtor
fixes stop issue of TTCN3 DUT
4 years ago
Ismael Gomez d671e39c93 Fix SINR not correctly considering noise. Missed dBm conversion 4 years ago
Francisco Paisana 5ecbe8fb17 cleanup of the reestablishment procedure state machine. It does not need to wait for the serving cell configuration because such procedure is already included in the cell selection procedure 4 years ago
Pedro Alvarez b3bfe336a9 Make sure that remote address test has a ip mask 4 years ago
Sylvain Munaut 6ce5863f03 test/tft_test: Add a combined test for IPv6 packets 4 years ago
Sylvain Munaut 9ba8b62972 test/tft_test: Update filter test suite
The “IPv4 local address type” filter should be 9 bytes since it includes
not only the ip address, but also its subnet mask.

Quoting from 3GPP TS 24.008 10.5.6.12:
"""
 For "IPv4 remote address type", the packet filter component value field
 shall be encoded as a sequence of a four octet IPv4 address field and a
 four octet IPv4 address mask field. The IPv4 address field shall be
 transmitted first. For "IPv4 local address type", the packet filter
 component value field shall be encoded as defined for "IPv4 remote
 address type".
"""

Same for the ToS which also includes a 1 byte mask value
4 years ago
Sylvain Munaut 5783c01cbb tf_packet_filter: Improve support for the different filter types 4 years ago
Ismael Gomez bb691f0cbe
Fix priority order in BSR trigger. Was not being triggered if SRB2 data was pending in the buffer (#1771) 4 years ago
Ismael Gomez 8c30822350 Fix bug in update_measurements() not reporting in_sync in single carrier 4 years ago
Francisco Paisana 0997daa7a0 now the handover procedure in the srsUE does not wait for the phy cell selection result. It only waits for the RA result 4 years ago
Ismael Gomez c75c463263
Use SNR instead of SINR for RLF threshold (#1769)
* Use SNR instead of SINR for RLF threshold

* Send in/out-sync only for cc_idx=0
4 years ago
Ismael Gomez 76bfc78147
Fix issues with Sounding-RS (#1761)
* Fix deadlock caused by update_measurements calling in_sync

* Fix overlapping SRS condition

* Do not use shortened PUSCH in transmissions and retx from RAR

* Revert "Fix deadlock caused by update_measurements calling in_sync"

This reverts commit f58c8c8c766f8f95baa3a3bf8287d8e25b2057ba.
4 years ago
Francisco Paisana 2d321231df fix reest proc. The reest proc state has to be set before launching the procedure, because the procedure can complete immediately on launch call 4 years ago
Pedro Alvarez 86f4d469c6 Added some functions to save and restore AS keys for the case of failed handover in the USIM 4 years ago
Francisco Paisana 81ab4c1a65 make sure ho procedure waits for t304 expiry in all cases 4 years ago
Ismael Gomez b94d24ed98
Take into account CRS from neigbhour cells when measuring interference (#1757)
* Take into account CRS from neigbhour cells when measuring interference

* fix std::isnormal compilation

* Fixed compilation of test

* Address comments

* Remove unused overrides
4 years ago
Francisco Paisana cf89d6645b add comments explaining each function of the reest procedure 4 years ago
Francisco Paisana d068d594af implemented rrc reestablishment procedure part after sending reest request 4 years ago
Francisco Paisana 7d6c9a1751 Add cause and cell pci to reestablishment console message 4 years ago
Francisco Paisana 73e21daeb2 refactor reestablishment procedure to more closely follow TS. 4 years ago
Andre Puschmann 1afc137032
[REBASE] Make PHY non-blocking and fefactor HO procedure (#1753)
* Make PHY non-blocking and fefactor HO procedure

* makes entire PHY non-blocking through command interface
* adds dedicated queue for cell_search/cell_select commands
* refactor HO procedure to run faster, in one stack cycle. Looks closer to the specs
* force ue to always apply SIB2 configuration during reestablishment
* Run update_measurements in all workers

Co-authored-by: Ismael Gomez <ismagom@gmail.com>
4 years ago
Ismael Gomez 399b986d0b
Fix deadlock caused by update_measurements calling in_sync (#1760) 4 years ago
Francisco Paisana eb370642ab verify cell selection observer is set before calling it 4 years ago
Francisco Paisana 7f8af023b8 added a callback that always gets triggered when the phy cell selection completes. This callback checks if cell selection failed, and if so, sets the rsrp of the selected cell to -infinity 4 years ago
faluco f0d651ae8e - Fixed a leak in the MME class not releasing the static byte buffer pool.
- Now the pool gets destroyed on program exit using a unique_ptr.
- Removed manual cleanup() calls in all the code base to free the pool instance.
4 years ago
Ismael Gomez 5968157ea5
Protect better the access to shared variables in phy_common and metrics (#1750) 4 years ago
Andre Puschmann eeb2b904aa ue,rach: fix failing RACH proc when Msg3 grant RNTI matches current CRNTI
this was preventing that the Temp-CRNTI used in the RAR to be identical
to the currently configured C-RNTI of the UE.

The issue simply was that the RACH procedure was declared successful too
early, even before the Msg3 UL grant was filled with the Msg3 content.

The patch moves the logic that detects the successful completion of
the RACH procedure below the Msg3 packing.
4 years ago
Andre Puschmann a36f9bddc2 ttcn3: use RNTI values in RACH provided by tester
this patch extends the SS to use the C-RNTI and Temp CRNTI values
provided by the tester for RAR and Msg3.
4 years ago
faluco e14cb4b405 - Fix a missing thread join in the phy which caused a memory leak. 4 years ago
faluco 5acc1c9a73 - Cleaned up style in the PRACH class:
* Removed magic numbers.
* Reduced indentation of statements with early exists.
* Removed elses after a return statement.
* Trimmed unnecessary include files.
* Default initialized members in the class.
4 years ago
faluco b6bbe8761a - Remove left over printf. 4 years ago
faluco 79f5b62551 - Calculate PRACH buffers on the fly when required instead of pregenerating all of them. 4 years ago
Andre Puschmann b616944a13 ue,rrc: fix security config during HO/reestablishment
we fix a number of very related issues for HO/reestablishment
in the success/error case:

* this patch removes the hard-coded check that intra-cell HO aren't
allowed. There are cases where eNBs use this method to update
the security context.

* the patch also fixes an issue after failed HO where the security context
of the source eNB should be used for the reestablishment.

* update security keys according to specs when mobilitycontrol
indicated change of key
4 years ago
Andre Puschmann d90de639e5 ttcn3_syssim: continue when epoll returns -1
this allows to debug and step in the SS
4 years ago
Andre Puschmann 1b266257a1 ttcn3_phy: improve logging of cell measurements 4 years ago
Andre Puschmann 6827c2df21 rrc_meas: disable layer3 filtering until quantity config is received
the filter alpha was initialized to zero by default which causes an
issue because the first measurement for a cell can't be updated,
because the filtering function will always return the current value.

According to 36.331 Sec 5.5.3.2 Note 2, a k-value of 0 should turn
off filtering, which should be used as the default value until
an update is received from the network.
4 years ago
Francisco Paisana 97133894e6 the Ocs value used in the measReport triggering decision was not being set correctly. The enum of the cell individual offset in the measCfg was being cast to an int and stored. Instead what we want is to store the actual offset value using the ASN1 enum->number lookup table. 4 years ago
Xavier Arteaga 44c2412be2 SRSUE: silent PUSCH encoding error by dropping invalid grant 4 years ago
Francisco Paisana 739c0c5c00 altered plmn search procedure handling of failed cell searches. If a cell search procedure fails due to inability to select a cell or acquire SIB1, the plmn search carries on for other frequencies. 4 years ago
Andre Puschmann 3088cdbb0f ttcn3: fix uncaught exception in SS
fix accessing child element in parsed Json without checking
its existence.
4 years ago
Andre Puschmann 8df388ba3e usim: fix typo in log 4 years ago
Andre Puschmann 3e824f6370 ttcn3: convert TTI action vector to queue
this makes sures queued events are executed FIFO
4 years ago
Andre Puschmann 624c8142ad ttcn3: refactor cell handling in SS
this rather large patch changes the way cells are handled in the SS.
It moves RLC and PDCP entities to the cell map of the SS, such that each cell
has its own entities. This allows to support HO operation, for example,
in which two cells need to send SRB messages.

It also extends most of the syssim interface to include the cell name
in all commands so they can be applied on the specified cell only.
4 years ago
Andre Puschmann 4650a620d9 ttcn3: refactor cell search and selection in TTCN3 PHY
- make sure only suitable cells are reported/selected
4 years ago
Andre Puschmann 973de8f78d ttcn3_dut: block OS signals before starting log backend
this prevents the backend thread from handling the signals. they
are only handled by epoll running in the main thread.

this fixes #1713
4 years ago
Ismael Gomez b397878d25 Fix comments in ue.conf 4 years ago
faluco c178e362b8 - Rewrite log management so that a log sink can be swapped for each testcase. 4 years ago
faluco 5e8a4c898d
Bring back the circular array object. (#1712) 4 years ago
Xavier Arteaga 52355024e7 SRSUE PHY: move mutex lock to cc worker and unlock for stack calls 4 years ago
Ismael Gomez 4c1d3ef7e8
Fix implementation of Random Access problem (#1689)
* Fix implementation of Random Access problem

* Apply AS activated condition on RLF before calling Reestablishment
4 years ago
Ismael Gomez f49fbd6d02
Fix the order of HO/reest measurement actions (#1696) 4 years ago
Andre Puschmann c16ac6c890 ue_stack: only push sync event to event queue is stack is still running
stopping the UE in ZMQ mode caused a dead-lock because the Stack was
stopped before the PHY causing the sync queue to overflow. Since we
use a queue-length of 1 in ZMQ, mode, the PHY sync thread was blocking to
push a new sync event while the stack thread was already stopped.

this patch makes sure no new sync events are queued after the stack has
been terminated.
4 years ago
Andre Puschmann aec18a93d1 mux,bsr: refactor UL buffer status reporting
this patch fixes the UL BSR as per TS 36.321, it includes following
main changes:

* report UL buffer state to reflect the UEs transmit buffer after
  the MAC UL PDU containing the BSR has been built.
  In other words, if the UE, for example, can transmit all outstanding
  data in an UL grant, it will not report any pending data to transmit.

* refactor MUX routines and subheader space calculation
4 years ago
Andre Puschmann 92d76a5eb6 mac_test: update tests involving BSR handling
* split existing BSR test into dedicated test for short, long, and trunc
  BSR tests

* update MAC tests that include packing UL BSR.
  (After checking TS 36.321 again it seems we have reported old UL buffer states)
4 years ago
Ismael Gomez 54eed11e1d Refactor decision for extended CSI/SRS 4 years ago
Ismael Gomez 51521ad8e4 Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10 4 years ago
Andre Puschmann 14289ebcc6 dl_harq: lower log level when MCS changes in DL grant to debug
fixes #1489

this is normal behavior and should not result in a warning message.
4 years ago
Ismael Gomez 06a5bdaab2 Process all calls to RLF in the main RRC task 4 years ago
Francisco Paisana 92221eb780 update of rrc_interface_mac to remove signal from mac to rrc that RA failed in case of handover failure 4 years ago
Francisco Paisana 46e1e101d3 removal of unecessary ho_ra_complete(false) in mac. In case of HO failure, the rrc should let the t304 expire 4 years ago
Francisco Paisana aed9120458 in case of RA problem during handover, the UE cannot trigger RLF. It has to let t304 expire, which will then trigger the reestablishment procedure with the right cause 4 years ago
Francisco Paisana fca1273b3e avoid spurious warnings of trying to start the PRACH when it is already running during handover 4 years ago
Francisco Paisana fddcc3d8ea In the case of Handover, postpone the activation of the CQI and SR config present in the HO command for after the RA proc completion to the target eNB 4 years ago
Andre Puschmann 641a4a5e79 mac_test: fix compilation if PCAP write is enabled 4 years ago
Andre Puschmann 49a7a90698 mac: simplify BSR packing logic
simplify logic to check whether a BSR fits and, if so, which type.
before the check has been done in two places.

we now also accomodate for the CE subheader size.
4 years ago
Andre Puschmann 6364a4513c mac_pdu: fix issue when packing CE but no space left in PDU
we've not checked the return value when adding a new CE, like BSR or PHR,
for a UL MAC PDU. For very small UL grants, this could fail and
we need to remove the subheader again before packing the PDU.

This fixes issue #1649.
4 years ago
Daniel Willmann 7d0ae71f17 ttcn3_sys_interface: Handle initial cell attenuation
When new Cells are added they can have an attenuation configured
directly. Honor that setting.
4 years ago
Francisco Paisana 5242f9422b fix deadlock in handover 4 years ago
Ismael Gomez 72cc4e0ca5 Stop ContentionResolutionTimer on RA error. Updated test 4 years ago
Xavier Arteaga df2c949417 Radio: add individual Rx gain and integrate in srsue
Fix compilation

Fix compilation

Add missing variable. Wasn't compiling

Radio: revert some changes
4 years ago
Xavier Arteaga 029f36b449 srsLTE: added efficient integer resampler and srsue/srsenb integration 4 years ago
Xavier Arteaga 1ff74da078 Remove wrong error message 4 years ago
Francisco Paisana 75b204bc52 fix phy ctrl call to cell selection observers 4 years ago
Francisco Paisana 834c0b3929 integrated new observer pattern into phy controller fsm 4 years ago
Francisco Paisana 48dd436d86 integrated observer pattern into rrc phy ctrl fsm 4 years ago
Francisco Paisana 997552ee45 stop t304 when handover is successful 4 years ago
Francisco Paisana 1d8286eb62 always wait for t304 to expire in case of failed handover 4 years ago
Francisco Paisana ccc8ab70ef stop t304 on handover procedure exit 4 years ago
Francisco Paisana db15f43a77 set reestablishment cause correctly on handover failure 4 years ago
Francisco Paisana b1670c005b remove shadowed variables for reestablishment during handover 4 years ago
Xavier Arteaga 0e96ef3df0 Channel emulator takes SNR as input parameter 4 years ago
Andre Puschmann 5e40bfe72c mac_pdu: unpack and print BSR index as well as BSR value in bytes
before the BSR was extracted but the actual index (between 0 and 63)
was not stored but directly converted into bytes.

for log parsing and debugging it is easier to follow the index
value. this patch therefore adds both values to the log message
and extends the API accordingly.
4 years ago
Francisco Paisana 8c9e596f89 refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code 4 years ago
Francisco Paisana 7cd4f45d62 fsm refactor.
- avoid triggering directly a subfsm
- improved metafunctions
- other cleanups
4 years ago
Francisco Paisana 841b884796 remove extern C flags from common_helper.h 4 years ago
Francisco Paisana 5be5409f62 scaling governor function moved to common header file 4 years ago
Francisco Paisana 087805d222 add warning if scaling governor is not performance mode 4 years ago
Francisco Paisana 8d10aa906e move defer_task to switch case in the rrc 4 years ago
Andre Puschmann 24dfb03b9d rrc: defer manipulations of the RLC/PDCP arrays
all calls that manipulate the RLC and/or PDCP arrays suffer
from a high deadlock risk if a PHY worker holds the RLC
AM Rx mutex at the same time when the stack wants to carry
out this reconfiguration.

this applies to RRC Reconfigs, but potentially also to RRC Connection
Reestablishment or even RRC Connection Setup, although this should
seldom be the case.

By breaking the call stack between RLC->PDCP->RRC->RCL and
carrying out the reconfig as a single task without holding the
RLC readlock the deadlock should not happen anymore.

This should fix issue #1593
4 years ago
faluco e5a792d508 - Fix unused variable. 4 years ago
faluco cfd3f51931
Import of srslog into srsepc and srsenb. (#1574)
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
4 years ago
Xavier Arteaga 202ec283ff SRSUE: fix erroneous code in MUX 4 years ago
Xavier Arteaga 4e1e8cea1a SRSUE: MAC HARQ entities vector is fixed 4 years ago
Xavier Arteaga 09af743361 SRSUE: minor PHY modfifications 4 years ago
Xavier Arteaga 0b02f8948c SRSUE: fix shadow variable 4 years ago
Ismael Gomez c02e920b6b Trigger RA after SR failed directly (don't wait for next BSR trigger) 4 years ago
faluco efdff8ba4c
Import srslog into srsue (#1556)
- Import the srslog project into srslte.
- Ported srsue app to use the new logging framework.
- Implemented a wrapper that dispatches log entries to srslog.
- Renamed an existing log test to be more specific to avoid name clashes.
4 years ago
Andre Puschmann 1199a79851 fix Scell sync for large cells
the PSS detection needs more temporary buffer than a full subframe.
we therefore need to allocate and initialize the sync object with
larger maximum size to support Scell search of large cells, e.g.
20 MHz

this fixes issue #1538
4 years ago
Andre Puschmann ce5129467c correct default value of PHY threads in eNB and UE examples 4 years ago
Andre Puschmann 9550bd3ef8 rlc: revisit interface for MAC and RRC
* add locked and unlocked version of has_data() since one is
  called from stack and one from PHY threads

* add comments in each interface section as to why locking
  is required or not

* remove RLC rwlock when not required

* move calls only used by RRC to RRC section
4 years ago
Pedro Alvarez c686e6cea1
SRSUE: Set SCell configuration is unlocking (#1544) 4 years ago
Ismael Gomez 06eba7eb72 Discard cells if not found during cel selection 4 years ago
Andre Puschmann 138ec1f8e7 nas,usim: remove use of shadowed variables 4 years ago
Ismael Gomez 7866f19f6b Use correct target cell when doing reselection in HO 4 years ago
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
Andre Puschmann 4fd5395903 change default EARFCN to 3350 or 2.68GHz
as 3400 or 2.685 GHz is on the edge of band 7, some phones won't connect
to a 20 MHz cell on this EARFCN.

In order to simplify testing with other bandwidths we change the default EARFCN.
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 039977aeb5 renamed interfaces 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
Pedro Alvarez 528777fa29 Added sleep to avoid nas test concurrency issue. 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
Andre Puschmann bd0c13aad0 ue_stack: bump priority of stack thread
the stack thread should really run with the next highest priority after
sync + phy workers to make sure it gets enough CPU
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 510687766f added comments in rrc cell select test 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
Andre Puschmann 218fa5cf55 ttcn3_dut: fix bug in DUT
reducing the sync queue len to 1 caused an issue when the
PHY was locking the mutex while trying to push a TTI event
on the stack.

instead of signaling the new TTI within the PHY, we now do it outside
in the DUT (after releasing the PHY mutex)
4 years ago
Francisco Paisana 84f34bc736 changed to a label filtering approach for ctest 4 years ago
Francisco Paisana ebb8f18000 set some extra tests with the prefix "long_" 4 years ago
Francisco Paisana c6323478d2 remove unecessary sleeps in mac test, and add long_ prefix in long tests 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
Ismael Gomez e378a45db0 Reorganized priorities to avoid GW starve the CPU 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 c15b2ec810 ttcn3_dut: always create timer when enabling TESTMODE B
create timer but dont yet set it. this avoid adding multiple
checks if the timer var is actually initialized.
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 d16897c09a scell_sync: fix missing dtor freeing sync object 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
Andre Puschmann 63f1ea1bec ttcn3: streamline DRB and SRB Tx interface
use the same tx interface with const uint8_t* and length byte instead of std::string
4 years ago
Daniel Willmann 7a25d1d300 Send the RRC_PDU_IND as JSON
Fixes: srslte_ttcn3#13, srslte_ttcn3#15
4 years ago
Xavier Arteaga f8cc2d176d Fix typo 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 2c5e159420 ttcn3_drb_interface: remove use of GetArray()
unfortunately, the rapidjson version shipped with Ubuntu 16.04
doesn't support the GetArray() API so we need to use
normal iterator to loop over the array
4 years ago
Andre Puschmann bf6ddbe976 ttcn3_drb_interface: use uint8_t and len as tx interface 4 years ago
Andre Puschmann 7f47edf67f fix issue where PDCP SDU was not going through UE stack to SS
this cause the PDCP echo reply not to appear in MAC/PCAP
4 years ago
Andre Puschmann 07f22326b4 pass current SS TTI when formatting DRB common IND 4 years ago
Daniel Willmann 8652f75510 Don't try to guess the lcid, use what we got 4 years ago
Daniel Willmann 0b88161b3c Send DRB PDUs as JSON to TTCN3 4 years ago
Daniel Willmann 31f1516d74 Use callback to establish connection before sending PDUs in TestmodeB 4 years ago
Daniel Willmann 9aa441f8b6 ttcn3_ue::timer_expired(): Loop through the correct queue
Fixes a segfault when a NULL pdu is passed to loop_back_pdu_with_tft()
4 years ago
Daniel Willmann a3adba0081 Implement DRB establishment and handle rx/tx 4 years ago
Daniel Willmann 999de5f484 ttcn3_helpers: Add function to generate JSON for DRB PDUs 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
Pedro Alvarez 9c1a7d2cf1 Removed get_bearer_status in PDCP. Renamed get_state/set_state to
get_bearer_state/set_bearer_state.
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 0d38c33a60 rename ue phy nr class 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 4 years ago
Ismael Gomez 9b634b8d2a Search DCI in UE space before common to avoid DCI size ambiguity. Fixes #1398 4 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
Daniel Willmann 0e99e2f6eb srsue: Refactor definition to live in its own .cc file 5 years ago
Francisco Paisana 8f4f37e89b remove more unused rrc variables 5 years ago
Francisco Paisana 29fd147d41 remove unused rrc variables 5 years ago
Francisco Paisana b2aae8763b made mac_nr and rrc_nr final to avoid using virtual dtors 5 years ago
Francisco Paisana 76a3c0ed1c removed deadcode 5 years ago
Francisco Paisana 452c043370 created a global map of lcids to srbs/drbs for NR 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 edba7f57e4 corrected mac_nr_pdu includes 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 e605a6f367 UE PHY test disabled due to unstable behaviour 5 years ago
Xavier Arteaga 0d2b3eb55d Removed ue_phy_test log overload 5 years ago
Xavier Arteaga ac0e347d94 SRSUE: refactored sync.cc and clean up 5 years ago
Xavier Arteaga 2d8bd0692a SRSUE: fix and enable UE PHY test 5 years ago
Xavier Arteaga dc927b745a SRSUE Removed async_scell_recv.h 5 years ago
faluco d80bce79e0 Fix for 1489462. 5 years ago
faluco eb69321649 Fix for issue 1476278. 5 years ago
faluco 9efa24bfa9 More warning fixes. 5 years ago
faluco 7ff251f112 - Fixed warnings caught by Clang 9.0.0 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 38f848ecdf fix type name deducing for clang 5 years ago
Francisco Paisana af9ca9f9e5 remove unecessary moves 5 years ago
Francisco Paisana 12b2ea7dde remove warnings for base classes with no virtual dtors 5 years ago
Francisco Paisana b8e6ba02e4 remove warnings related to unused vars and fwd declarations with trivial dtors 5 years ago
yagoda 8e0b106c22 fixing some warnings from LGTM 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
Andre Puschmann 3aa0179caf {ue,enb}.conf.example: add zmq examples to config
the examples are commented but by just uncommenting those
two lines the user should be able to run a eNB and UE on the same
machine in SISO mode over ZMQ
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 89dcd6339f More LGTM fixes 5 years ago
Xavier Arteaga 77d5dedddc Fix LGTM warnings and recommendations 5 years ago
Xavier Arteaga 562590e595 Fix LGTM warnings 5 years ago