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