Commit Graph

1540 Commits

Author SHA1 Message Date
Andre Puschmann e47010130f extend thread class to set unique thread name in ctor
this will also extend all classes that use srslte::thread
to specify the name of the thread in the ctor as well
as to set the name of the worker threads in the thread pool
the thread name will be displayed in gdb.
2019-06-03 15:03:20 +02:00
Andre Puschmann 0e95867f13 remove task dispatcher class 2019-06-03 15:03:20 +02:00
Andre Puschmann acf95fdd85 rlc_am: fix newline in logs 2019-05-31 12:20:30 +02:00
Xavier Arteaga b903e61548 Initialise all channel emulator attributes by default 2019-05-31 10:51:11 +02:00
Andre Puschmann b3f1915f7b pdu: fix zero-padding of RAR PDUs 2019-05-30 15:31:54 +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 2ffa1f9f1e SRSUE: Added RLF simulator in channel emulator and integrated it in SRSUE. Removed Zeros Command 2019-05-30 13:07:23 +02:00
Xavier Arteaga 7c97e40e63 SRSUE: Improved internal channel emulator help 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 709e769d0d pdu: fix formatting 2019-05-30 13:06:42 +02:00
Andre Puschmann ee1f910877 pdu: add unit test for packing and unpacking RAR PDUs 2019-05-30 13:06:42 +02:00
Andre Puschmann ea2e692836 pdu: fix MAC RAR PDU packing and unpacking with backoff indicator 2019-05-30 13:06:42 +02:00
Andre Puschmann e97343579b liblte_mme: fix typo in header 2019-05-30 13:05:02 +02:00
Pedro Alvarez 1031ea896d add NAS activate dedicated bearer request unpacking test 2019-05-30 13:05:02 +02:00
Andre Puschmann 76b84a9b61 fix unpacking of deactivate eps bearer context 2019-05-30 13:05:02 +02:00
Pedro Alvarez 69b1a2319e Fix error in the TFT parameter list size unpacking 2019-05-30 13:05:02 +02:00
Pedro Alvarez 82828a699b Fixed bug in transaction identifier and radio prio unpacking in NAS. 2019-05-30 13:05:02 +02:00
Pedro Alvarez 02beeefdbd Fix header unpacking error in the Activate EPS dedicated bearer context request message 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 c14c3c23f1 pdcp: fix issue when setting SN length configuration 2019-05-30 13:05:02 +02:00
Andre Puschmann f000e36f21 liblte_mme: fix dedicated bearer handling, add handling for UE testmode 2019-05-30 13:05:02 +02:00
Andre Puschmann 8fd4c42849 fix include in build_info.h template 2019-05-28 13:04:53 +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
Xavier Arteaga 2c78111666 SRSUE: Fixed CLang Tidy in ue.cc 2019-05-27 12:21:57 +02:00
Francisco Paisana 00256f2cd9 fix the hanging in the UE during shutdown 2019-05-24 17:08:14 +02:00
Francisco Paisana 4311c3121c avoid crash when converting nulltype to string 2019-05-24 09:42:42 +02:00
Andre Puschmann 58b09c8677 fix pool_allocate macros for new unique_buffer 2019-05-20 17:16:12 +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 bc01a5ecda changed block_queue api to return back the unique buffer in case it fails to push it to the queue 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 4edcedd2b3 add helper to create cexp function for entire subframe 2019-05-16 12:32:36 +02:00
Andre Puschmann 4f42c0796c add CFO correction method with offset
- CFO correction which allows to specify the offset within
  the correction table to allow phase-continuity across
  multi-subframe transmissions (NB-IoT)
2019-05-16 12:32:36 +02:00
Andre Puschmann 7138126896 add short-cirtuit evaluation for calculating nof of ref symbols without passing object 2019-05-16 12:32:36 +02:00
Andre Puschmann e647dac3e4 add simple cross-correlation method
- implements a cross-correlation that takes the complex conjugate
  of one of the input signals (filter)
