Commit Graph

170 Commits

Author SHA1 Message Date
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
Ismael Gomez 3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
* Added channel emulator to srsENB. Added support for fixed delay

* Bug in OFDM when using nonguru mode

* A few changes and refactor in eNodeB
2019-10-23 11:09:39 -05: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 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 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
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 2019-09-30 21:05:32 +02:00
Andre Puschmann c99d5077c8 add RLC UM NR transmitter 2019-09-20 16:33:25 +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
Ismael Gomez 6bb0790cf1
Fix coverty issues (#652) 2019-09-13 15:06:20 +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 49279c89d8 send DL-DCCH on SRB2 after it has been established 2019-09-09 17:16:22 +02:00
Harald Welte 2e426948fe [ENB] Add CFSB support
This commit introduces CSFB (circuit switched fall-back) capabilities to
srsLTE.  Actually, all the eNB has to do is to send a
RrcConnectionRelease with the RedirectedCarrierInfo IE.

The MME triggers this by the S1AP CS Fallback Indicator IE, which may
be present either in the Initial Context Setup Requst or in the
UE Context Modification Request.

As srsLTE has no support for the UE Context Modification Request at all
yet (!), basic support for this message is introduced in this patch.

Both Mobile Originated and Mobile Terminated CSFB with a coupel of
different UE models have been verified using this patch in a setup
consisting of srsENB attached to an undisclosed EPC connected via SGsAP
to a complete  Osmocom 2G network.

Closes: #358
Closes: #363
2019-09-09 16:59:00 +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 116dc0a57b fixed group extensions, removed extra presence flag for copy_ptr<T> types as it was just a source of bugs. 2019-09-02 20:21:54 +02:00
Francisco Paisana c9d3b61038 added resumable procedures to make RRC and NAS non-blocking 2019-08-08 10:56:54 +02:00
Pedro Alvarez 6efa944b5e Removed srslte prefix from pdcp_config_t 2019-07-30 15:01:50 +02:00
Pedro Alvarez 457f35699d Reverted back to a single config structure between PDCP NR and PDCP LTE. 2019-07-30 15:01:50 +02:00
Pedro Alvarez c9e99443d8 Adding PDCP NR Tx test. 2019-07-30 15:01:50 +02:00
Pedro Alvarez 005d03cb1a Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP 2019-07-30 15:01:50 +02:00
Francisco Paisana 424876c5e4 added DL TTI mask for MBMS 2019-07-21 22:27:17 +02:00
Ismael Gomez 8c41625599 Add RLC suspend and resume 2019-07-12 13:08:42 +02:00
Xavier Arteaga 20823e191d SRSUE: Added UL force amplitude optional parameter 2019-07-12 13:05:10 +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
Francisco Paisana 92b4b168fe added default rlc um and am in the interface as factories 2019-07-05 10:44:15 +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 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 87433c83da SRSUE: 64QAM R8 compatible 2019-07-02 16:36:06 +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 e0a28cf4c0 simplify PDCP init and also bypass it for SRB0 on eNB 2019-06-21 15:49:46 +02:00
Andre Puschmann 0ef96f789b bypass PDCP for SRB0 processing chain 2019-06-21 15:49:46 +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 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 1f4cf8121b SRSUE: Initial UL channel simulator 2019-06-11 12:06:11 +02:00
Andre Puschmann 2b7b4d0e7e remove hard-coded LCID for dedicated bearer in GW 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 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
Xavier Arteaga bd3ec34f7b SRSUE: Apply CLang format phy args structure 2019-06-06 15:00:26 +02:00
Xavier Arteaga fd3671a7e5 SRSUE: Enable AGC 2019-06-06 15:00:26 +02:00
Ismael Gomez c2e9817f41 Possible solution to RLC Reestablishment 2019-06-06 14:34:25 +02:00
Ismael Gomez 14b526f2aa Add PDCP per-bearer reestablish 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 9ab2b2de81 SRSUE: Created delay channel emulator and added fading to the UE 2019-05-30 13:07:23 +02:00
Andre Puschmann 20c9f4687c remove duplicated code mac_cfg_t 2019-05-27 12:37:52 +02:00
Xavier Arteaga 7629863c5a SRSUE MAC: 36.331 v10 9.2.2 MAC main config defaults does not include RACH 2019-05-27 12:37:52 +02:00