Commit Graph

129 Commits

Author SHA1 Message Date
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 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 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 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
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
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 2019-09-30 21:05:32 +02:00
Ismael Gomez a3932f9bea Minor change to fix coverty issue 2019-09-17 14:22:38 +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
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 b5685c8f09 SRSUE: Fixed HO with carrier aggregation 2019-07-19 18:10:23 +02: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 5faa819dcd fixing uninitialized class members found by coverity 2019-07-08 11:12:46 +01: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 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
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
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 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