Francisco Paisana
7c364070ee
creation of task scheduler interface for classes/functions running outside the main control thread
2020-07-13 11:19:25 +01:00
Francisco Paisana
039977aeb5
renamed interfaces
2020-07-13 11:19:25 +01:00
Francisco Paisana
1a9c04bf2f
use of task scheduler handle in pdcp
2020-07-13 11:19:25 +01:00
Francisco Paisana
4f5e65781f
created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks
2020-07-13 11:19:25 +01:00
Pedro Alvarez
528777fa29
Added sleep to avoid nas test concurrency issue.
2020-07-09 13:58:51 +01:00
Francisco Paisana
8c920837d6
fix issue when adding neighbour cell that matches serving cell
2020-07-08 00:19:18 +01:00
Francisco Paisana
43db9b81fb
fix function ptr issue
2020-07-08 00:19:18 +01:00
Francisco Paisana
d746115130
moved serving cell to meas_cell_list
2020-07-08 00:19:18 +01:00
Francisco Paisana
928459408e
fix cell meas sorting issue
2020-07-08 00:19:18 +01:00
Francisco Paisana
d2dd30c8cb
rrc_meas_test failing
2020-07-08 00:19:18 +01:00
Francisco Paisana
9a1f69113f
created class for managing neighbor cells of rrc
2020-07-08 00:19:18 +01:00
Francisco Paisana
069dc1f751
moved cell struct of srsue::rrc to separate file
2020-07-08 00:19:18 +01:00
Andre Puschmann
1e4eae7395
nas: log estimated count instead of local rx_count when logging integrity check result
2020-07-05 16:56:06 +02:00
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
2020-07-05 16:56:06 +02:00
Francisco Paisana
08f9801c76
remove requirement for rrc to be idle and nas attached to run reselection
2020-07-03 18:35:53 +01:00
Francisco Paisana
d12b037e0d
make cell reselection periodic and with period of 20msec
2020-07-03 18:35:53 +01:00
Francisco Paisana
510687766f
added comments in rrc cell select test
2020-07-03 14:00:14 +01:00
Francisco Paisana
c6f422d23e
improved cell selection test in srsue::rrc
2020-07-03 14:00:14 +01:00
Francisco Paisana
3b1f2719dd
return error from cell selection if unable to select serving cell
2020-07-03 10:26:49 +01:00
Francisco Paisana
3e016b8095
select serving cell during cell selection if it is stronger than neighbors
2020-07-03 10:26:49 +01:00
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)
2020-07-02 17:39:43 +02:00
Francisco Paisana
84f34bc736
changed to a label filtering approach for ctest
2020-07-02 15:56:59 +01:00
Francisco Paisana
ebb8f18000
set some extra tests with the prefix "long_"
2020-07-02 15:56:59 +01:00
Francisco Paisana
c6323478d2
remove unecessary sleeps in mac test, and add long_ prefix in long tests
2020-07-02 15:56:59 +01:00
Pedro Alvarez
772ab89391
srsUE: Fix for NAS overflow counter computation.
2020-07-02 14:52:21 +01:00
Ismael Gomez
0382933cb1
Select serving cell if PHY not in sync
2020-07-02 12:01:06 +02:00
Ismael Gomez
e378a45db0
Reorganized priorities to avoid GW starve the CPU
2020-07-02 11:52:14 +02:00
Francisco Paisana
d7a0fe4060
improve log messages for CA
2020-07-01 11:54:06 +01:00
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).
...
2020-06-30 10:36:01 +02:00
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.
2020-06-30 10:31:52 +02:00
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
2020-06-30 09:30:31 +02:00
Andre Puschmann
d16897c09a
scell_sync: fix missing dtor freeing sync object
2020-06-30 09:30:31 +02:00
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.
2020-06-29 21:19:42 +02:00
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
2020-06-29 13:45:42 +02:00
Daniel Willmann
7a25d1d300
Send the RRC_PDU_IND as JSON
...
Fixes: srslte_ttcn3#13, srslte_ttcn3#15
2020-06-29 13:45:42 +02:00
Xavier Arteaga
f8cc2d176d
Fix typo
2020-06-25 17:42:56 +02:00
Xavier Arteaga
2f0c38fc70
SRSUE: avoid deadlock while configuring cell from stack
2020-06-25 17:42:56 +02:00
Francisco Paisana
a0606669e2
fix ue nr gw initialization
2020-06-24 23:28:53 +01:00
Francisco Paisana
fddcbc9879
fix vnf-ue stack interface
2020-06-24 23:28:53 +01:00
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
2020-06-23 12:12:58 +02:00
Andre Puschmann
bf6ddbe976
ttcn3_drb_interface: use uint8_t and len as tx interface
2020-06-23 12:12:58 +02:00
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
2020-06-23 12:12:58 +02:00
Andre Puschmann
07f22326b4
pass current SS TTI when formatting DRB common IND
2020-06-23 12:12:58 +02:00
Daniel Willmann
8652f75510
Don't try to guess the lcid, use what we got
2020-06-23 12:12:58 +02:00
Daniel Willmann
0b88161b3c
Send DRB PDUs as JSON to TTCN3
2020-06-23 12:12:58 +02:00
Daniel Willmann
31f1516d74
Use callback to establish connection before sending PDUs in TestmodeB
2020-06-23 12:12:58 +02:00
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()
2020-06-23 12:12:58 +02:00
Daniel Willmann
a3adba0081
Implement DRB establishment and handle rx/tx
2020-06-23 12:12:58 +02:00
Daniel Willmann
999de5f484
ttcn3_helpers: Add function to generate JSON for DRB PDUs
2020-06-23 12:12:58 +02:00
Andre Puschmann
aca307b79b
ue,rrc: don't log neighbor list in info mode
...
this floods the info log
2020-06-19 16:45:36 +02:00
Francisco Paisana
d7138b7752
fix nr activation guards
2020-06-19 13:33:16 +01:00
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
2020-06-19 11:00:12 +02:00
Francisco Paisana
ddff68a546
add ifdef guards for NR code
2020-06-18 23:37:26 +01:00
Francisco Paisana
6735199728
fix nr optional linking
2020-06-18 23:37:26 +01:00
Francisco Paisana
f0874b780b
add radio_base/null classes
2020-06-18 23:37:26 +01:00
Pedro Alvarez
9c1a7d2cf1
Removed get_bearer_status in PDCP. Renamed get_state/set_state to
...
get_bearer_state/set_bearer_state.
2020-06-18 12:13:57 +01:00
Xavier Arteaga
0e415260e9
SRSUE: scell_sync vector changed to map
2020-06-18 09:51:51 +02:00
Xavier Arteaga
e0e8405285
SRSUE: initial scell sync
...
SRSUE: SCell Synch feedbacks delay
SRSUE: Implemented SCell Radio offset correction
2020-06-18 09:51:51 +02:00
Francisco Paisana
a42c20b73d
preemptive transmission of the rrc reconf complete
2020-06-17 12:21:58 +01:00
Ismael Gomez
54b331c504
Adds best neighbour to CSV and stdout metrics ( #1440 )
2020-06-17 12:11:06 +02:00
Xavier Arteaga
65a603f522
SRSUE: minor AGC code readability improvement
2020-06-16 11:00:51 +02:00
Xavier Arteaga
f04cf2090a
Integrates number of samples in radio buffer
...
Fix minor issue
Radio: Fix minor bug and add unit test
2020-06-16 11:00:51 +02:00
Xavier Arteaga
de230826b9
Added string helper for removing spaces and parsing list
...
Fix
Fix string parser
2020-06-16 11:00:51 +02:00
Xavier Arteaga
89b24b54e5
Refactored radio class for acommodating multiple RF devices
2020-06-16 11:00:51 +02:00
Andre Puschmann
d1cb5531d6
demux: fix typo
2020-06-11 22:10:19 +02:00
Andre Puschmann
c71d6b9204
ue,rrc: improve error message when cell selection fails due to missing SIBs
2020-06-11 17:55:04 +02:00
Francisco Paisana
057980d1fb
use common log helper macros
2020-06-11 15:50:36 +01:00
Francisco Paisana
0d38c33a60
rename ue phy nr class
2020-06-11 15:50:36 +01:00
Francisco Paisana
27e5d98ef9
added vnf phy nr
2020-06-11 15:50:36 +01:00
Pedro Alvarez
396dc82b98
Swapped resume with reestablish in the UE.
2020-06-10 15:08:32 +01:00
Xavier Arteaga
0e5704731e
Removed UHD unrelated changes
2020-06-10 11:44:44 +02:00
Xavier Arteaga
cd463d1b87
UHD: Initial C++ porting
...
UHD: cmakefix
x3
2020-06-10 11:44:44 +02:00
Andre Puschmann
8512c10286
create simple helper method to log command line arguments
2020-06-09 20:55:38 +02:00
Ismael Gomez
84b84eaad6
Move search_in_common variable
2020-06-03 17:23:42 +02:00
Ismael Gomez
9b634b8d2a
Search DCI in UE space before common to avoid DCI size ambiguity. Fixes #1398
2020-06-03 17:23:42 +02:00
Francisco Paisana
17cd3a02cb
fix pcch error message
2020-06-02 22:42:53 +01:00
Francisco Paisana
877dee2ba8
fix use of phy cell select procedure
2020-06-02 22:42:53 +01:00
Francisco Paisana
3d76cc6c1a
fix dangling pointer in cell selection dispatching
2020-06-02 19:11:26 +01:00
Francisco Paisana
81848deae2
extended handover procedure to accommodate all the handover (phy cell select + ra)
2020-06-02 19:11:26 +01:00
Francisco Paisana
556fcb69e7
fix handover my defering to next tti the reestablishment of bearers
2020-06-02 19:11:26 +01:00
Francisco Paisana
71cac8f5b8
fix phy cell selection triggering
2020-06-02 19:11:26 +01:00
Francisco Paisana
37ce475398
fix+refactor of the ue rrc handover preparation procedure to avoid deadlocking
2020-06-02 19:11:26 +01:00
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.
2020-06-02 11:19:17 +01:00
Daniel Willmann
0e99e2f6eb
srsue: Refactor definition to live in its own .cc file
2020-06-02 10:05:38 +02:00
Francisco Paisana
8f4f37e89b
remove more unused rrc variables
2020-06-01 19:59:50 +01:00
Francisco Paisana
29fd147d41
remove unused rrc variables
2020-06-01 19:59:50 +01:00
Francisco Paisana
b2aae8763b
made mac_nr and rrc_nr final to avoid using virtual dtors
2020-06-01 19:59:50 +01:00
Francisco Paisana
76a3c0ed1c
removed deadcode
2020-05-29 14:11:23 +01:00
Francisco Paisana
452c043370
created a global map of lcids to srbs/drbs for NR
2020-05-29 14:11:23 +01:00
Francisco Paisana
4cf756434f
add srsue::rrc_nr srsue::ue_stack_nr
2020-05-29 14:11:23 +01:00
Francisco Paisana
6a164e032d
added srsue::rrc_nr
2020-05-29 14:11:23 +01:00
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.
2020-05-28 23:11:37 +02:00
Ismael Gomez
6a19a19f00
Fix memory fault during exiting and waiting for worker
2020-05-26 14:55:37 +02:00
Francisco Paisana
9a0ea6e08c
use log_helper for log macros
2020-05-26 10:02:08 +01:00
Francisco Paisana
edba7f57e4
corrected mac_nr_pdu includes
2020-05-26 10:02:08 +01:00
Francisco Paisana
0b701022a3
added ue nr mac
2020-05-26 10:02:08 +01:00
Francisco Paisana
d36ae722d5
added extra debug logs
2020-05-22 16:46:42 +01:00
Ismael Gomez
5d42d16b79
Do not cancel Regular BSR after triggering SR. Fixes mac_test
2020-05-21 15:36:44 +01:00
Ismael Gomez
b5ccbf1891
Simplify relationship between BSR, SR and RA procedures. Fix issue #1346
2020-05-21 15:36:44 +01:00
Xavier Arteaga
e605a6f367
UE PHY test disabled due to unstable behaviour
2020-05-12 15:56:23 +02:00
Xavier Arteaga
0d2b3eb55d
Removed ue_phy_test log overload
2020-05-12 15:56:23 +02:00
Xavier Arteaga
ac0e347d94
SRSUE: refactored sync.cc and clean up
2020-05-12 15:56:23 +02:00
Xavier Arteaga
2d8bd0692a
SRSUE: fix and enable UE PHY test
2020-05-12 15:56:23 +02:00
Xavier Arteaga
dc927b745a
SRSUE Removed async_scell_recv.h
2020-05-12 15:56:23 +02:00
faluco
d80bce79e0
Fix for 1489462.
2020-05-07 18:53:40 +02:00
faluco
eb69321649
Fix for issue 1476278.
2020-05-07 10:12:29 +02:00
faluco
9efa24bfa9
More warning fixes.
2020-05-07 10:10:24 +02:00
faluco
7ff251f112
- Fixed warnings caught by Clang 9.0.0
2020-05-07 10:10:24 +02:00
Pedro Alvarez
2ea78c8feb
Added configuration options for stack logging.
2020-05-05 14:34:47 +01:00
Ismael Gomez
8c82203c74
Removed unused pregenerate option
2020-05-01 21:05:00 +02:00
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.
2020-05-01 21:03:47 +02:00
Andre Puschmann
ead2acf70c
ue: add info to check ue log file when param parsing failed
2020-05-01 21:03:47 +02:00
Andre Puschmann
552179a113
srsue: flush CSV metrics before stopping
2020-04-29 18:56:10 +02:00
Francisco Paisana
de4d58d8fe
fix coverity scan issues in master
2020-04-29 11:17:00 +02:00
Xavier Arteaga
9d0a3268e8
Added DL channel estimator algorithm options
2020-04-28 17:26:01 +02:00
Francisco Paisana
38f848ecdf
fix type name deducing for clang
2020-04-27 22:19:08 +01:00
Francisco Paisana
af9ca9f9e5
remove unecessary moves
2020-04-27 22:19:08 +01:00
Francisco Paisana
12b2ea7dde
remove warnings for base classes with no virtual dtors
2020-04-27 22:19:08 +01:00
Francisco Paisana
b8e6ba02e4
remove warnings related to unused vars and fwd declarations with trivial dtors
2020-04-27 22:19:08 +01:00
yagoda
8e0b106c22
fixing some warnings from LGTM
2020-04-27 20:59:40 +02:00
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.
2020-04-27 17:01:02 +02:00
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
2020-04-27 11:03:48 +02:00
Francisco Paisana
b506e29b72
removed common ce_typeenum
2020-04-24 11:55:53 +01:00
Xavier Arteaga
58803d1b3e
Added UL EARFCN map and UE PHY interface cleanup
2020-04-23 09:00:45 +02:00
Xavier Arteaga
89dcd6339f
More LGTM fixes
2020-04-22 18:01:43 +02:00
Xavier Arteaga
77d5dedddc
Fix LGTM warnings and recommendations
2020-04-22 18:01:43 +02:00
Xavier Arteaga
562590e595
Fix LGTM warnings
2020-04-22 18:01:43 +02:00
Pedro Alvarez
ad0abe740b
Added support to PDCP SN len of 7. Also added a check for valid configs in pdcp entity.
2020-04-22 17:44:00 +02:00
Francisco Paisana
6ddedd5972
moved pdu to common mac folder
2020-04-22 10:06:08 +01:00
Xavier Arteaga
e6792cf9b7
Refactored OFDM and added half CP window offset in UL Demodulator
2020-04-20 16:10:27 +02:00
Xavier Arteaga
4756319e8f
Reduce PHY logging
2020-04-20 16:10:01 +02:00
Xavier Arteaga
11a2d2cc4a
Fix and tidy up time offset in srsue
2020-04-20 16:10:01 +02:00
Francisco Paisana
28467d568d
eliminated old way to schedule tasks using the heap
2020-04-17 11:38:24 +01:00
Andre Puschmann
2e7e61f53e
rrc_meas: fix another compile error on 32bit
2020-04-16 17:45:53 +02:00
Andre Puschmann
8c925e90f5
rrc: fix compile error on 32bit machines
2020-04-16 10:24:27 +02:00
Andre Puschmann
20d9a83dac
fix printfs of 64bit numbers when compiling for 32 bit
...
this caused issues when compiling in 32bit on RPi2
2020-04-15 13:42:26 +02:00
Xavier Arteaga
04c47e2b47
Added srsue argument for enabling EVM calculation
2020-04-15 11:39:57 +02:00
Xavier Arteaga
1cabe2d55f
Load PDSCH configuration arguments
2020-04-15 11:39:57 +02:00
Francisco Paisana
c09f76ed6c
unified stack task defer method
2020-04-10 22:30:59 +01:00
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
2020-04-10 21:18:43 +02:00
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.
2020-04-10 21:18:43 +02:00
Xavier Arteaga
198684ce32
SRSUE: all TA control logic into a single class and faster TA response
2020-04-10 15:57:41 +02:00
Francisco Paisana
a2ade9edd1
break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder
2020-04-09 10:10:04 +01:00
Francisco Paisana
2950d26daa
remove asn1 namespace from srsue files
2020-04-09 10:10:04 +01:00
Andre Puschmann
451bbb20e8
ttcn3_ss: refactor AS security activation and use new timed call
2020-04-09 10:55:13 +02:00
Ismael Gomez
309c10b0c6
Set CFO from initial cell search
2020-04-08 13:18:05 +02:00
Andre Puschmann
54a99d3f66
ttcn3_dut: add basic DRB handler skeleton
...
the handler is currently just listening on the designated port
and prints the received JSON string
2020-04-04 22:52:18 +02:00
Daniel Willmann
925225dbeb
Implement Close UE Test Loop/Complete messages
...
This commit implements support for the CLOSE_UE_TEST_LOOP message.
Currently the mode is not saved and looping the data is not implemented.
Only the *_COMPLETE message is sent back as a response.
2020-04-04 22:51:43 +02:00
Andre Puschmann
a4abd96ab6
nas: use MME security header when receiving identity request
...
this basically avoids sending a integrity protected or ciphered
identity response to a plain identity request
2020-04-03 22:22:04 +02:00
Andre Puschmann
4f8f6bf90c
nas: add comment as to why attach request is only integrity protected
2020-04-03 22:22:04 +02:00
Andre Puschmann
84d80f3e32
ss: use factory method to create PDCP config for SRB
2020-04-03 22:22:04 +02:00
Andre Puschmann
acc2948b45
nas: fix security handling
...
First of all, with this the NAS conformance tests pass with ciphering and
integrity turned on. Before only integrity was working.
Mainly the NAS was applying the integrity protection and/or ciphering
incorrectly because it wasn't taking the secuirty status of the PDUs
into account. Some where already correct, some not. The patch
streamlines the handling for all outgoing messages.
2020-04-03 22:22:04 +02:00
Xavier Arteaga
9a2b0b7cc7
Standard vector allocation uses vector library
2020-04-02 20:49:58 +02:00
Xavier Arteaga
25312e81b4
SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object
2020-04-02 13:52:23 +02:00
Xavier Arteaga
cbaba9c0bd
Fix RRC and TTCN3 test
2020-04-02 13:52:23 +02:00
Xavier Arteaga
051e8fcc52
SRSUE: Apply default PHY config to SCell as well
2020-04-02 13:52:23 +02:00
Xavier Arteaga
e9813375eb
SRSUE: set SNR threshold for MIB decoding
2020-04-02 13:52:23 +02:00
Xavier Arteaga
6d355ab61e
SRSUE: Fix HO initial CFO
2020-04-02 13:52:23 +02:00
Francisco Paisana
30ae2226c1
common interface for stack multiqueue tasks, background tasks and timers
2020-03-31 13:42:06 +01:00
Andre Puschmann
62e4bd9469
log_ptr: fix issue if accessing log_ptr that was reset already
...
during deinit of the UE/eNB it could happen that the log_ptr
was already set to null but the stack thread was still accessing
it through log_h->info()
i've moved the old macro into a new header and used as as much
as possible. there are still places in the code where similar
macros are used but we would need to change the variable name
to replace them
2020-03-31 12:32:52 +02:00
Andre Puschmann
dbb8b6a360
nas: add helper for entering new state in FSM
...
the helper will log the event
2020-03-30 11:23:40 +02:00
Andre Puschmann
ef80502047
nas: print attach attempts on console
2020-03-30 11:23:40 +02:00
Andre Puschmann
f477c1d2e5
nas: allow starting a attach request procedure even if a PLMN is already selected
...
previously the NAS would cancel a attach request procedure if the PLMN
is already selected. PLMN selection, however, in not necessarily happening
before requesting RRC to establish a connection.
2020-03-30 11:23:40 +02:00
Andre Puschmann
d8680cc9a8
nas: add helper to pack attach request and send to RRC
2020-03-30 11:23:40 +02:00
Andre Puschmann
cf28276a3a
nas: add helper function to reset NAS security context
2020-03-30 11:23:40 +02:00
Andre Puschmann
94c6034339
nas: rename start_attach_request to start_attach_proc
...
this is to better differentiate from "send_attach_request" that
only packs and send the actual attach request message. The
entire attach procedure may include PLMN search, etc.
2020-03-30 11:23:40 +02:00
Andre Puschmann
9239bb14a6
ss: store current TTI in DL/UL grant struct
...
this fixes the TTI log in the PCAP generated by the UE
2020-03-30 11:23:40 +02:00
Andre Puschmann
5267a88d60
ttcn3_ss: remove unneeded NDI reset
2020-03-29 22:36:33 +02:00
Andre Puschmann
562b4ef6c8
ttcn3_ss: add missing timer stepping
2020-03-28 21:24:13 +01:00
Andre Puschmann
0e76b9ed15
nas: set NAS key set identifier to no key available when attaching with IMSI
2020-03-28 21:24:13 +01:00
Andre Puschmann
9cfe692825
nas: fix reset of attach attempt counter according to 24.301 Sec 5.5.1.1
2020-03-27 18:15:37 +01:00
Andre Puschmann
d0480141e5
nas: move re-arming and stopping of attach request related timers
...
t3402, t3410 and t3411 are now managed in the sender
function of the attach request. previosly they were only
correctly started in the high-level NAS call start_attach_request()
which may not be called if NAS itself resends the request
2020-03-27 18:15:37 +01:00
Andre Puschmann
15c47fab56
nas: adding t3402 to restart attach after initial attach attempt counter expired
2020-03-27 18:15:37 +01:00
Andre Puschmann
7ef56cb637
nas: add an attach attempt counter as described in 24.301
2020-03-27 18:15:37 +01:00
Francisco Paisana
1538917c3f
fix ue metrics
2020-03-25 19:18:00 +00:00
Francisco Paisana
599588ff51
removed uneeded locks in the rlc, moved ue stack get_metrics to stack thread, solved the idle procedure double-locking
2020-03-25 19:18:00 +00:00
Ismael Gomez
95c6916987
Improve robustness in RF Overflow ( #1124 )
...
* Use task id to track old background tasks in RA procedure
* Improve robustness against RF overflow in PHY
* Increase SNR out-of-sync threshold
* Do not change frequency if it's the same
* Increase sync priority
* Increase time to start receiving to reduce input buffer occupation
* Use scoped lock in sf_worker
2020-03-25 16:56:32 +01:00
Francisco Paisana
344eaf49ec
use logmap in the whole enb and ue
2020-03-25 15:50:30 +00:00
Francisco Paisana
8e837e173d
printf has already a way to pad spaces. If we use it, we can avoid accidentally adding extra logs because we did srslte::logmap::get("MAC") instead of srslte::logmap::get("MAC ")
2020-03-24 22:36:27 +00:00
Ismael Gomez
4fe68e2d54
Verify that cell is valid before configuring scell
2020-03-24 16:45:05 +01:00
Francisco Paisana
c7741f368f
update rrc_meas_test
2020-03-24 12:28:12 +00:00
Francisco Paisana
aeed623734
removed pdu processing from the ue rrc cmd queue. Instead, now the rrc processes the incoming pdus right away. This is essential to fix the security cmd issue in the ue
2020-03-24 12:28:12 +00:00
Xavier Arteaga
8e891b7038
Added AWGN channel to SRSUE and SRSENB
2020-03-24 12:16:28 +01:00
Andre Puschmann
b9a2217355
fix uninit vars reported by Coverity
2020-03-24 09:47:07 +01:00
Xavier Arteaga
5e6828c3a0
SRSUE: fix add/mod meas object
2020-03-24 08:13:44 +01:00
Andre Puschmann
3f10224729
refactor airplane mode simulation and move to NAS
...
- move handling to NAS
- use switch off to enable airplane mode (don't wait for EPC response)
- add tiny FSM to control airplane mode activation/deactivation
- only start on/off counter after state has been entered
2020-03-23 13:36:25 +01:00
Andre Puschmann
ac1d4d994b
srsue: refactor arg parsing error handling
2020-03-22 18:29:03 +01:00
Francisco Paisana
70c2510c25
simplified mac_test step interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
e91a7ea513
removed stack-mac interface dedicated methods. We use now the task dispatch methods instead
2020-03-22 11:50:58 +00:00
Francisco Paisana
de03c96c3b
mac::process_pdus now uses the stack task dispatch interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
7f6bde59fc
move write_pdu_pcch and write_pdu_bcch_bch to stack thread
2020-03-22 11:50:58 +00:00
Francisco Paisana
de3c28e52d
added task dispatch capabilities to stack interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
46a1be3e76
updated mac-rlc interface to use unique_byte_buffer
2020-03-22 11:50:58 +00:00
Ismael Gomez
7c7c83b9ad
Address comments
2020-03-22 08:48:40 +01:00
Ismael Gomez
71723c315d
Apply PHY configs to workers sequentially without interrupting processing
2020-03-22 08:48:40 +01:00
Ismael Gomez
fd3d4a7874
Refactor thread_pool: use std::mutex and fix some hidden potential bugs
2020-03-22 08:48:40 +01:00
Francisco Paisana
82cb6baef0
now the whole ue and enb mac uses the logmap
2020-03-20 11:32:03 +00:00
Francisco Paisana
602690246e
avoid calling rrc::run_tti multiple times in a tti jump
2020-03-19 21:52:53 +00:00
Francisco Paisana
45bc123967
remove manual tti counters from the rrc
2020-03-19 21:52:53 +00:00
Francisco Paisana
138347b6b5
nas using stack timers
2020-03-19 21:52:53 +00:00
Francisco Paisana
770f04b92a
the rrc now only works with the stack latest tti, instead of mac's tti
2020-03-19 16:47:55 +00:00
Francisco Paisana
e3e5b5be11
removed tti from some mac subcomponent interfaces
2020-03-19 16:47:55 +00:00
Francisco Paisana
d3f49d0e3c
changed interface sync-stack to allow tti jumps > 1
2020-03-19 16:47:55 +00:00
Francisco Paisana
fb967d17a2
now we can disable tprofs individually
2020-03-19 10:59:37 +00:00
Francisco Paisana
e73cbb09b0
created tprof statistic for sliding windows
2020-03-19 10:59:37 +00:00
Xavier Arteaga
ea1b6b60dd
Fix UHD memory issues
2020-03-18 18:34:05 +01:00
Xavier Arteaga
f3f03ad12d
SRSUE PHY: Add extra debugging information to errors
2020-03-18 16:12:51 +01:00
Francisco Paisana
597334c4bf
limit the rlc queue size for suspended bearers
2020-03-18 13:22:08 +00:00
Andre Puschmann
12dfe1cc58
fix srsUE's CSV DL metrics
2020-03-17 19:00:10 +01:00
Andre Puschmann
cf9306abdb
fix UE CSV metrics header typo
2020-03-17 16:14:14 +01:00
Andre Puschmann
ac17ec6452
add common signal_handler for srsUE/srsENB/srsEPC
...
the signal handler is the same for all three apps. The "running" flag
as well as the file_logger object are in the common header in order
to allow the signal handler to flush the file if the alarm goes off.
2020-03-17 09:58:01 +01:00
Ismael Gomez
cf4f4508ce
Normalize throughput in CSV/stdout metrics with respect to number of TTIs
2020-03-16 22:58:09 +01:00
Andre Puschmann
69d9914e0a
fix bit rate plotting in CSV metrics
2020-03-16 22:02:28 +01:00
Ismael Gomez
a1f1b44e26
Fixed flush period
2020-03-16 11:39:39 +01:00
Ismael Gomez
78463b8092
Add CC, PCI and earfcn
2020-03-16 11:39:39 +01:00
Ismael Gomez
568dbdb6d6
Fix typo
2020-03-16 11:39:39 +01:00
Ismael Gomez
1da7b2c8b9
Fix compilation issue
2020-03-16 11:39:39 +01:00
Ismael Gomez
23cc42ce9f
CSV metrics per carrier. Add options to flush file earlier and append to file
2020-03-16 11:39:39 +01:00
Xavier Arteaga
e832769ae6
Updated copyright
2020-03-16 11:26:06 +01:00
Daniel Willmann
b7e11b7bda
Use RRC establishment cause mo-signalling for NAS Attach procedure
2020-03-15 18:27:51 +01:00
Daniel Willmann
3a804e23fa
ttcn3_sys_interface: Parse SIBs even when "StaticCellInfo" is missing
...
The test TC_9_2_1_1_1 sends a Cell->AddOrReconfigure->Basic message
without a "StaticCellInfo" member. This is used to change SIB1 of
the cell and simulate a different PLMN/TAC in the test.
handle_request_cell_basic() ignored the json message if "StaticCellInfo"
is missing which results in the SIB not being updated (PLMN stays as
00102 for example).
With this patch the SIBs after the json are now parsed even if there
"StaticCellInfo" is missing. A confirmation of the json is not sent
because the test does not seem to expect one in that case.
Related: TC_9_2_1_1_1
2020-03-15 18:27:51 +01:00
Daniel Willmann
bc4e4ff97b
ttcn3_ip_sock_interface.h: Don't respond to UDP/ICMP Close
...
A close request should not be responded to with a ctrl_cnf
2020-03-15 18:27:51 +01:00
Daniel Willmann
275f26d875
liblte_mme.h: Add/fix UE_TEST_LOOP/DEACT_TEST_MODE msg types
2020-03-15 18:27:51 +01:00
Francisco Paisana
5330249625
created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure
2020-03-13 19:20:40 +00:00
Andre Puschmann
70ffe79b43
add support for periodic airplane mode simulation in srsUE
2020-03-13 17:35:03 +01:00
Xavier Arteaga
6c4e807141
SRSUE: fix signal ready issue
2020-03-13 14:01:58 +01:00
Xavier Arteaga
5af89513eb
use double precission for frequency in srsue and srsenb
2020-03-13 14:01:58 +01:00
Ismael Gomez
e8b8c9922e
Add RF per-channel frequency band constraints ( #1026 )
2020-03-12 23:06:09 +01:00
Andre Puschmann
1b1e7ac1a6
only print error when trying to enable non-existing carrier in UE
2020-03-12 21:04:15 +01:00
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
2020-03-11 21:16:36 +01:00
Xavier Arteaga
65711d06dc
PRACH TA base default to 0 and apply clang-format
2020-03-11 16:58:00 +01:00
Xavier Arteaga
e8f9bfc6ba
Addition of PRACH TA correction
2020-03-11 16:25:56 +01:00
Andre Puschmann
356fa9258b
check configured flag of SCell struct before enabling SCell
...
this prevents crashing the UE when receiving a SCell activation
command before the SCell has been configured from RRC
2020-03-11 10:16:23 +01:00
Pedro Alvarez
96c82b3fc6
Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
...
Refactored PDCP, RRC and USIM accordingly.
2020-03-11 09:00:38 +00:00
Andre Puschmann
f2e1bfa699
refactor naming for s/p/cell structs and {enb,ue}_cc_idx
2020-03-10 15:01:00 +01:00
Daniel Willmann
1314b8f653
Implement override_lcid() function in ttcn3_sys_interface
...
Fixes: TC_7_1_1_1 (#6 )
2020-03-09 11:56:54 +01:00
Pau Espin Pedrol
1d81ef9e24
gw: Proper error log on non-existing netns
2020-03-09 11:08:12 +01:00
Andre Puschmann
5b8b718482
simplify NAS security handling and fix missing call in act test mode complete
...
add extra method to apply NAS security config, if configured,
that can be used by each NAS message sender
2020-03-06 18:07:21 +01:00
Ismael Gomez
4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers ( #1019 )
2020-03-06 15:26:48 +01:00
Andre Puschmann
e2892047e9
refactor UE shutdown
...
use alarm to give UE time to gracefully terminate
if the UE can't terminate and the alarm goes off, flush the logs
and exit
2020-03-05 21:33:17 +01:00
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
2020-03-05 20:46:14 +01:00
Andre Puschmann
df31a5c4cc
store CC idx in DL/UL HARQ entity
2020-03-05 20:46:14 +01:00
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
2020-03-03 21:03:21 +00:00
Andre Puschmann
8e4f2a4d59
add UE parameter to enable TTI stats calculations
2020-03-03 16:22:04 +01:00
Andre Puschmann
a8bbe551ac
move thread class into srslte namespace to avoid ambiguity between std::thread
2020-03-03 16:22:04 +01:00
Andre Puschmann
8b46f631c1
add basic TTI stats in stack
2020-03-03 16:22:04 +01:00
Andre Puschmann
ae4cfb50f2
print warning to console if TUN interface couldn't be setup
2020-03-03 15:25:53 +01:00
Xavier Arteaga
2fc0832f05
Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes
2020-03-02 12:19:09 +01:00
Andre Puschmann
e7c10270fa
ttcn3_ss: fix security activation for PDCP
2020-03-01 18:26:45 +01:00
Andre Puschmann
9e113f8b27
pdcp: allow to configure security for rx/tx seperately
...
previously PDCP security (integrity and ciphering) could only
be enabled for both Rx and Tx at the same time.
this, however, caused an issue during the conformance testing in which,
in TC_8_2_1_1() for example, the eNB sends a SecModeCommand and a
RRC Reconfiguration in the same MAC TB. In this case, the eNB
needs to be able to enable DL security right after sending the SecModeCmd
in order to send the RRCReconfig encrypted. However, enabling UL security needs
to be postponed until after the SecModeComplete is received.
This patch allows to enable PDCP security for rx/tx independently if
that is needed. The default way is like before, enabling it for tx/rx at
the same time.
2020-03-01 18:26:45 +01:00