Commit Graph

1709 Commits

Author SHA1 Message Date
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
Andre Puschmann 5a03eaed2b ss: move timing_info_t to ttcn3_helpers, fix PDCP count handling 2020-03-01 18:26:45 +01:00
Andre Puschmann 72c5b381e4 fix bug when parsing cipher algo config for SS 2020-03-01 18:26:45 +01:00
Andre Puschmann 8a69772ebc rewrite packing of DL PDU in SS
the new algo tries to write more than just one RLC PDU inside a MAC PDU
if this is possible
2020-03-01 18:26:45 +01:00
Andre Puschmann e919c57a32 add handling of FollowOnFlag from tester 2020-03-01 18:26:45 +01:00
Andre Puschmann 51864bc03c rrc: print release cause when receiving rrc connection release 2020-03-01 18:26:45 +01:00
Francisco Paisana ac52208409 removed most of clang-tidy warnings, introduced logmap in asn1, fixed info object naming in s1ap and ngap for successful and unsuccessful outcomes 2020-02-28 18:03:29 +00:00
Andre Puschmann dffa2af461 fix NAS re-attach after detach request from network
needed to add a timer to delay transmission of attach request
to allow RRC release on eNB side
2020-02-28 18:09:21 +01:00
Andre Puschmann e4f85ec390 remove re-arming of t3411 after PLMN search
t3411 is restarted after attach or TAU failure only
2020-02-28 18:09:21 +01:00
Andre Puschmann 89d5876470 add TimingInfo support for remaining SS commands 2020-02-28 18:09:21 +01:00
Andre Puschmann 5b31c1db43 nas: delete security context when receiving attach reject with cause 3, 6, or 35 2020-02-28 12:52:44 +01:00
Francisco Paisana e859d622c7 added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas 2020-02-28 11:33:26 +00:00
Francisco Paisana 4739f3084f fix logs for SIB acquire 2020-02-28 10:08:01 +01:00
Francisco Paisana b8b8740258 fix wraparound in si proc and error in scell parsing 2020-02-28 10:08:01 +01:00
Andre Puschmann 81e28aa9dc add basic support for TimingInfo field from tester
this fixes an issue where commands are received out of
order and we are therefore applying configs incorrectly. if
commands include a timinginfo we are now putting the command
on a queue that the SS reads after the start of a new TTI.