- the fft of this input signal is only computed once
2019-05-16 12:32:36 +02:00
Andre Puschmann 13c17ad9e7 add text output capabilities to filesink 2019-05-16 12:32:36 +02:00
Andre Puschmann 62dad5e21d add nb-iot tag support to PCAP writer 2019-05-16 12:32:36 +02:00
Andre Puschmann 92f3f02f2d remove radio_sync object 2019-05-16 12:30:26 +02:00
Andre Puschmann dc9df36a24 remove unused radio_multi code 2019-05-16 12:30:26 +02:00
Francisco Paisana 7be183c223 rework scheduler 2019-05-14 22:34:50 +02:00
Xavier Arteaga 2aa36dd11c Added backtrace print helper 2019-05-14 22:32:07 +02:00
Andre Puschmann fcd086a1c5 fix metrics_hub compilation for older gcc using std::chrono 2019-05-10 13:49:42 +02:00
Xavier Arteaga 114f66f8b9 Reduce ctest execution time 2019-05-10 12:01:43 +02:00
Andre Puschmann 0f6997170b fix unitialized var in pdu.h 2019-05-10 12:01:03 +02:00
Francisco Paisana aca1e9612d revert back from max_sizeof(...) to macros 2019-05-10 11:59:34 +02:00
Francisco Paisana 47ba5cd098 Set the optimization flag to Os for the rrc asn1 library 2019-05-10 11:59:34 +02:00
Francisco Paisana 14b6a1d483 setter method for choice types 2019-05-10 11:59:34 +02:00
Andre Puschmann 3f50e5f51c fix overlapping memcpy detected by valgrind
this has been detected by valgrind+gcc on Ubuntu 16.04 but
isn't an issue for more recent versions. Not sure if that is because
of an issue in older libc and there memcpy implementation or a
bug in valgrind, or both.

In any case, overlapping memcpy may cause undefined behaviour so
it seems ok to only copy the symbols that do not contain the
DMRS, i.e. not symbol 3 in each slot.
2019-05-09 17:40:08 +02:00
yagoda 0213045d74 small cmake bugfix for case where srsenb is disabled 2019-05-09 16:16:19 +02:00
Ismael Gomez efe74e765b Fix coverty non-inititalized variables in tdec 2019-05-08 10:56:48 +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
Andre Puschmann 780ea8867c fix asn1_m2ap test
- there was an issue in the stack allocation of the large
  m2ap pdu struct that was fixed by heap-allocating it

- there was also an issue in the m2ap packing that used
  a temporary struct that was not initialized
