Commit Graph

1511 Commits

Author SHA1 Message Date
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