the security and cell reconfig commands will be added in another
PR after the AS_security command has been fixed.
2020-02-27 21:27:43 +01:00
Andre Puschmann 55a5947df7 add default init to TTCN3 syssim to prevent segfault when tc_start isn't received 2020-02-26 12:20:23 +01:00
Andre Puschmann 39f2011699 fix issue in SS where Msg4 wouldn't be sent because ConnectionSetup is provided too late 2020-02-25 21:28:15 +01:00
Andre Puschmann b88e877b4c ttcn3: make SS single threaded and use SCTP for test ports
- remove all threading from SS
- use epoll to handle test port connections, signals, and timers
- convert testport interface to SCTP
2020-02-25 21:28:15 +01:00
Andre Puschmann 6d88b640b7 rrc: log full message if decoding fails 2020-02-25 21:28:15 +01:00
Francisco Paisana 82629c6910 made failure to compute si periodicity more explicit. Created a const for sib1 periodicity 2020-02-20 20:48:36 +01:00
Francisco Paisana 5a64fc0a93 sib_acquire_proc is not tti-driven anymore. No need to call run explicitly 2020-02-20 20:48:36 +01:00
Francisco Paisana 57da7fd986 fixed issue with setting retry timer. I had to account for si_window_start in the timer duration 2020-02-20 20:48:36 +01:00
Francisco Paisana 925ac862cb sib acquiring is failing for sib2 2020-02-20 20:48:36 +01:00
Francisco Paisana c29f08d8d5 refactored si acquisition procedure to use stack timers. Also created an interface that is going to be used for the task/timer handling 2020-02-20 20:48:36 +01:00
Xavier Arteaga f8165383f6 Neighbour SCell measurement test waits for final measurement before exiting-xx 2020-02-18 21:26:20 +01:00
Ismael Gomez 7cdd1c2ba4 Set FIND sampling rate before setting frequency 2020-02-18 12:26:39 +01:00
Francisco Paisana 4d80856359 fix bug in cell selection initiation 2020-02-18 09:47:33 +01:00
Francisco Paisana 22f51bb30b made cell select non-blocking using background threads 2020-02-18 09:47:33 +01:00
Ismael Gomez 21f01f6140 Do not print error when UL RNTI is not valid 2020-02-17 13:11:43 +01:00
Ismael Gomez 72e6fa40fc Fix multiple issues with DCI sizes when using CA. 2020-02-17 11:21:34 +01:00
Ismael Gomez be82e1f368
Fix concurrency bug in ZMQ during srate change (#954)
The bug was manifesting as buffer overflow in 20 MHz 2x2 CA
2020-02-16 21:31:51 +01:00
Ismael Gomez 4fb83ae26d Run configure_prach_params as a background task 2020-02-16 21:27:24 +01:00
Andre Puschmann 701e4aa6be fix bug causing segfault when UE wasn't initialized 2020-02-15 19:33:25 +01:00
Andre Puschmann dc4be1b856 fix overwriting dedicated_info_nas in connection_request_proc
this fixes an issue in the step() function of the connection_request_proc
in which the dedicated_info_nas message was passed to RRC without
checking if its actually valid or not, i.e. contains a message at all.

because this check was missing and the step() function could be called
multiple-times, the function would overwrite the dedicated_info_nas
in RRC, and therefore causing the connection setup complete to fail
2020-02-15 19:33:25 +01:00
Andre Puschmann f25b4f17f1 nas: log attach request cause 2020-02-15 19:33:25 +01:00
Andre Puschmann b15cd3fdaa add error handling to TTCN3 socket handlers 2020-02-15 19:33:25 +01:00
Andre Puschmann 42920d508f fix SS debug output 2020-02-15 19:33:25 +01:00
Andre Puschmann 327aa97cfd add macro for invalid RNTI 0x0 2020-02-15 19:33:25 +01:00
Andre Puschmann 265037c202 some tiny MAC code refactoring and typo fixing 2020-02-15 19:33:25 +01:00
Andre Puschmann 8d284f48bd cancel RA when receiving contention resolution in wrong state
this fixes a bug in which the contention resolution timer expired
and the RA proc entered the BACKOFF state.
In the same TTI, a MAC PDU with the contention reslution ID is received
and the already aborted RA procedure succeeds. Unfortunatly with the
wront c-rnti which has already been reset before. See log excerpt
below:

16:16:36.909687 [RRC ] [D] MEAS:  Processing measurement of 1 cells
16:16:36.909706 [RRC ] [I] MEAS:  New measurement serving cell: rsrp=-85.00 dBm.
16:16:36.909732 [MAC ] [I] [ 6283] RA:    ConRes: Contention Resolution Timer expired. Stopping PDCCH Search and going to Response Error
16:16:36.909749 [MAC ] [D] [ 6283] RA:    ConRes: Backoff wait interval 143
16:16:36.909771 [MAC ] [D] [ 6282] Delivering PDU=27 bytes to Dissassemble and Demux unit (Temporal C-RNTI)
16:16:36.909799 [MAC ] [D] [ 6283] Found Contention Resolution ID CE
16:16:36.909814 [MAC ] [D] [ 6283] RA:    Backof: MAC PDU Contains Contention Resolution ID CE
16:16:36.909826 [MAC ] [D] [ 6283] Msg3 buffer flushed
16:16:36.909858 [MAC ] [I] [ 6283] RA:    Backof: Random Access Complete.     c-rnti=0x0, ta=0
16:16:36.909871 [MAC ] [D] [ 6283] Saved MAC PDU with Temporal C-RNTI in buffer
2020-02-15 19:33:25 +01:00
Xavier Arteaga 6672f6df0f Minor aesthetic changes in intra measure class and changed scell_search test arguments 2020-02-13 14:25:00 +01:00
Xavier Arteaga 344016ef0a Refactored and commented SRSUE's Intra measure component 2020-02-13 14:25:00 +01:00
Xavier Arteaga 8f6dd184be SRSUE: neighbour cell measurement test defined 2020-02-13 14:25:00 +01:00
Xavier Arteaga f935916e7c SRSUE: fix srsue_rf_test 2020-02-13 10:29:00 +01:00
Francisco Paisana c76cdc6cea refactored the serving cell config procedure. there was one more state than it was needed. 2020-02-10 22:03:16 +01:00
Andre Puschmann cccabdaf4f removing unneeded install targets for static libs (reported by Filipe) 2020-02-10 17:38:42 +01:00
Andre Puschmann 627dac49b0 log message when ASN1 couldn't unpack DL message 2020-02-10 12:17:08 +01:00
Andre Puschmann c7343cf6d8 protect sf_buffer from overrun in receive_samples
this patch adds a buffer len paramter to the receive_samples() call
that protects the (also) provided buffer from overflowing.

currently each call to srslte_ue_sync_zerocopy() which then calls receive_samples()
relies on a buffer that is "big enough". But that buffer is sometimes
2 subframes, sometimes 3 or 5, sometimes has space for the maximum PRB size, sometimes
only for 6 PRBs (i.e. during cell search).

By extending the interface to pass the buffer size we can make sure that
only samples are received that actually fit inside the provided buffer.
2020-02-07 10:21:30 +01:00
Andre Puschmann 23bab1f207 fix potential segfault when overrunning char array
this fixed an issue when printing many neighbor cells because
the calculation of the remaining length can be negative
2020-02-07 10:20:12 +01:00
Andre Puschmann 0e337a01c3 fix SRB2 security handling in SS 2020-02-07 10:20:12 +01:00
Andre Puschmann 7c1b4c1f12 add support for IMEISV when requesting UE idendity 2020-02-07 10:19:42 +01:00
Ismael Gomez f2851b037e Fix concurrency issue in set_crnti() 2020-02-06 20:30:09 +01:00
Pau Espin Pedrol 2f3a125757 srsue: fix trailing whitespace 2020-02-06 16:19:40 +01:00
Pau Espin Pedrol 4949df257e Proper shutdown on SIGHUP
If a process exits and has a controlling terminal, everything under
it gets a SIGHUP by the kernel. That's the case for instance when
running a srsUE over ssh with some specific parameters. As a result,
when the ssh client is killed, SIGHUP is sent to srsUE, which will be
killed immediatelly without proper release, which means in turn that log
buffers are not flushed.
Let's do proper shutdown when SIGHUP is received so that everyone can
get log files.
2020-02-06 16:19:40 +01:00
Andre Puschmann ed179fd311 timers: rename value() to time_elapsed()
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
2020-02-06 14:40:47 +01:00
Xavier Arteaga 4d3c28ff97 SRSUE: wait for valid RSRP measurement before adquiring SIBs during cell search 2020-02-06 09:14:05 +01:00
Andre Puschmann 9720449cbb fixing RRC measurement test after logmap refactor 2020-02-03 12:51:46 +01:00
Andre Puschmann 3d7598a4cb rewrite cell handling in TTCN3 PHY and SS 2020-02-03 12:51:46 +01:00
Andre Puschmann 2a46413121 during cell search don't configure found cell as serving cell
this fixes an issue in which, during cell search, the sync code
itself would set the serving cell whenever it found a new cell.

instead, only report the found cell to RRC and keep the sample
rate at 1.92 MHz. RRC may select a new serving cell and then tell
PHY to camp on it.
2020-02-03 12:51:46 +01:00
Andre Puschmann ca54f02b87 fix RRC measurement reporting when reportInterval is set to infinity 2020-02-03 12:51:46 +01:00
Andre Puschmann bbacc35e24 move configuration of default logger to main
this prevents the case where a layer requests a new log_filter
before the default logger has been configured
2020-02-03 12:51:46 +01:00
Xavier Arteaga 5302fcfa4d SRSUE: listen to paging only when RRC is IDLE 2020-02-03 12:51:46 +01:00
Xavier Arteaga fe199e6be2 SRSUE: Undo enable/disable RA procedure flag 2020-02-03 12:51:46 +01:00
Xavier Arteaga 66bb7d6f82 SRSUE: fix TTCN3 compile 2020-02-03 12:51:46 +01:00
Xavier Arteaga f8294fb9df SRSUE: RRC measurements refactor and more fixes 2020-02-03 12:51:46 +01:00
Ismael Gomez 52716f8716 Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
rrc_meas refactor. Need to split commit

Fix typo

Temporal commit

Apply rx_gain_offset to neighbour cell measurements

srsLTE: modify TESTASSERT Macro to follow codeline

SRSUE: prevent RRC from having serving cell in neighbour list

SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release

SRSUE: extend intra-frequency to CA SCell

SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue

SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful

SRSUE: fix compilation issues and Reest SIB indexes

Fixes sync using incorrect cell configuration when search cell does not find a correct cell

Small refactor to remove measurement report triggers always after removing measurement

SRSUE: Removed SIC PSS from UE

SRSUE: fix inter-frequency reestablishment and added more traces

SRSUE: Fix compilation issue
2020-02-03 12:51:46 +01:00
Francisco Paisana 296af7e297 fix setting up nas log before all log configuration 2020-01-31 11:56:02 +00:00
Francisco Paisana ea777d92e8 applied new logmap class to nas 2020-01-29 14:20:43 +00:00
Xavier Arteaga c080cb3395 SRSUE: expose correct synch error parameter 2020-01-29 12:25:13 +01:00
Ismael Gomez 17f9ff326b Expose in-sync and out-of-sync constants to ue.conf 2020-01-29 11:46:55 +01:00
Ismael Gomez cc7dfefa1a
Fix logic for UL HARQ retx causing Msg3 adaptive retx to be identified as a new transmission 2020-01-28 21:33:10 +01:00
Francisco Paisana 91d83fc20d different way to retrieve a proc future 2020-01-24 10:10:27 +00:00
Ismael Gomez 171e26ee68 Add checks more checks for UL grants 2020-01-24 10:40:39 +01:00
Francisco Paisana 5ae3afd2b8 created cbit_ref for unpacking const buffers 2020-01-23 12:22:19 +00:00
Francisco Paisana 5468189cd9 fix some variables' naming (e.g. x2_ap -> x2ap, e_rab -> erab) 2020-01-21 00:58:19 +00:00
Andre Puschmann b0bfc7956d use const& in metrics interface 2020-01-14 20:52:09 +01:00
Andre Puschmann 77522a6b69 add srsUE parameter to change netns before creating TUN in GW 2020-01-14 20:52:09 +01:00
yagoda 260648582e small formatting fix 2020-01-14 16:53:57 +01:00
yagoda fc1c506d1f refactoring TA command structure in UE 2020-01-14 16:53:57 +01:00
yagoda 2db90c5dd3 allowing TA CE commands in Msg4 2020-01-14 16:53:57 +01:00
Andre Puschmann d045213fb9 fixing bug in RRC measurement when receiving periodic config
in the UE conformance testing we've spotted an issue
where an event was evaluated even though the trigger type for
the report was periodic which caused an exception in RRC
2020-01-08 17:34:06 +01:00
Andre Puschmann bc6aa1a166 fixing PDCP call in TTCN3 SS
this fixes an issue introduced in 6ec573987a
2020-01-07 11:05:20 +01:00
Andre Puschmann e24d33562a disabling ue_phy_test temporarily 2019-12-30 00:16:59 +01:00
Andre Puschmann 6ec573987a remove default value for 'blocking' param from pdcp::write_sdu()
there were two defaults and one was shadowing the other. This
commit removes both defaults and uses blocking-mode for RRC
calls to PDCP in the UE. The eNB write_sdu() uses the non-blocking
mode by default. We have to review the eNB's RRC perhaps and use blocking
there too and non-blocking only for data plane
2019-12-29 23:45:37 +01:00
Andre Puschmann 8f419c035b fixing snprintf issue where return value was used for length calculation 2019-12-29 23:38:27 +01:00
Andre Puschmann e5609e299d fix UE PHY test compilation on 32 bit systems 2019-12-23 23:06:52 +01:00
Xavier Arteaga 36b2102de8 SRSUE: avoid testing ue_phy_test 2019-12-23 22:57:37 +01:00
Xavier Arteaga 0134d47ee8 SRSUE: clear EARFCN list if the list is not empty 2019-12-23 22:57:37 +01:00
Xavier Arteaga 11eafa8ab4 srsLTE: FFTW wisdom gets loaded and saved by default 2019-12-23 22:57:37 +01:00
Xavier Arteaga c92dce71b7 srsLTE: AGC only uses boundaries for requesting gain to Radio 2019-12-23 22:57:37 +01:00
Pedro Alvarez 6d4303cd94 Added option to force 32bit compilation (useful for debug). Fixed various warnings when compiling in a 32 bit arch. 2019-12-20 17:33:55 +01:00
Xavier Arteaga 089a5e21dc Label test that memcheck is excessively long 2019-12-19 13:01:05 +01:00
Xavier Arteaga ad46fc006f srsLTE: Fix thread memory leak. Moved test. Fix CLang warnings. 2019-12-19 13:01:05 +01:00
Xavier Arteaga a7e92c384e srsLTE: applied minor comments in tti semaphore 2019-12-19 13:01:05 +01:00
Xavier Arteaga d2c6dda025 SRSUE: Avoid sf_worker return without calling worker_end 2019-12-19 13:01:05 +01:00
Xavier Arteaga 447ede327c srsLTE: removed unused argument 2019-12-19 13:01:05 +01:00
Xavier Arteaga 384c420c7c SRSUE: fix phy workers concurrency issue 2019-12-19 13:01:05 +01:00
Xavier Arteaga dc7ac0a8d6 SRSUE: Updated PHY test 2019-12-19 13:01:05 +01:00
Xavier Arteaga 6895bfa70a SRSUE initial PHY worker test 2019-12-19 13:01:05 +01:00
Andre Puschmann 476f970ee1 replace FIXME with TODO 2019-12-18 11:25:56 +01:00
Andre Puschmann f874722cfb fix error handling in UE init
previously we've returned the init() function when a sublayer
init failed. This leaves the pointers to the layers unset which, in turn,
breaks the stop() call for the UE
2019-12-18 11:25:36 +01:00
Andre Puschmann 4a9e3728c9 add condtional variable for PHY initialization and configuration
adding a cond variable and mutex to protect init and (re-)config of PHY
currently this is only used during init. If the stack couldn't be
initialized but the PHY init thread was already started, we need to
properly wait until this is done
2019-12-18 11:25:36 +01:00
Andre Puschmann 705cd3c211 fix typos spotted by aleksander0m 2019-12-17 16:54:02 +01:00
Andre Puschmann 3127f59b4c wait with init of GUI until cell is found and initialized
with the stack refactor we've introduced a regression in which
the GUI was started too early when no cell was found yet.

this caused the GUI to be initilized with only one Tx port. When connecting
to a cell with ports, the GUI plotter would then write
into unitialized memory.
2019-12-16 21:03:08 +01:00
Pedro Alvarez c5979f59eb Clang format UE, eNB and lib (#850)
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
2019-12-16 16:04:22 +01:00
Andre Puschmann c7ee887170 add factory function for creating PDCP config 2019-12-16 14:06:26 +01:00
Andre Puschmann f7f956708c use helper function to print MIB content 2019-12-16 12:49:07 +01:00
Andre Puschmann 8a064cd3a6 pass msg_type from caller when logging RRC message
before the type of some message wasn't displayed correctly,
like SIBs, for example because the logger didn't
know the filed to retrieve the type string
2019-12-16 12:49:07 +01:00
Andre Puschmann 60d07f1656 assign msg-type to temp variable before logging ASN1 message in RRC 2019-12-16 12:49:07 +01:00
Andre Puschmann fa2821a4e7 fixing periodic measurment reporting
fixes various issues with unset timers, interval parameters, etc.
with those fixes, TC_8_3_1_1 and TC_8_3_1_2 pass
2019-12-13 13:25:24 +01:00
Francisco Paisana d59016ae68 use of srslte::log* type for ASN1 logging. Initialization of the asn1 and rrc_asn1 loggers done now in both the ue and enb 2019-12-12 15:45:24 +00:00
Ismael Gomez 44c23b1690 Fix bug in rrc_meas in ASN to_number() conversion, making the UE to generate Measurement reports every TTI 2019-12-12 13:04:50 +01:00
Xavier Arteaga 1fa5a19a55 SRSUE: SRSUE: fix timealigmenttimer 2019-12-12 12:05:51 +01:00
Xavier Arteaga bcde542111 SRSUE: fix typo 2019-12-12 12:04:36 +01:00
Xavier Arteaga b9492bbd73 SRSUE: Fix set intra-frequency cell during cell search 2019-12-12 12:04:36 +01:00
Xavier Arteaga 8ad69b0c4d SRSUE: Fixed minor RRC measurement 2019-12-12 12:04:36 +01:00
Xavier Arteaga db36fb08a2 SRSUE: fix intra-frequency measurement cell select 2019-12-12 12:04:36 +01:00
Xavier Arteaga 22e4d3c905 SRSUE: Camping SFN synchronism discards cell 2019-12-12 11:57:17 +01:00
Xavier Arteaga e89dde0f35 SRSUE: Check cell is valid 2019-12-12 11:57:17 +01:00
Xavier Arteaga 4be4f56333 SRSUE: Fix duplicates ACK 2019-12-12 11:55:58 +01:00
Francisco Paisana d270518d69 updated rrc to new srsasn1 version 2019-12-11 19:58:20 +00:00
Xavier Arteaga 0ec49f00f7 SRSUE: Reset measurements during cell search in PHY 2019-12-09 11:53:22 +01:00
Pedro Alvarez e68956bcf6 Adding discard timer timeout to PDCP config. 2019-12-04 18:21:14 +01:00
Pedro Alvarez 2e7ddef038 Continue to add discard_sdu to RLC interfaces. 2019-12-04 18:21:14 +01:00
Xavier Arteaga a8763cb7a0 SRSUE: Added Cell PCI in console trace 2019-12-04 15:30:07 +01:00
Xavier Arteaga d96836a0fa SRSUE: Stack TTI based purely in radio timestamp 2019-12-04 15:29:43 +01:00
Xavier Arteaga 7312752988 SRSUE: reestablishment procedure wait for children to finish before aborting 2019-12-04 08:28:44 +01:00
Xavier Arteaga 6d896ee453 Fixed more static code analysis warnings 2019-12-02 09:47:22 +01:00
Xavier Arteaga b48bb0d754 Removed atof, atoll and atoi calls 2019-12-02 09:47:22 +01:00
Xavier Arteaga 8dd1c59e18 Added amplitude and power conversions to dB and viceversa 2019-12-02 09:47:22 +01:00
Xavier Arteaga b4b1ab94af SRSUE RRC: new PHY unknown sync state, cell select waits for PHY in-sync 2019-11-28 16:33:35 +01:00
Xavier Arteaga 67935d2b99 SRSUE: RRC blocks MAC RA procedure during reestablishment 2019-11-28 16:33:35 +01:00
Andre Puschmann 71c83bd0e0 fixing typo in RRC proc 2019-11-28 16:33:35 +01:00
Andre Puschmann 8ef0d6c6ca do not automatically consider cells for which a measurment has been received as "in sync"
the in_sync flag has been misused in some parts of the code
receiving a PHY measurement for a cell does not automatically
mean that we are "in sync", as it is used in RRC as a condition
to indicate if we are camping on cell

the in_sync/out_of_sync condition should only be altered by the
corresponding functions sent from the PHY for the currently selected
cell (and not automatically for all cells)

the commit also removes the deletion of cells which are not "in sync"
from the list of neighbor cells. Instead, RRC calls a clean-up function
peridically that deletes old cells eventually.
2019-11-28 16:33:35 +01:00
Xavier Arteaga f5e4ff9f4d SRSUE: RRC Reest Procedure Refactor 2019-11-28 16:33:35 +01:00
Xavier Arteaga dbdb699a78 SRSUE: minor RRC/PHY fixes 2019-11-28 16:33:35 +01:00
Xavier Arteaga f37a096f10 SRSUE: Refactored/Fixed RRC connection Re-establishment and minor CLang Format/Tidy fixes 2019-11-28 16:33:35 +01:00
Francisco Paisana 54992e72f1 fixed and simplified multiqueue task api to avoid dangling pointers. 2019-11-28 11:57:41 +00:00
Francisco Paisana b2d3c2a150 fix compilation issue 2019-11-28 11:57:41 +00:00
Francisco Paisana ac4d3b9624 std::functions do not accept move-only captures. So I had to create a wrapper earlier. In this PR, I cleaned a bit the previous API for the code to be a bit more readable 2019-11-28 11:57:41 +00:00
Andre Puschmann 4e2d9c6b60 specify MAC source files in UE 2019-11-24 14:59:54 +01:00
Andre Puschmann 6f72cbffab fix snprintf of uint64 for ARM 2019-11-24 14:59:54 +01:00
Pedro Alvarez c6ddada488 Fix compilation issue when enabling TTCN3 2019-11-21 13:18:30 +01:00
Pedro Alvarez 15613465cf Moving some initialization from init function to constructor in the PDCP entities. 2019-11-21 13:18:30 +01:00
Francisco Paisana 177e880293 removed extra threads from enb rrc 2019-11-11 15:20:10 +00:00
Francisco Paisana c8e50c1e19 DL/UL sched are called in a round-robin fashion 2019-11-08 16:02:27 +00:00
Andre Puschmann 1a7142d73f fix GW init procedure and set pool instance in ctor 2019-11-07 16:25:36 +01:00
Andre Puschmann 2f00fd62ec fix PDCP config in TTCN3 SS 2019-11-07 14:12:08 +01:00
Pedro Alvarez b7fdcaabc5 Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing. 2019-11-07 14:12:08 +01:00
Francisco Paisana dc0f7acfda a new future was not being created for the new cell_search 2019-11-01 18:43:40 +01:00
Andre Puschmann d25a734200 fix uninit value in NAS and move emm_info on stack 2019-10-25 10:32:35 +02:00
Francisco Paisana 8440126d35 removal of srslte::timers class 2019-10-23 19:33:25 +01:00
Francisco Paisana ecba994712 fixed bad initialization of t311 2019-10-23 19:33:25 +01:00
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 2019-10-23 19:33:25 +01:00
Francisco Paisana 15bde8660a getting a future of an already finished proc is dangerous 2019-10-23 18:19:25 +02:00
Francisco Paisana 248583ecdf added extra logging and removed uneeded member from proc_t 2019-10-23 18:19:25 +02:00
Francisco Paisana b254bdbb93 typedefed the proc_result_t<void> to become proc_state_t 2019-10-23 18:19:25 +02:00
Francisco Paisana f2d88e5a5b simplified NAS rrc connection request procedure
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
2019-10-23 18:19:25 +02:00
Francisco Paisana 8864787f59 added the continuation functionality to procedures via the "then()" method. 2019-10-23 18:19:25 +02:00
Francisco Paisana c1be118d1d new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor() 2019-10-23 18:19:25 +02:00
Francisco Paisana 8980810061 added some util print functions and fixed the issue with sync::cell_select when the last cell search was not successful 2019-10-23 17:32:32 +02:00
Xavier Arteaga 423475173d Refactored magnitude and argument extraction from sf_worker 2019-10-21 16:17:37 +02:00
Andre Puschmann 44dcfbe5c2 use info_long to print full message rxed on SYS interface 2019-10-18 16:38:55 +02:00
Andre Puschmann 82e3fd1052 fix uninitialized vars in RRC 2019-10-18 16:38:55 +02:00
Andre Puschmann 755a0599c4 rework cell list and SIB handling in SS 2019-10-18 16:38:55 +02:00
Andre Puschmann 891a66a2e5 make the establishment cause a paramter when sending a connection request
needed to signal a mo_sig establishment cause after a RLF
2019-10-18 16:38:55 +02:00
Andre Puschmann c24b25f42e after RLF store PCI of current serving cell
the PCI is needed for the reestablishment request in case
the new serving cell has changed
2019-10-18 16:38:55 +02:00
Andre Puschmann c1da02cd07 after initiating reestablishment, we need to perform cell reselection immediatly
before cell reselection was postponed to the next TTI but this is not possible in
the case where the serving cell changes.

if the "old" serving cell is no longer suitable, we would directly go to RRC IDLE below.
Therefore we need to select the new serving cell before sending the reestablishment
request.

this is tested in TC_8_5_1_1
2019-10-18 16:38:55 +02:00
Andre Puschmann b631106612 always print RF errors to stdout 2019-10-18 13:00:30 +02:00
Andre Puschmann 1a68fbc460 fix wrong setting for RF log level 2019-10-18 13:00:30 +02:00
Francisco Paisana e94755c471 revert nas_test fix 2019-10-18 12:36:17 +02:00
Francisco Paisana 9bcb268421 added for-range loop and bool decay checks to clang-tidy. Applied some of the recommendations of clang-tidy to nas.cc 2019-10-18 12:36:17 +02:00
Andre Puschmann 4d688bce98 fixing nas test 2019-10-16 10:35:24 +02:00
Andre Puschmann cf548fe807 nas: add handling of T3410/T3411 2019-10-15 10:13:21 +02:00
Andre Puschmann 35307a047a make UE switch_on non-blocking
this allows a simpler main that just signals NAS to switch on the UE
but doesn't block until the action is completed.

For making sure the UE also attached if the first attempt failed
the NAS needs to be extended to support the correct timers.
2019-10-15 10:13:21 +02:00
Andre Puschmann 487fdd5616 ttcn3: split SS interface and protect SS main thread properly
the SS main thread and the provided interaces weren't protecting members
correctly
2019-10-14 15:21:18 +02:00
Francisco Paisana 80ef7f8497 changed the name of proc Error/Warning/Info logging macros 2019-10-14 15:18:15 +02:00
Francisco Paisana 71ebac861c fix nas proc logging, and reuse of cell selection result 2019-10-14 15:18:15 +02:00
Francisco Paisana 81a466a641 since we moved cell search to the background thread, cell reselection prints a error message that it cannot start. In fact it already started. It is just waiting for the cell search to finish. This PR fixes this 2019-10-14 15:18:15 +02:00
Francisco Paisana e67f66e539 moved cell search completed signal from the background thread to the stack thread 2019-10-14 11:44:40 +02:00
Xavier Arteaga 0b00e6d94a SRSUE: fixed CSI and HARQ collision for CA 2019-10-14 11:20:35 +02:00
Xavier Arteaga 743cce5503 SRSUE: Added end of burst when a out-of-sync is detected in PSS/SSS sync 2019-10-14 11:20:35 +02:00
Xavier Arteaga a9dae4c29c SRSUE: Enable Asynchronous SCell Receiver AGC 2019-10-14 11:20:35 +02:00
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 2019-10-14 11:20:35 +02:00
Andre Puschmann 7a672ca340 fix typo 2019-10-14 10:51:05 +02:00
Francisco Paisana b1496317d5 fixed the pcch proc issue by letting the cell selection explicitly propagate its result to the pcch_process_proc 2019-10-11 15:22:32 +02:00
Andre Puschmann 3a678b1e5f fixed wrong SRS parameter logging 2019-10-09 16:06:21 +02:00