Francisco Paisana
58a9610efa
use of stack event loop to propagate cell search and selection results
5 years ago
Francisco Paisana
d48a45976e
moved cell selection/search complete event signalling out of phy_controller
5 years ago
Francisco Paisana
48138b5281
removal of phy cell selection procedure as it now it is replaced by phy controller
5 years ago
Francisco Paisana
489969722e
implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state
5 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
5 years ago
Francisco Paisana
5e06430455
removal of stack handler interface
5 years ago
Francisco Paisana
7c364070ee
creation of task scheduler interface for classes/functions running outside the main control thread
5 years ago
Francisco Paisana
039977aeb5
renamed interfaces
5 years ago
Francisco Paisana
1a9c04bf2f
use of task scheduler handle in pdcp
5 years ago
Francisco Paisana
4f5e65781f
created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks
5 years ago
Pedro Alvarez
528777fa29
Added sleep to avoid nas test concurrency issue.
5 years ago
Francisco Paisana
8c920837d6
fix issue when adding neighbour cell that matches serving cell
5 years ago
Francisco Paisana
43db9b81fb
fix function ptr issue
5 years ago
Francisco Paisana
d746115130
moved serving cell to meas_cell_list
5 years ago
Francisco Paisana
928459408e
fix cell meas sorting issue
5 years ago
Francisco Paisana
d2dd30c8cb
rrc_meas_test failing
5 years ago
Francisco Paisana
9a1f69113f
created class for managing neighbor cells of rrc
5 years ago
Francisco Paisana
069dc1f751
moved cell struct of srsue::rrc to separate file
5 years ago
Andre Puschmann
1e4eae7395
nas: log estimated count instead of local rx_count when logging integrity check result
5 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
5 years ago
Francisco Paisana
08f9801c76
remove requirement for rrc to be idle and nas attached to run reselection
5 years ago
Francisco Paisana
d12b037e0d
make cell reselection periodic and with period of 20msec
5 years ago
Francisco Paisana
510687766f
added comments in rrc cell select test
5 years ago
Francisco Paisana
c6f422d23e
improved cell selection test in srsue::rrc
5 years ago
Francisco Paisana
3b1f2719dd
return error from cell selection if unable to select serving cell
5 years ago
Francisco Paisana
3e016b8095
select serving cell during cell selection if it is stronger than neighbors
5 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)
5 years ago
Francisco Paisana
84f34bc736
changed to a label filtering approach for ctest
5 years ago
Francisco Paisana
ebb8f18000
set some extra tests with the prefix "long_"
5 years ago
Francisco Paisana
c6323478d2
remove unecessary sleeps in mac test, and add long_ prefix in long tests
5 years ago
Pedro Alvarez
772ab89391
srsUE: Fix for NAS overflow counter computation.
5 years ago
Ismael Gomez
0382933cb1
Select serving cell if PHY not in sync
5 years ago
Ismael Gomez
e378a45db0
Reorganized priorities to avoid GW starve the CPU
5 years ago
Francisco Paisana
d7a0fe4060
improve log messages for CA
5 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).
...
5 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.
5 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
5 years ago
Andre Puschmann
d16897c09a
scell_sync: fix missing dtor freeing sync object
5 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.
5 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
5 years ago
Daniel Willmann
7a25d1d300
Send the RRC_PDU_IND as JSON
...
Fixes: srslte_ttcn3#13, srslte_ttcn3#15
5 years ago
Xavier Arteaga
f8cc2d176d
Fix typo
5 years ago
Xavier Arteaga
2f0c38fc70
SRSUE: avoid deadlock while configuring cell from stack
5 years ago
Francisco Paisana
a0606669e2
fix ue nr gw initialization
5 years ago
Francisco Paisana
fddcbc9879
fix vnf-ue stack interface
5 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
5 years ago
Andre Puschmann
bf6ddbe976
ttcn3_drb_interface: use uint8_t and len as tx interface
5 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
5 years ago
Andre Puschmann
07f22326b4
pass current SS TTI when formatting DRB common IND
5 years ago
Daniel Willmann
8652f75510
Don't try to guess the lcid, use what we got
5 years ago
Daniel Willmann
0b88161b3c
Send DRB PDUs as JSON to TTCN3
5 years ago
Daniel Willmann
31f1516d74
Use callback to establish connection before sending PDUs in TestmodeB
5 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()
5 years ago
Daniel Willmann
a3adba0081
Implement DRB establishment and handle rx/tx
5 years ago
Daniel Willmann
999de5f484
ttcn3_helpers: Add function to generate JSON for DRB PDUs
5 years ago
Andre Puschmann
aca307b79b
ue,rrc: don't log neighbor list in info mode
...
this floods the info log
5 years ago
Francisco Paisana
d7138b7752
fix nr activation guards
5 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
5 years ago
Francisco Paisana
ddff68a546
add ifdef guards for NR code
5 years ago
Francisco Paisana
6735199728
fix nr optional linking
5 years ago
Francisco Paisana
f0874b780b
add radio_base/null classes
5 years ago
Pedro Alvarez
9c1a7d2cf1
Removed get_bearer_status in PDCP. Renamed get_state/set_state to
...
get_bearer_state/set_bearer_state.
5 years ago
Xavier Arteaga
0e415260e9
SRSUE: scell_sync vector changed to map
5 years ago
Xavier Arteaga
e0e8405285
SRSUE: initial scell sync
...
SRSUE: SCell Synch feedbacks delay
SRSUE: Implemented SCell Radio offset correction
5 years ago
Francisco Paisana
a42c20b73d
preemptive transmission of the rrc reconf complete
5 years ago
Ismael Gomez
54b331c504
Adds best neighbour to CSV and stdout metrics ( #1440 )
5 years ago
Xavier Arteaga
65a603f522
SRSUE: minor AGC code readability improvement
5 years ago
Xavier Arteaga
f04cf2090a
Integrates number of samples in radio buffer
...
Fix minor issue
Radio: Fix minor bug and add unit test
5 years ago
Xavier Arteaga
de230826b9
Added string helper for removing spaces and parsing list
...
Fix
Fix string parser
5 years ago
Xavier Arteaga
89b24b54e5
Refactored radio class for acommodating multiple RF devices
5 years ago
Andre Puschmann
d1cb5531d6
demux: fix typo
5 years ago
Andre Puschmann
c71d6b9204
ue,rrc: improve error message when cell selection fails due to missing SIBs
5 years ago
Francisco Paisana
057980d1fb
use common log helper macros
5 years ago
Francisco Paisana
0d38c33a60
rename ue phy nr class
5 years ago
Francisco Paisana
27e5d98ef9
added vnf phy nr
5 years ago
Pedro Alvarez
396dc82b98
Swapped resume with reestablish in the UE.
5 years ago
Xavier Arteaga
0e5704731e
Removed UHD unrelated changes
5 years ago
Xavier Arteaga
cd463d1b87
UHD: Initial C++ porting
...
UHD: cmakefix
x3
5 years ago
Andre Puschmann
8512c10286
create simple helper method to log command line arguments
5 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
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
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
e6792cf9b7
Refactored OFDM and added half CP window offset in UL Demodulator
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
Andre Puschmann
2e7e61f53e
rrc_meas: fix another compile error on 32bit
5 years ago
Andre Puschmann
8c925e90f5
rrc: fix compile error on 32bit machines
5 years ago
Andre Puschmann
20d9a83dac
fix printfs of 64bit numbers when compiling for 32 bit
...
this caused issues when compiling in 32bit on RPi2
5 years ago
Xavier Arteaga
04c47e2b47
Added srsue argument for enabling EVM calculation
5 years ago
Xavier Arteaga
1cabe2d55f
Load PDSCH configuration arguments
5 years ago
Francisco Paisana
c09f76ed6c
unified stack task defer method
5 years ago
Andre Puschmann
d35c9e2b89
nas: add support ot UE test loop mode B
...
extend GW-NAS interface to signal test mode activation.
The method is a noop in the normal GW but is implemented in
the TTCN3 DUT according to TS 36.509 for Mode B
5 years ago
Andre Puschmann
66a799661e
gw,tft: move traffic flow template matching into own class
...
this prepares the reuse of the matching functions for the TTCN3 DUT.
create own matcher class that the GW uses.
5 years ago
Xavier Arteaga
198684ce32
SRSUE: all TA control logic into a single class and faster TA response
5 years ago
Francisco Paisana
a2ade9edd1
break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder
5 years ago
Francisco Paisana
2950d26daa
remove asn1 namespace from srsue files
5 years ago