2019-05-03 12:09:57 +02:00
Andre Puschmann fc432adb66 fix uninitialize variable in ue_ul.c 2019-05-03 11:16:58 +02:00
Andre Puschmann 779d599289 fix naming of unittest for ch_estimation (was overwriting previous test) 2019-05-03 11:02:21 +02:00
Andre Puschmann 723cd71a3a remove usage of <assert> in rlc_um_test 2019-05-03 10:58:05 +02:00
Andre Puschmann 46cc5a1985 use buffer pool in rlc_um_test 2019-05-03 10:52:16 +02:00
Francisco Paisana 896ef5ee64 added default init for booleans and integers 2019-05-03 09:54:57 +02:00
Francisco Paisana 37d104a2c5 max_sizeof(...) now does a divide a conquer to reduce recursion depth 2019-05-03 09:53:30 +02:00
Ismael Gomez 786830daf3 Fix minor issues for TDD 2019-05-02 19:31:46 +02:00
Andre Puschmann 498c1bae26 remove usage of <assert> in asn1_m2ap test 2019-05-02 13:38:59 +02:00
Andre Puschmann e77adbe5a5 fix uninitialized members in ue_interface 2019-05-02 12:43:19 +02:00
Andre Puschmann a559077b54 fixed uninitialized member in radio.h 2019-05-02 12:06:21 +02:00
Pedro Alvarez 2edc0a6b00 Fix printf of possibly uninitialized variable in chest_test_dl.c. 2019-05-02 11:41:59 +02:00
Pedro Alvarez a18196cdc2 Making sure that string gets NULL terminated in benchmark_radio.cc when using strncpy. Fixes compiler warning in GCC 8.2 2019-05-02 11:41:59 +02:00
Pedro Alvarez a8fe44252e Removed memcpy and memset in rlc_am.cc to remove compiler warnings. 2019-05-02 11:41:59 +02:00
Pedro Alvarez f2530eb57b Fix rlc_am_data_test to avoid compiler warning from memset 2019-05-02 11:41:59 +02:00
Pedro Alvarez 3a502ccd13 Removed memset from rlc_status_pdu in test, to avoid compiler warnings. 2019-05-02 11:41:59 +02:00
Ismael Gomez 5e5e797cb9 Adjust 75 PRB radio offset and clean log 2019-05-01 07:40:53 +02:00
Xavier Arteaga 0b796c2956 Fixed random isnan 2019-04-30 17:25:50 +02:00
Xavier Arteaga c18a59730c Solved PHY unit test memory leaks 2019-04-30 15:56:47 +02:00
Xavier Arteaga 794325fa29 Fixed in-buffer time and use vector sine generator 2019-04-30 15:08:48 +02:00
Xavier Arteaga baac179d95 Added vector complex sine generator 2019-04-30 15:08:39 +02:00
Xavier Arteaga 7bd3a9a43b Added ringbuffer read function with timeout 2019-04-30 15:06:39 +02:00
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 2019-04-30 15:02:08 +02:00
Xavier Arteaga 06a9d8eb6f Added vector estimate frequency 2019-04-30 14:52:16 +02:00
Xavier Arteaga 4187781268 Random module return pointer object and solved NAN issue 2019-04-30 14:48:13 +02:00
Francisco Paisana 1674c8939f automatically resolve invalid prach_offset for prb6 2019-04-29 15:53:59 +02:00
Ismael Gomez 47acbc1e08 Compute per-antenna and per-port chest metrics in chest_res 2019-04-29 15:25:01 +02:00
Ismael Gomez 2d9b7756df Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2019-04-29 14:36:49 +02:00
Ismael Gomez 860e192cfb Do not stop/start stream if timed commands are not supported 2019-04-29 14:36:41 +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
Andre Puschmann 205db6f229 add missing license headers 2019-04-26 21:20:12 +02:00
Andre Puschmann c4e8bed042 log SDU dropping in info in RLC AM 2019-04-26 12:10:45 +02:00
Xavier Arteaga e2daeca0b5 UHD v3.14 Set sample rate walkaround for N310 and X310 2019-04-26 11:56:55 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Xavier Arteaga 963a5faad0 Disable UHD inmediate messages automatically 2019-04-25 17:27:51 +02:00
Xavier Arteaga 54d11f9e88 UE AGC Fix. Tries to set the Rx gain even if it reaches the limit. 2019-04-25 17:05:13 +02:00
Andre Puschmann c6e19645af add zmq-based rf driver 2019-04-25 10:25:49 +02:00
Andre Puschmann f2266bb264 add uint64 (sample based) time stamp helpers 2019-04-22 15:35:26 +02:00
Xavier Arteaga ed6b138cb2 Added safe and good quality random generator in phy/utils 2019-04-21 21:41:17 +02:00
Xavier Arteaga c42fbbe6a5 Created 3GPP fading channel emulator 2019-04-21 15:27:31 +02:00
Andre Puschmann 3149e4191a Merge branch 'master' into next 2019-04-15 15:23:33 +02:00
David Rupprecht 735f97ceb6 Fixed Bearer ID for data Bearer and changed debug type for enc data pdus 2019-04-11 21:38:01 +02:00
David Rupprecht b84e49310e Enable encryption in reconfiguration and after security mode command (NOT TEST) 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
Pedro Alvarez ca603810ce Adding Downlink data notification and paging functionality to the EPC.
This entails:

  * Adding S1AP paging messaging to the MME.
  * Adding the Downlink Data Notification, Donlink Data Notification Acknoledgment, and Downlink Data Notification Failure Messages.
  * Adding the logic at the GTP-U to detect that Downlink Data notification needs to be sent.
  * Proper handling of the new GTP-C messages at the MME GTPC and SPGW GTPC classes
  * Add queuing mechanisms at the GTP-U while waiting for paging response. Queue is flushed when paging fails (timeout or other).
  * Make sure eNB's SCTP information is properly stored.
  * Make sure UE's GUTI information is properly stored.
2019-04-09 16:59:44 +02:00
Pedro Alvarez 1db959c661 Added NAS timer functionality to the EPC. This entails:
* Adding timer creation at NAS using timerfd_create
  * Adding the ability to add and remove the timer file descriptor to the MME main select loop
  * Adding the ability to the MME for the NAS to check if a timer is running
  * Adding the timer expiry handling functionality at the MME
