Commit Graph

869 Commits

Author SHA1 Message Date
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
Xavier Arteaga bb2c41ab0e SRSUE RRC: 36.331 v10 5.3.7.2 PHY reset according to 9.2.4. No common PHY default parameters. 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
Xavier Arteaga de9555c4f1 SRSUE RRC: 36.331 v10 9.2.4 does NOT specify MAC reset 2019-05-27 12:37:52 +02:00
Xavier Arteaga 2c78111666 SRSUE: Fixed CLang Tidy in ue.cc 2019-05-27 12:21:57 +02:00
Xavier Arteaga dd163dae10 SRSUE Radio: Fixed param parsing 2019-05-27 12:21:57 +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 0e3baa0f2f Renamed the reset() method of byte_buffer_t to clear() 2019-05-16 12:35:01 +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
Francisco Paisana b04cb0deb9 using the new choice set api in UE and eNB RRC 2019-05-10 11:59:34 +02:00
yagoda c25f3b0acf increasing rlc UM window size for eMBMS, small adjustment to eMBMS PHY common 2019-05-06 17:06:25 +02:00
Ismael Gomez 060a0908ca Fix forced interpolation in TDD 2019-05-04 22:14:05 +02:00
Andre Puschmann 703937ec01 move sanity check for MBMS parameters to parse_args to avoid segfault on mismatch 2019-05-03 14:24:42 +02:00
Andre Puschmann 76f93df8b6 fix uninitialized vars in demux 2019-05-03 11:17:16 +02:00
Ismael Gomez ef7b0cf7fa Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2019-05-03 00:04:47 +02:00
Ismael Gomez 2d25661706 Fixes UE crashing when stopping and no cell available 2019-05-03 00:04:21 +02:00
Pedro Alvarez 0f36bfbb8a Changing print from console to debug log when generating the PDN connectivity request. 2019-05-02 23:03:29 +01: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
Andre Puschmann e3387ea0b7 fix usim initialization if neither op nor opc are given 2019-05-02 20:27:01 +02:00
Ismael Gomez 2f0020b7ca Remove out_of_sync() call when not camping. Warning commit 2019-05-02 19:32:26 +02:00
Andre Puschmann e8b2be378d fix ue.conf.example description for op/opc configuration 2019-05-02 13:40:35 +02:00
Andre Puschmann cdebf515b4 fix potential locking while stopping UE MAC 2019-05-02 13:08:23 +02:00
Andre Puschmann f00f7787be fix uninitialized members in dl_harq 2019-05-02 12:39:40 +02:00
Andre Puschmann 389753e5a0 init mac_key in reestab request packing
fixes issue seen by coverity that is not really an issue
because the integrity generation will init it anyway
2019-05-02 11:57:06 +02:00
Andre Puschmann 6b2e98ec71 fix buffer free and code clone in prach.cc 2019-05-02 11:50:30 +02:00
Pedro Alvarez d86cddfd61 Stop comparing address of struct with struct on async_scell_recv.cc. 2019-05-02 11:41:59 +02:00
Pedro Alvarez 892da7f099 Fixed phr_cfg initialization to silence compiler warning. 2019-05-02 11:41:59 +02:00
Pedro Alvarez 63852c5b87 Fixed warnings in ue RRC due to memsetting non-trivial structures. 2019-05-02 11:41:59 +02:00
Pedro Alvarez 5dd76479a0 Using zero-initialization in phy default_args to avoid compiler warnings. 2019-05-02 11:41:59 +02:00
Ismael Gomez 40afc30c60 Remove unused parameters 2019-04-30 21:06:17 +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 7ec587bcdc backport support for ipv6 for older glibc 2019-04-30 14:00:19 +02:00
Francisco Paisana 82a0145593 added extra tests in the unpacking of rrc asn1 2019-04-29 17:33:08 +02:00
Andre Puschmann 507e2deaa3 fix mem leaks in RRC after ASN1 unpacking failed 2019-04-29 12:39:02 +02:00
yagoda 3842beab0f - fixing pmch file test for standard LTE rates
- adding special value for MTCH stop
- adding error messages for config values incompatible with MBMS
2019-04-29 12:04:42 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Pedro Alvarez c51a8bfe9d Fix compilation error when using GCC 8, C++11 and C complex functions. 2019-04-26 13:57:31 +02:00
Andre Puschmann 11414271d8 only write valid IPv4/v6 packets to tun 2019-04-26 12:10:45 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Andre Puschmann 7d95766c7b fix line break in command line arguments 2019-04-25 16:31:41 +02:00
David Rupprecht dabf586316 ISMI to IMSI typo 2019-04-11 21:38:01 +02:00
David Rupprecht eb3a83ac45 User Plane key in configuration interface 2019-04-11 21:38:01 +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
Pedro Alvarez aa3a2a3dba Fix compilation issue with GCC 8.x using complex numbers. 2019-03-13 13:18:17 +01:00
Andre Puschmann 3702a6660e fix compilation for gcc 4.x 2019-03-11 14:39:47 +01:00
Andre Puschmann 347f427c33 remove unused variables 2019-03-11 13:31:43 +01:00
Andre Puschmann 1cc6ae3c60 enable c++11 support 2019-03-11 13:31:43 +01:00
Andre Puschmann 0aef6f8d4a fix various uninitialized variables 2019-02-10 09:08:06 +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
Andre Puschmann 61f3a55bc5 initialize and reset avg_noise in phch_common 2019-01-22 21:49:37 +01:00
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 2019-01-22 12:23:57 +01:00
Andre Puschmann a436baed39 fix build string for builds without valid .git folder 2019-01-22 12:09:52 +01:00
Francisco Paisana 96303e4d58 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2019-01-21 16:41:25 +00:00
Francisco Paisana be06f260db fixed issues in the parsing of sibs 2019-01-21 16:39:00 +00:00
Andre Puschmann 631472760a fix signaling of mtch_cvar in phch_common
fixes possible race cond when more than one worker
is waiting for this cond and only one is ever woken up
2019-01-21 12:25:27 +01:00
Pedro Alvarez c5dad67a16 Adding catch to boost program options parser. 2019-01-18 12:38:56 +00:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Andre Puschmann 646eb9c0e3
Merge pull request #313 from softwareradiosystems/next_mme_encryption
NAS MME encryption
2019-01-15 21:31:25 +01:00
Xavier Arteaga 07a68d7120 Enable UE's AGC for cell search (#314) 2019-01-15 21:26:23 +01:00
Andre Puschmann 8326299ec5 fix uninitialized variables 2019-01-15 16:34:41 +01:00
Andre Puschmann 15953d011e fix possible mem leak when parsing embms cmd line input 2019-01-15 16:34:04 +01:00
Andre Puschmann b6bb8cb125 fix possible buffer overflow when generating PRACH sequences 2019-01-15 16:12:52 +01:00
Andre Puschmann 2590ebd10b fix bugs reported by coverity 2019-01-15 15:59:38 +01:00
Pedro Alvarez c4544f2ede Send detach request correct security header in UE. 2019-01-15 10:30:01 +00:00
Pedro Alvarez b675e1fcc9 Ciphering EMM information message. Chainging detach_request security header in the UE to integrity and ciphered to avoid malformed message. 2019-01-14 17:00:16 +00: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
Andre Puschmann 192fcd726e Merge branch 'service_reject' into next 2018-12-17 12:35:57 +01:00
Andre Puschmann d14c65b7c2 move DL EARFCN list handling before RF init and fix formating 2018-12-17 12:31:33 +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 b2bcfca074 add service reject handler 2018-12-17 12:05:22 +01:00
Andre Puschmann 652d5c5942 fix typo 2018-12-14 16:57:58 +01:00
Andre Puschmann df7ab7ffe8 Merge branch 'master' into next 2018-12-14 16:54:46 +01:00
David Rupprecht a9032bb91a Fix problems when TA timer is set to infinity 2018-12-14 11:35:28 +01:00
Andre Puschmann 463b00d82d check sys_info_change flag in paging message 2018-12-13 10:54:51 +01:00
Ismael Gomez 8f541cf4e1 Merge branch 'next' into neon_windowed_tdec 2018-12-12 11:47:50 +01:00
yagoda 3762738bc1 adding windowed neon turbodecoder (can be further optimized) 2018-12-12 11:27:07 +01:00
Andre Puschmann 96f057d34b typo in phch_worker 2018-12-10 17:48:52 +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 2bc4d70199 reset TA before sending PRACH (fixes #285)
as suggested by Xavier in phch_recv.cc
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
Andre Puschmann c3441046c9 simplify RLC buffer status query procedures
- add a simple and low-overhead has_data() method to check whether
  an RLC entity has data to transmit or not
- use this method for all calls that are actually not interested
  in the amount of data to send
- use the more expensive get_buffer_state() for all cases where
  the actual size of the buffer is of importance
2018-12-10 17:48:52 +01:00
Andre Puschmann 946a50adf0 in UL MAC mux, allow multiple RLC PDUs for each LCID 2018-12-10 17:48:52 +01:00
Andre Puschmann df40259c26 fix issue in PDCP when bearer ID for DRBs was not starting with 1 2018-12-10 16:58:08 +01:00
yagoda 77fb9c3ad5 Merge branch 'next' of https://github.com/softwareradiosystems/srsLTE into next 2018-12-04 17:49:30 +01:00
Andre Puschmann bba2987eb0 print LCID when adding DRB 2018-12-03 15:00:54 +01:00
rubund b801c3dd4e Fix some spelling errors detected by lintian (#271) 2018-12-03 10:36:15 +01:00
Pedro Alvarez 548808ecee Changing RRC key logging from debug to info. Small readability fix. 2018-11-30 21:42:43 +01:00
Pedro Alvarez 553f8260bb Fixing up logs and comments. 2018-11-30 21:42:43 +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