Commit Graph

708 Commits

Author SHA1 Message Date
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 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 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 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 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
Francisco Paisana 177e880293 removed extra threads from enb rrc 2019-11-11 15:20:10 +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 d25a734200 fix uninit value in NAS and move emm_info on stack 2019-10-25 10:32:35 +02:00
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 2019-10-23 19:33:25 +01: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
Andre Puschmann 82e3fd1052 fix uninitialized vars in RRC 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
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 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
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
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 2019-10-14 11:20:35 +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 3c6ff0da30 make NAS logging less verbose 2019-10-09 11:53:27 +02:00
Andre Puschmann c5f52adfba nas: fix issue in which NAS wouldn't allow to attach once it failed
the main issue was the plmn_selected variable. the solution
was to create a function to enter the deregistered state that resets the variable
and performs all other actions that need to be performed, like clearing
EPS bearers.

The patch also extends the SS to support AT commands to enable/disable
data services and now succesfully passes TC_9_2_2_1_7
2019-10-09 11:34:49 +02:00
Francisco Paisana 2fb830fcfa moved cell search to background task thread pool, and provided a stack interface to rrc to call "start_cell_search". Once completed, the background task signals back to RRC 2019-10-04 22:01:44 +02:00
Andre Puschmann 0467d8bc84 rework neighbor cell handling 2019-10-04 16:25:02 +02:00
Andre Puschmann c7f0caa24a add TTI field to MAC dl/ul grants and fix PCAP to include TTI 2019-10-02 16:49:46 +02:00
Francisco Paisana 6db0e474be moved RA waiting procedure to a background task of the stack thread pool 2019-10-02 11:04:47 +02:00
Xavier Arteaga efdec15964 Renamed lock_guard (lg) to lock 2019-10-02 11:03:03 +02:00
Xavier Arteaga 665f899a74 Fixed some coverity and Clang tidy warnings 2019-10-02 11:03:03 +02:00
Andre Puschmann f94d2537a3 nas: send identity response integrity protected if security ctxt is present 2019-10-01 20:59:00 +02:00
Andre Puschmann bb84b27f0b fix RRC connect proc in NAS to allow reattch after detach 2019-10-01 20:59:00 +02:00
Francisco Paisana e92632e729 zero-initialized mbms rrc interface types 2019-09-30 21:05:32 +02:00
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 2019-09-30 21:05:32 +02:00
Andre Puschmann 2f47010eb6 fix various uninitialized vars 2019-09-24 13:23:30 +02:00
Xavier Arteaga 35f85c651c SRSUE: Added SCell synchronizer and measurements based on reference signals 2019-09-20 16:20:31 +02:00
Xavier Arteaga 8e17aba5d8 Improved SSS decoding and improved scell_search_test 2019-09-20 16:20:31 +02:00
Xavier Arteaga 54974d935e SRSUE PHY: unitialised values and attributes clean-tidy up 2019-09-20 16:03:37 +02:00
Xavier Arteaga 78fcc11a30 Fixes minor unitialised/leaked memory 2019-09-20 16:03:37 +02:00
Ismael Gomez 0984debe1b
Fix issues with RLF in B210 and X300 (#669)
* Calling tx_end() from radio_reset() causes long execution time in B210. Using boolean to call later instead. Fixes RLF failing in B210. Checked in X300

* Fix issue #655
2019-09-20 15:41:16 +02:00
Francisco Paisana 946ead06e8 using an interface between the stack and lower mac to process demux pdus. 2019-09-19 10:19:46 +02:00
Francisco Paisana 63457f195c extented queue test 2019-09-18 12:18:33 +02:00
Francisco Paisana a2d7b2320a placed GW packets in the same thread as UE stack thread 2019-09-18 12:18:33 +02:00
Francisco Paisana 647c624423 created a multiqueue handler, and started using it for the ue stack 2019-09-18 12:18:33 +02:00
Andre Puschmann 9e1c46dfb0 add initial TTCN3 code 2019-09-17 21:56:47 +02:00
Andre Puschmann 08ca9ebd4e write BCH to PCAP
this patch moves the BCH payload buffer into the UE sync object and
therefore allows to pass it to the MAC for PCAP logging
2019-09-17 21:56:06 +02:00
Ismael Gomez a3932f9bea Minor change to fix coverty issue 2019-09-17 14:22:38 +02:00
Xavier Arteaga 1a567a764e SRSUE: Call Radio tx-end when PHY is reseted and removed redundant attribute is_start_of_burst. 2019-09-12 09:49:56 +02:00
Andre Puschmann 513c7b12e3 remove warning and replace with pragma message 2019-09-09 17:28:53 +02:00
Ismael Gomez cbb1bbfaa1 Fix multiple PRACHs after SR fail and a minor issue in HO 2019-09-07 22:59:57 +02:00
Ismael Gomez bfddc55148
RRC-PHY interface (#639)
RRC-PHY interface refactor. Moved RRC-MAC interface to rrc_asn1_utils and created RRC-PHY interface also in rrc_asn1_utils. All ASN1 includes should be made from rrc_asn1_utils only keeping ue_interfaces clean of ASN1

Tested with different common and dedicated configurations (64QAM UL, 256QAM, CA, SRS enabled/disabled, etc)
2019-09-04 16:59:10 +02:00
Francisco Paisana 67d6a25194 Moving mac timers to stack timers (#638)
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.

* moved timers out of the UE MAC
2019-09-04 15:28:09 +02:00
Ismael Gomez 69edee4e6c
Fix issues in uplink QoS (#636)
Fix bugs in Long BSR and Truncated BSR and added unit tests
2019-09-02 22:48:41 +02:00
Francisco Paisana c9d3b61038 added resumable procedures to make RRC and NAS non-blocking 2019-08-08 10:56:54 +02:00
Andre Puschmann 7847c8da5e extend ue cap handler to support multiple RATs 2019-07-29 15:12:13 +02:00
yagoda 408400bee6 adding fixes and tests for eMBMS 2019-07-21 22:27:17 +02:00
Xavier Arteaga f653472aa8 SRSUE: SCell parameters condensed in a single structure 2019-07-19 18:10:23 +02:00
Xavier Arteaga b5685c8f09 SRSUE: Fixed HO with carrier aggregation 2019-07-19 18:10:23 +02:00
Ismael Gomez feafec2725 Fix srsENB PHY log and reorganized expert args 2019-07-17 12:40:57 +02:00
Andre Puschmann 886858a30a remove expert config and split into PHY and general config, cleanup ue.conf.example 2019-07-15 06:18:34 -04:00
Andre Puschmann b46a71c2d8 add RRC metrics and remove extra methods to query RRC state 2019-07-13 14:33:43 +02:00
Andre Puschmann 4e86b2f6b2 introduce layerd architecture we use for UE to eNB
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
2019-07-12 04:17:56 +02:00
Ismael Gomez abdb880b3b Remove unused mux_is_transmitted local variable 2019-07-08 17:14:25 +02:00
Ismael Gomez 773c2a9721 Fixed multiple issues in Random Access procedure and extended MAC test 2019-07-08 17:14:25 +02:00
Xavier Arteaga 5dcf3b3563 Fix phy memory leaks 2019-07-08 17:13:32 +02:00
Andre Puschmann 5faa819dcd fixing uninitialized class members found by coverity 2019-07-08 11:12:46 +01:00
Andre Puschmann 92f0d58856 mac: move further init/config into ctor to allow early logging, etc. 2019-07-05 17:24:06 +02:00
Pedro Alvarez a868a13409 Fix compilation error when PCSC is enabled. 2019-07-05 16:53:17 +02:00
Francisco Paisana 58e2e51044 removed rlc_interfaces. The rlc_cnfg types are now part of the rrc_interface_types. Removed implicit RB initialization in the RLC. 2019-07-05 10:44:15 +02:00
Francisco Paisana b936629221 removed rrc asn1 header from bcd_helpers, from rlc_interface, and rlc tests 2019-07-05 10:44:15 +02:00
Francisco Paisana bb0dbf0f1c created a asn1 utils with helper functions and types related to the asn1. These types/functions will help isolate the rrc_asn1 lib from most of the layers, reducing this way the compile times, and leading to better isolation. This will also make the transition to NR smoother. I removed the asn1 types from the NAS and USIM interface so far. 2019-07-05 10:44:15 +02:00
Xavier Arteaga 4a0ebe0cca SRSUE: reviewed UE capabilities for 64QAM according to 3GPP 36.306 2019-07-02 16:36:06 +02:00
Andre Puschmann 1dea4add2a stack: fix issue where stack thread was exited before stop_impl was called 2019-06-27 14:51:33 +02:00
Andre Puschmann 58763fb714 stack: move initialization of log object into ctor
this fixes the issue when the stack is torn down if, for example,
the radio couldn't be loaded correctly. it will hence call stop() on all stack
components which are not initialzized yet, and logging therefore doesn't work.
the log object is know during contruction time and therefore can be passed
in as soon as possible.
2019-06-27 14:51:33 +02:00
Ismael Gomez 9e6a9e0d03 Fix reestablishment mutex lock when called from RLC max retx 2019-06-26 18:14:54 +02:00
Pedro Alvarez 8f5ad55c4a Added attach request as a UL info trasnfer in the UE. Added interface to remove eps bearer map when going idle. Fixed bug in GW in assignment of IPv4 addresses. UE seems to rebound from the service reject now. 2019-06-26 18:04:41 +02:00
Andre Puschmann a3d95c8370 simplify SDU allocation and remove unneeded checks 2019-06-26 17:57:25 +02:00
Andre Puschmann 2599b1824d reorder stack members and their loggers for correct destruction 2019-06-26 17:57:25 +02:00
Andre Puschmann 8333a9be57 fix dtor of PHY when stack init fails 2019-06-26 17:57:25 +02:00
Andre Puschmann db224335a7 add MUX step function for PBR counting 2019-06-26 17:57:25 +02:00
Andre Puschmann da35f41dd5 rework MAC logical channel prioritization 2019-06-26 17:57:25 +02:00
Francisco Paisana 8f8d9f3f30 applied changes in the stack internal method naming 2019-06-21 13:01:41 +02:00
Francisco Paisana ce29ed545d moved mac thread to the stack. Protect the interface of the stack with PHY and gateway via a queue of tasks 2019-06-21 13:01:41 +02:00
Francisco Paisana 62eb96366c moved gw metrics out of stack_metrics_t 2019-06-20 15:26:52 +02:00
Francisco Paisana 10a56e2a84 moved GW out of the UE stack. This is important to keep concurrency out of the stack once it becomes single-threaded 2019-06-20 15:26:52 +02:00
Xavier Arteaga c7be984819 sync.h uses lock_guard for mutex 2019-06-19 11:49:55 +02:00
Xavier Arteaga cd036d8760 SRSUE: proc_ra.h/.cc use C++11 mutex 2019-06-19 11:49:55 +02:00
Xavier Arteaga 5d87aece0f SRSUE: mac.h/.cc mutexes changed to C++11 and set initial values 2019-06-19 11:49:55 +02:00
Xavier Arteaga 9068280896 SRSUE: Sync.h/.cc mutexes changed to C++11 std::mutex and fixed attributes initialisation 2019-06-19 11:49:55 +02:00
Xavier Arteaga 810ce0358e SRSUE: removed CLang tidy warnings in phy.h and phy.cc except unused. Use smaer pointers for workers. 2019-06-19 11:49:55 +02:00
Andre Puschmann 01679dbc8d rearrange class members to make sure logs get destructed after stack components 2019-06-18 20:50:23 +02:00
Andre Puschmann ad2b5d7635 pcsc: fix uninitialized variable and class dtor 2019-06-18 20:50:23 +02:00
Xavier Arteaga 1f4cf8121b SRSUE: Initial UL channel simulator 2019-06-11 12:06:11 +02:00
Xavier Arteaga ad9808c2aa SRSUE: SCell include files rearange 2019-06-11 10:34:49 +02:00
Xavier Arteaga ceac7a02c8 SRSUE: moved sync SCell classes in new namespace 2019-06-11 10:34:49 +02:00
Pedro Alvarez 6d05265d92 Adding mutex to protect the tft_filter map. 2019-06-07 21:40:03 +02:00
Andre Puschmann 2b7b4d0e7e remove hard-coded LCID for dedicated bearer in GW 2019-06-07 21:40:03 +02:00
Pedro Alvarez 7a184a8cd8 Added log to tft_packet_filter. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 39f5b03674 Removed empty line. Changed comment. Removed unused variables. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 2723aa9b12 Added EPS bearer id to apply_tft interface. Sending packets to the correct LCID if they match the packet filter. 2019-06-07 21:40:03 +02:00
Pedro Alvarez e2ca02bbe4 Starting to add match methods to tft_packet_filter 2019-06-07 21:40:03 +02:00
Pedro Alvarez 272e40a60d Started to add a lookup in the gw to see if there is a match in the packet filter. 2019-06-07 21:40:03 +02:00
Pedro Alvarez 190a0ff37e Adding test to unpacking of the packet filters. 2019-06-07 21:40:03 +02:00
Pedro Alvarez a8eaf16881 Starting to add a structure for the packet filters. 2019-06-07 21:40:03 +02:00
Pedro Alvarez a7e0a0624b Starting to add interface apply_traffic_flow_template between NAS and GW. 2019-06-07 21:40:03 +02:00
Francisco Paisana 415d3418b6 reorganized enb to mirror ue director/class structure with a stack class 2019-06-07 15:41:56 +02:00
Pedro Alvarez d67d18cc6b Removing deplicated error codes. 2019-06-07 13:51:56 +02:00
Ismael Gomez c2e9817f41 Possible solution to RLC Reestablishment 2019-06-06 14:34:25 +02:00
Andre Puschmann 3f613d7183 nas/gw/rrc: make LCID for DRB dynamic
- add interface to RRC to allow NAS to query the DRB for a given
  EPS bearer id
- extend interface for NAS to setup GW to also pass LCID of bearer
- in NAS, use this new interface to pass actual LCID of the default
  DRB when creating the TUN device
2019-06-05 20:50:52 +02:00
Andre Puschmann b2a35f6b5a nas: add parser and sender for modify EPS bearer context messages 2019-06-05 17:41:46 +02:00
Andre Puschmann dcb04c6461 turn usim object into a unique_ptr 2019-06-05 17:41:46 +02:00
Ismael Gomez 4ce8d84339 Restored force frequency 2019-06-05 15:29:48 +02:00
Andre Puschmann 0e95867f13 remove task dispatcher class 2019-06-03 15:03:20 +02:00
Xavier Arteaga 9c84f8e3fd SRSLTE: Added Uniform Random vector generator; Delay channel test; Fixed Delay channel SEGFAULT; SRSUE channel unique pointer; 2019-05-30 13:07:23 +02:00
Xavier Arteaga 9ab2b2de81 SRSUE: Created delay channel emulator and added fading to the UE 2019-05-30 13:07:23 +02:00
Andre Puschmann 3f90230d1a nas: add EPS bearer map 2019-05-30 13:05:02 +02:00
Andre Puschmann 1ec5a4d4ed add NAS metrics struct and move NAS states into common header 2019-05-30 13:05:02 +02:00
Andre Puschmann 1c749ad559 add basic handling for deactivating eps bearer 2019-05-30 13:05:02 +02:00
Andre Puschmann 0bd30343bb fix packing of dedicated bearer context accept 2019-05-30 13:05:02 +02:00
Andre Puschmann 5451fb6007 nas: add basic handling for dedicated bearer and UE testmode messages 2019-05-30 13:05:02 +02:00
Andre Puschmann 7de9f39fcc nas: move sending of attach complete message in extra function 2019-05-29 10:42:45 +02:00
Xavier Arteaga bb663a69b8 SRSUE RRC: Cleaned Reestablishment code 2019-05-27 12:37:52 +02:00
Xavier Arteaga e5084801a2 SRSUE RRC: refactored reestablishment procedure for executing Cell selection during T311 without blocking RRC 2019-05-27 12:37:52 +02:00
Andre Puschmann af8564e376 add ue_lte_phy_base and move logger out of UE class 2019-05-22 11:40:23 +02:00
Xavier Arteaga 0b6efb657e SRSUE: CA can be performed without requiring clock synchronization between RF devices. Added Asynchronous SCell Synch metrics to console trace 2019-05-20 13:16:38 +02:00
Xavier Arteaga 080b4a327c SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed. 2019-05-17 18:13:51 +02:00
Andre Puschmann 65f50cd7ba introduce new UE layer design
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
2019-05-17 17:46:28 +02:00
Andre Puschmann 3a6dd9b164 move UE RRC into own folder 2019-05-17 17:25:50 +02:00
Francisco Paisana 3bedc93ba5 added _t to unique_byte_buffer type 2019-05-16 12:35:01 +02:00
Francisco Paisana f4aa03154d change queue read and other functions apis 2019-05-16 12:35:01 +02:00
Francisco Paisana f469e2178b replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use 2019-05-16 12:35:01 +02:00
Francisco Paisana 0976ea6f27 created a unique byte buffer that automatically deallocates 2019-05-16 12:35:01 +02:00
Andre Puschmann dc9df36a24 remove unused radio_multi code 2019-05-16 12:30:26 +02:00
Andre Puschmann 76f93df8b6 fix uninitialized vars in demux 2019-05-03 11:17:16 +02:00
Andre Puschmann f46b582c79 fix default initialization of PHY params in RCC
- this commit splits the reconfiguration of the PHY params
- two functions only update the default params (for config
  dedicated and config common)
- one function only updates the current parameters when a new
  config is given (i.e. after rrc reconfig)
2019-05-02 21:01:26 +02:00
Xavier Arteaga b037fb8e51 Added minimal UE synch tweak and fix 2019-04-30 15:06:05 +02:00
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 2019-04-30 15:02:08 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Andre Puschmann d8814a05f0 use stack-allocated messages for tx/rx'ing RRC messages (cherry-picked) 2019-03-19 11:31:10 +01:00
Andre Puschmann 3702a6660e fix compilation for gcc 4.x 2019-03-11 14:39:47 +01:00
Andre Puschmann 1cc6ae3c60 enable c++11 support 2019-03-11 13:31:43 +01:00
Andre Puschmann c8f8c16d50
make EIA and EEA algorithms configurable (#323)
this patch allows to configure the EIA and EEA algorithms
the UE uses and announces during attach. They can
be specified as a comma-separated list.

The patch also removes a dedicated NAS config class and uses
the default nas_args_t type for this. There was a full
duplication of members before.

The patch also converts nas_args_t and usim_args_t into a class
with a default constructor that initialize all booleans.
2019-02-08 22:37:16 +01:00
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 2019-01-22 12:23:57 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Andre Puschmann 3f63663a31 add mutex to csv metrics
this fixes and issue when closing the csv that left
half a new line in buffer
2019-01-10 12:35:45 +01:00
Andre Puschmann d34ecaaa5e adding RI to DL metrics 2019-01-10 12:35:38 +01:00
Joseph Giovatto af6de04806 added dl_earfcn_list to ue config
dl_earfcn_list = 2100,2200,3400
2018-12-17 12:14:49 +01:00
Andre Puschmann 463b00d82d check sys_info_change flag in paging message 2018-12-13 10:54:51 +01:00
Andre Puschmann d7ab2b8d66 add stop_timers function to RRC and call it in rrc::stop()
- this solves an issue with shutting down RRC when the UE
  just sent a connection request (and activated timer T300)
  and stop was called.
2018-12-10 17:48:52 +01:00
Andre Puschmann d6196ba234 simplify RRC-NAS interface and only have msg as param (RRC selects LCID) 2018-12-10 17:48:52 +01:00
Andre Puschmann c9857fe4ad add handler for EMM status message 2018-12-10 17:48:52 +01:00
Pedro Alvarez e3d7ccd7e1 Changed the way UL NAS count is obtained to generate K_enb in the UE. Incrementing UL NAS count on integrity protected dettach request. 2018-11-30 21:42:43 +01:00
Pedro Alvarez dc727a192b Changing way UL NAS count is used to generate the K_enb. 2018-11-30 21:42:43 +01:00
Andre Puschmann db910cb84b add CSV metrics for eNB 2018-11-20 12:15:04 +01:00
Andre Puschmann 0571720105 make LCID for UL_DCCH configurable 2018-10-26 13:11:10 +02:00
Andre Puschmann 1ed225a10b add getter for IPv4 and IPv6 addresses 2018-10-26 13:09:03 +02:00
Pedro Alvarez 5c29dba741 Changed Interface between NAS and GW to avoid the GW start function being called twice in IPv4v6 mode. 2018-10-26 11:42:27 +02:00
Pedro Alvarez 685898b323 Starting to add IPv4v6 support to the UE. Added function to get auto-generated link-local IPv6 address. 2018-10-26 11:42:27 +02:00
Pedro Alvarez ac1c300126 Adding the ability to set the interface local link IPv6 address. 2018-10-26 11:42:27 +02:00
Pedro Alvarez 25108e2e2b Added configuration options to UE for IPv6 PDN. Starting to send PDN connectivity requesting IPv6. 2018-10-26 11:42:27 +02:00
Pedro Alvarez 3cddad79cc Adding ability to configure names of TUN interfaces. (#277)
* added config option for tun dev names vs fixed names added config option for M1-U interface addr

* Added options to sgi_mb tun name.

* Added some comments to mbms.conf.example

* Added some comments to example configs to explain the new values.
2018-10-05 11:12:31 +02:00
Andre Puschmann 0380c83175 remove RF device calibration settings from UE/eNB config
- this remove RF calibration parameters that were an extra
  section in the eNB/UE config but were hardly used (only old bladeRF)
- a better way to pass those parameter would be through the
  device args in the normal rf config section
2018-10-01 21:59:07 +02:00
Ismael Gomez cfb3a43aed Lower priority of workers 2018-09-26 14:30:39 +02:00
Andre Puschmann d981f129e0 Merge branch 'master' into next 2018-09-20 12:54:05 +02:00
Andre Puschmann 1fab8e6702 fix reset of NAS counters after receiving security mode command
- reported by cpetersgit
- reset only needed after receiving initial security mode command
2018-09-20 12:16:44 +02:00
Andre Puschmann f458d58527 fixed handling of UE indentity request 2018-09-20 11:55:42 +02:00
Joseph Giovatto 2dddfa2aac added ability to track tput per bearer (#233)
added mac_metrics for ul/dl harq retex counts
2018-09-20 11:22:22 +02:00
Ismael Gomez 6a791f1416 Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement) 2018-09-06 15:22:37 +02:00
Ismael Gomez 327002a6cb Fix NCC=1 HO in second round 2018-08-22 10:57:26 +02:00
Ismael Gomez aaeec591b6 Fix race condition in phy recv 2018-08-14 19:50:03 +02:00
Ismael Gomez e1870963c7 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-08-10 22:22:07 +02:00
Ismael Gomez 9cd725de21 Trigger measurement only for cells in MeasObj not the discovered ones 2018-08-10 22:21:07 +02:00
Andre Puschmann 06c9a3f07f add network initiated detach 2018-08-07 15:32:40 +02:00
Andre Puschmann 40aef76745 fix logging when removing DRB 2018-08-06 21:09:36 +02:00
Andre Puschmann 3b8371d090 add detach support (for switch off) 2018-08-06 11:10:12 +02:00
Andre Puschmann eb30d86d44 process RRC PDUs in RRC thread 2018-07-23 17:49:26 +02:00
Andre Puschmann bd59d72b9f set RRC args by-value 2018-07-13 13:16:56 +02:00
Ismael Gomez 2d5cdc4f35 Add log to pool deallocate 2018-07-12 18:13:27 +02:00
Ismael Gomez 5474f6d55f Add log to pool deallocate 2018-07-12 18:13:19 +02:00
Ismael Gomez 229569cd76 Fix Aperiodic CQI retx when TBS=0 2018-07-12 11:17:09 +02:00
Ismael Gomez 75e8df2e9f Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-11 15:33:22 +02:00
Ismael Gomez 9231bd0fe0 Fix Aperiodic CQI retx when TBS=0 2018-07-11 14:49:39 +02:00
Andre Puschmann 9b894799f0 add support for ciphered authentication response 2018-07-10 12:34:25 +02:00
Ismael Gomez ebea1cd7fa Look only for required SIBs 2018-07-05 12:03:26 +02:00
Pedro Alvarez f301bb6373 Merging next into op_vs_opc and resolving conflicts. 2018-06-26 11:36:40 +01:00
Xavier Arteaga 5e4fb48184 Refactored CQI reporting logging in UE. Fixes #199 2018-06-25 14:57:12 +02:00
Andre Puschmann 01f6395d70 add option to force IMSI attach by not loading NAS ctxt from file 2018-06-19 14:23:47 +02:00
Pedro Alvarez 75c5e476f1 Added OPc option to UE. (needs testing.) 2018-06-18 15:19:04 +01:00
Pedro Alvarez ea5445f999 Adding options for OP and OPc in the UE. They cannot be simultanoulsy set. 2018-06-18 14:49:07 +01:00
Pedro Alvarez e3d1cff4a3 Revert "Adding OPc option to security functions."
This reverts commit 0eeb70bede.
2018-06-18 11:29:40 +01:00
Pedro Alvarez 0eeb70bede Adding OPc option to security functions. 2018-06-18 11:24:35 +01:00
Xavier Arteaga 6ab69b1d4c Added PDSCH coworkers 2018-06-06 16:59:00 +02:00
Xavier Arteaga 31496ab44c srsue PUSCH, set mcs idx to previous if it is a retransmission 2018-05-25 16:06:32 +02:00
Ismael Gomez 9f7d4718ba Vertical key derivation to use K_enb_initial instead of k_enb 2018-05-24 13:55:18 +02:00
Ismael Gomez 21652950fd Do not reset full softbuffer 2018-05-24 10:50:52 +02:00
Andre Puschmann cb15dee3d4 Merge branch 'embms_merge_final' into next 2018-05-23 21:25:37 +02:00
Merlin Chlosta 52f1a3b508 Add SIM Card Reader Selection, if multiple readers connected.
If no reader specified (default), try all available card readers. If reader specified, use this device only.
2018-05-23 15:39:32 +02:00
Ismael Gomez 4662b83fe9 Use bzero instead of {} for initializing structs 2018-05-22 15:14:03 +02:00
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 2018-05-22 10:39:05 +02:00
Ismael Gomez 467ba4e326 Average sampling offset estimate before adjusting timing to be more robust against EVA and ETU fading 2018-05-21 23:00:57 +02:00
yagoda 65f2747a8e removing mch handler in rlc, fixing embms autostart 2018-05-20 19:24:44 +02:00
Ismael Gomez f8655f3260 Changed the way we detect out-of-sync 2018-05-18 18:55:23 +02:00
yagoda a113d5164f facilitate automatic mbms service start 2018-05-17 10:19:25 +02:00
Andre Puschmann 9ce3be974a Merge branch 'next' into embms_merge_final 2018-05-15 22:32:56 +02:00
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 2018-05-15 17:27:10 +02:00
yagoda 12c9f50ba9 adding upper layer embms support to the UE 2018-05-15 17:20:51 +02:00
yagoda e35672e234 adding PHY embms support to the UE 2018-05-15 17:16:28 +02:00
Andre Puschmann a30ad8952c fix indent and simplify auth request packing 2018-05-15 12:40:29 +02:00
Andre Puschmann d0457211ad adding support for CHAP auth 2018-05-15 12:40:29 +02:00
Andre Puschmann 4dc2951d59 perform initial attach with ESM info transfer 2018-05-15 12:40:29 +02:00
Andre Puschmann 0a6a72832a add return value to USIM init and exit UE if reader wasn't found 2018-05-15 12:40:29 +02:00
Andre Puschmann 3fe6dad323 adding hard SIM card support using PCSC 2018-05-15 12:40:29 +02:00
Ismael Gomez 81b69327b1 Added TA to metrics 2018-05-10 21:49:00 -05:00
Ismael Gomez 4515dd94ea Use blocking queue for RRC measurement fixes #193 2018-05-10 13:41:21 -05:00
Ismael Gomez abea371180 RLF on separate thread to avoid blocking in RLC AM RLF 2018-05-10 13:39:28 -05:00
Ismael Gomez cac027d695 Merge branch 'issue_incorrect_dci' into raa_new 2018-05-10 13:32:27 -05:00
Ismael Gomez 036e39481c Reset PID when grant changes 2018-05-02 12:15:01 +02:00
Ismael Gomez 3ab74fb552 Exposed continuous TX mode to ue.conf 2018-04-27 10:23:38 +02:00
Ismael Gomez 62787bdd41 Remove unused include 2018-04-26 12:46:17 +02:00
Ismael Gomez 06db4e2a87 Start PCCH Only when switching cell in IDLE mode 2018-04-25 23:50:50 +02:00
Ismael Gomez 49c0455b4a Expose print buffer state option to ue.conf and disable by default 2018-04-25 18:08:32 +02:00
Ismael Gomez ab78eb6d58 Process BCCH from pdu_process thread. Process PCCH from new thread in RRC 2018-04-25 13:44:58 +02:00
Ismael Gomez 74d6028769 Delay application of time_adv by 1 subframe 2018-04-24 13:50:59 +02:00
Ismael Gomez ab7a0842ba Send PRACH from worker thread with zero time advance 2018-04-24 10:43:17 +02:00
Ismael Gomez 9c7b3339be Get CRS-based RSRP estimate for in/out-sync measurement. New SNR estimation gives 0 SNR when cell signal is lost preventing from detecting out-of-sync 2018-04-24 10:18:13 +02:00
Ismael Gomez ffb8337be7 Merge branch 'next' into sync_states 2018-04-12 18:30:19 +02:00
Ismael Gomez 99253cb703 Cherry picked fixes from PR #160 2018-04-12 18:17:40 +02:00
Ismael Gomez ff1269add3 HO working 2018-04-11 15:37:27 +02:00
Ismael Gomez edd9cbf4dc Merge branch 'next' into sync_states 2018-04-10 09:35:21 +02:00
David Rupprecht 06d4559294 Change include path absolut to project dir 2018-04-01 18:08:24 +02:00
David Rupprecht 9d71bec7b6 Unified include guards 2018-03-31 19:04:04 +02:00
Ismael Gomez b3be54b274 Attach and paging ok. Reselection on IDLE not working 2018-03-21 10:46:24 +01:00
Ismael Gomez 2c3386a486 Updated missing changes 2018-03-20 15:09:32 +01:00
Ismael Gomez f88f465c97 Refactored NAS/RRC/PHY cell_search/selection procedures 2018-03-19 14:14:51 +01:00
Ismael Gomez 548a4ae29d RRC is_connected return and srsgui crashing if ports=0 when init 2018-03-16 11:23:37 +01:00
Ismael Gomez 86d4ce52e0 Make intra-frequency measurement period/length a parameter 2018-03-15 12:27:55 +01:00
Ismael Gomez f9d770e50e Added option for Doppler frequency correction 2018-03-14 17:30:55 +01:00
Ismael Gomez c0aea5ae13 Neighbour cell RSRP measurement always and only with correlation method 2018-03-14 10:23:41 +01:00
Ismael Gomez 0fbeee72a1 Fixed offset int in previous commit 2018-03-13 20:47:31 +01:00
Ismael Gomez 809c550ca2 Use RS power estimation for serving cell RSRP/SNR measurements. Use correlation of RS sequences for neighbour cell verification of Cell ID 2018-03-13 19:07:15 +01:00
Ismael Gomez c2098ad626 Removed unused sample offset correction 2018-03-13 18:52:21 +01:00
Ismael Gomez 6ca6919694 Handle T300 expiry to avoid blocking on RLC TM UL CCCH when ConnectionRequest fails 2018-03-11 21:47:15 -04:00
Andre Puschmann cbda94f0a6 fix mem leak in phch_recv 2018-03-08 22:04:58 +01:00
Andre Puschmann 9553784e2f change phy_log in UE to log_filter 2018-03-08 22:04:58 +01:00
Ismael Gomez c6c170e737 Do HO after correct synchronization 2018-03-07 00:40:26 +01:00
Ismael Gomez a85368cac0 Discard duplicated TB after timeout 2018-03-07 00:40:19 +01:00
Ismael Gomez 13efa740e8 Changed logic in RRC/NAS/PHY for cell/plmn search to avoid stucking in IDLE 2018-03-06 22:20:38 +01:00
Paul Sutton 57505725e0
Merge pull request #157 from softwareradiosystems/issue_154fix
Issue 154fix
2018-03-06 12:51:02 +01:00
Ismael Gomez be959d0575 Fix several pool leaks in RRC/NAS 2018-03-06 12:46:02 +01:00
Ismael Gomez 8f028e34f3 Do not deallocate BCCH buffer in dl_harq 2018-03-06 12:39:29 +01:00
Ismael Gomez dc65061dbb Print buffer pool status every 10s (Debugging commit) 2018-03-06 12:37:45 +01:00
Ismael Gomez b8b39d6d1b NULL payload buffer in dl_harq in the constructor 2018-03-05 15:16:21 +01:00
Ismael Gomez 23f3086669 Deallocate properly on dl_harq 2018-03-05 15:13:24 +01:00
Ismael Gomez f53cb11e82 Remove mutex from ul_harq 2018-03-05 14:54:01 +01:00
Ismael Gomez 8591049e92 Added mutex to ul/dl harq reset 2018-03-05 14:33:51 +01:00
Ismael Gomez 73602a8558 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-03-05 13:07:34 +01:00
Ismael Gomez 90553e830d Fixed cell search for non-home PLMN 2018-03-05 13:07:24 +01:00
Andre Puschmann f6ee0e1c8a move byte_buffer to UE base class 2018-03-04 21:53:06 +01:00
Ismael Gomez 91664ef2be Do sell reselection on IDLE by phch_recv thread instead of worker 2018-03-04 11:55:58 +01:00
Ismael Gomez 650f433532 Add mutex to worker_imp/set_cell worker 2018-03-04 11:55:31 +01:00
Ismael Gomez fd0c8168f0 Set to Continuous RX and TX 2018-03-02 20:59:17 +01:00
Ismael Gomez 5fe066df69 Merge branch 'raa' into next 2018-03-02 18:08:53 +01:00
Ismael Gomez de747f4e1c MUX retx Msg3 correctly 2018-03-02 16:58:52 +01:00
Ismael Gomez 0fcb065ae8 Disabled TX continuous and sleep on cell search 2018-03-02 14:08:29 +01:00
Ismael Gomez beccfd2919 Average RSRP in linear domain to get better resolution 2018-02-25 23:36:08 +01:00
Ismael Gomez cfaa5e9b28 Fix previous commit could not HO more than once due to not refreshing serving cell after 1st HO 2018-02-25 19:13:12 +01:00
Ismael Gomez 42ece73453 Changed cell selection/reselection to avoid stopping/restarting radio. Fixed SIB message search 2018-02-24 21:33:13 +01:00
Ismael Gomez 56455b31ef Use dedicated thread for MAC timers 2018-02-24 21:29:57 +01:00
Ismael Gomez 8474c6e3aa Fixed HO to unkown cell issue 2018-02-23 13:05:02 +01:00
Ismael Gomez 7c276318b2 Merge branch 'next' into raa 2018-02-21 14:53:54 +01:00
Xavier Arteaga 4df6227f5b UE stores last PMI and last RI in common phy 2018-02-21 14:51:09 +01:00
Ismael Gomez 09c5ddb730 Merge branch 'next' into raa 2018-02-21 11:53:36 +01:00
Ismael Gomez f6a17d1182 Logs to test snr drop issue 2018-02-21 11:04:35 +01:00
Ismael Gomez e59822f9a9 Fixed bug in previous commit 2018-02-16 18:41:38 +01:00
Ismael Gomez 62116bf1ae Revert "Logs to test snr drop issue"
This reverts commit 097005684a.
2018-02-16 17:16:03 +01:00
Ismael Gomez 65023f576e Merge branch 'test_snr' into raa 2018-02-16 15:33:27 +01:00
Ismael Gomez 79e59f1bf8 Missed headers in previous commit 2018-02-16 15:25:53 +01:00
Ismael Gomez 097005684a Logs to test snr drop issue 2018-02-16 12:05:45 +01:00
Ismael Gomez 90fe4a218b Fix RNTI in Msg3 after non-contention HO in PCAP 2018-02-16 11:37:57 +01:00
Andre Puschmann b2ce6ec9a9
Merge pull request #139 from mrlnc/apn_cfg
Add APN to config and PDN connectivity request
2018-02-16 09:43:20 +01:00
Ismael Gomez 9acefc53f8 Set C-RNTI when grant from RAR but no Msg3 2018-02-14 00:00:31 +01:00
Ismael Gomez 13a16e200c Transmit Msg3 only if available (2) 2018-02-13 23:31:52 +01:00
Ismael Gomez ca4a22aeaf Transmit Msg3 only if available 2018-02-13 23:20:35 +01:00
Ismael Gomez 2cf6f96f24 Fixes #6 AGC 2018-02-13 15:06:22 +01:00
Ismael Gomez 4e1d2cdf05 Defaut in-sync for neighbour cell to true 2018-02-13 00:05:52 +01:00
Andre Puschmann ccfb9314bc fix various coverity bugs 2018-02-11 10:59:56 +01:00
Xavier Arteaga 0c2f0ac038 Fixed srsue freq_offset compensation for UL 2018-02-07 18:36:06 +01:00
Xavier Arteaga 4949759cdc Fixed simultaneous PHICH (ACK) and CQI request. 2018-02-06 10:42:57 +01:00
Ismael Gomez a279ab47f0 Improved neighbour cell accuracy. Changed RRC to avoid segfault when neighbour cell addition 2018-02-02 19:31:22 +01:00
Xavier Arteaga 872a92abbc Fixed UL MAC Bug 2018-02-02 15:57:25 +01:00