2019-04-08 13:05:54 +02:00
aholtzma 429ee9019d Fix enb putting the SSS in the wrong place with ext CP enabled. 2019-04-05 09:19:49 +02:00
Francisco Paisana dc0b903130 added default enum inits 2019-04-02 11:03:37 +02:00
Pedro Alvarez 5f7b6ba79e Split GTP-C and GTP-U functionality into seperate classes in the SPGW. Added GTP-U specific logging in the EPC. Added handle_s11_pdu function to both the MME GTP-C entity and the SPGW GTP-C entity. 2019-04-02 09:17:00 +02:00
Andre Puschmann 3405a1bff6 add multi-channel support for soapy 2019-03-20 14:07:15 +01:00
Andre Puschmann beec489dd4 fix issue in SoapySDR tx routine
correct offsetting tx buffer when first call couldn't tx all samples
2019-03-20 14:07:15 +01:00
Pedro Alvarez add60c1288 Applied clang-format to the EPC. 2019-03-20 14:00:02 +01:00
Francisco Paisana 7fd8ca82c6 fix complex.h issue 2019-03-11 13:31:43 +01:00
Andre Puschmann 1cc6ae3c60 enable c++11 support 2019-03-11 13:31:43 +01:00
Francisco Paisana 18f61b13d9 fixed asn1 to_json converter for extensions 2019-03-01 11:06:39 +01:00
Andre Puschmann e84d26ae4e fix RLC UM reestablishment 2019-03-01 11:01:58 +01:00
Andre Puschmann c49dddc09a fix RLC UM bug and enable Rx after reestablishment 2019-02-22 09:51:59 +01:00
Andre Puschmann c4c44c33f4 use blocking pool_allocate in pdu_queue 2019-02-21 16:10:04 +01:00
Francisco Paisana 80031d0846 shortened enumerated string/number conversion implementations. 2019-02-21 15:56:23 +01:00
Francisco Paisana ca3ea5e658 shortened enumerated types declarations 2019-02-21 15:56:23 +01:00
Francisco Paisana e50c062084 added extra separator comments 2019-02-21 15:56:23 +01:00
Andre Puschmann afb591ee97 add ctor for worker class in thread_pool 2019-02-20 16:14:48 +01:00
Andre Puschmann 94481c1963 removed warning in RLC if LCID isn't valid for all methods called by BSR procedure
this was causing many warnings in the log because the BSR checks with RLC
if a bearer has data even if it doesn't exist
2019-02-11 23:58:19 +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 86232c143e expose RLC tx queue length through config struct 2019-02-01 17:11:55 +01:00
Andre Puschmann 84c8626808 print error when RLC bearer LCID change is not successful 2019-02-01 16:34:45 +01:00
Andre Puschmann 5dfc126a30 improve RLC logging when LCID is not valid 2019-02-01 16:33:22 +01:00
Ralf Lindstedt 5c088d75ae Fixed check for valid cell-identity group 2019-02-01 10:28:43 +01:00
Andre Puschmann 7343453e25 fix bug in rf_imp
- set thread gain run variable to false by default
2019-01-31 15:31:40 +01:00
Andre Puschmann ef544e64c2 expose RF device as paramter for pdsch_enodeb/_ue 2019-01-31 15:31:33 +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 2e1b8240e6 fix uninitialized timeval struct in metrics_hub
This was causing issue in some builds done on the Ubuntu
PPA systems leading to an SIGILL when starting the UE/eNB
2019-01-22 12:23:24 +01:00
Andre Puschmann 77ca1d9882 load config file from user's home directory first before checking etc 2019-01-22 12:09:52 +01:00
Andre Puschmann 788f283492 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2019-01-21 15:53:49 +01:00
Francisco Paisana 840b9ce364 fixed octstring to_number() endianess 2019-01-21 14:16:21 +00:00
David Rupprecht 3d458319c9 fixed decoding of multiple s1ap plmns 2019-01-21 10:55:06 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
yagoda d4e72d7128 small change to eMBMS channel estimation 2019-01-16 16:30:05 +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
Andre Puschmann 4655ad92fe fix mem leak in radio 2019-01-15 16:33:17 +01:00
Andre Puschmann 2590ebd10b fix bugs reported by coverity 2019-01-15 15:59:38 +01:00
Pedro Alvarez 584c190773 Merge branch 'next' into next_mme_encryption
Updating next_mme_encryption to the latest next.
2019-01-14 14:16:59 +00:00
Andre Puschmann 04f6569113 fix missing newline in RLC log 2019-01-14 14:38:41 +01:00
Andre Puschmann 0abc7d4dbd fix bug when stopping ringbuffer 2019-01-11 13:28:32 +01:00
Andre Puschmann e328681343 add decode/encode when printing CB misconfig 2019-01-11 13:28:27 +01:00
Andre Puschmann 53850e5353 delete MRB bearer during PDCP destruction 2018-12-30 22:58:41 +01:00
Andre Puschmann 98780c1af5 free mem for UHD handler if no UHD device was found 2018-12-30 22:35:37 +01:00
Pedro Alvarez 997c24c099 Added config of cipher_algo and integ_algo initialization in NAS class. 2018-12-18 18:27:31 +00:00
Pedro Alvarez d7b92b8f77 Small commit to fix PDCP SN packing in liblte_s1ap 2018-12-18 12:13:56 +00:00
Andre Puschmann 955f5dd37a add mutex in pdcp entity
write_sdu and write_pdu are not re-entrant because all functions
that deal with the counters, e.g. integrity check and generate,
must be protected because MAC threads may call them at the same time.

this addresses issue #254
2018-12-18 11:54:54 +01:00
Andre Puschmann bdbdef41c0 fix compiler warning in pdsch_ue 2018-12-18 11:53:16 +01:00