Commit Graph

1417 Commits

Author SHA1 Message Date
Ismael Gomez 50e1ed6cc6 Change order of radio stop to avoid locking on rf_ms() by async thread 2019-07-17 16:48:07 +02:00
Guillem Foreman 2574de4d2d Fixed soft demodulator 2019-07-17 15:23:57 +02:00
Ismael Gomez 126f2efb5c
Radio and UHD fixes to avoid changing master clock rate and fixes X300 (#589)
* Fixes X300 MIMO

* Do not change sampling rate and calibrate time_adv_nsamples for b210
2019-07-16 18:22:09 +02:00
Andre Puschmann 21f8698397 fix MAC PDU packing for large TB sizes
update the byte_buffer length variable after updating the remaining
PDU length. This has caused an error when calculating the
remaing space in the PDU because the SDU length was counted twice.
2019-07-16 17:31:03 +02:00
Andre Puschmann 2ae35e4ce0 make sure status PDU doens't exceed grant size 2019-07-14 07:29:10 +02:00
Pedro Alvarez 9597cc4c14 Clang-formated liblte_* 2019-07-13 14:41:04 +02:00
Xavier Arteaga 5e49aca835
Merge pull request #570 from softwareradiosystems/feature_256qam_fix
Resource allocation extended tables and PDSCH table 2 for 256QAM
2019-07-12 12:32:47 -04:00
Ismael Gomez 6d2c6ec58d Do not change master clock rate in UHD if dynamic rate is supported 2019-07-12 18:18:30 +02:00
Guillem Foreman eab73829f6 Changes requested 2019-07-12 14:11:26 +02:00
Ismael Gomez 538f38cf54 Let PDCP Control PDUs be processed 2019-07-12 13:08:42 +02:00
Pedro Alvarez 9b6aaac1b5 Ignore PDCP status PDUs, instead of passing them to the GW. Check on the GW if the packet is large enough to hold an IPv4 header. 2019-07-12 13:08:42 +02:00
Ismael Gomez 8c41625599 Add RLC suspend and resume 2019-07-12 13:08:42 +02:00
Andre Puschmann db9f093b63 add debug log when handling reordering timer 2019-07-12 13:06:39 +02:00
Andre Puschmann 849ad2655c fix creation of malformed RLC AM status PDU
the issue was caused by an unneeded length check during the
assembly of the status PDU. This length check caused an too early
break from the while-loop that adds all missing SNs to the status PDU
leaving the PDU struct in an invalid state where ack_sn was equal to
one of the NACK_SNs.
The fix is to simply remove the length check during the generation to
fully generate the status PDU. If, for whatever reason, MAC provides
a too small grant to fully fit the status PDU, the PDU will not be
generated, i.e. the calling function checks the return value and does
not pass the (then too big PDU) down the stack.
2019-07-12 13:06:39 +02:00
Xavier Arteaga aa6652155c Phy: added ue_ul normalization mode parameter 2019-07-12 13:05:10 +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
Xavier Arteaga 2530894374 Channel emulator: added input pointer checks 2019-07-11 10:28:13 -04:00
Ismael Gomez d595c4d882 Fixes issue #545 and unlocking of tti_sync condvar before closing causing deadlock at stop 2019-07-11 14:55:35 +02:00
Andre Puschmann aff26abc89 fix memleak in Soapy driver when no device was found 2019-07-10 22:46:33 +02:00
Ismael Gomez 773c2a9721 Fixed multiple issues in Random Access procedure and extended MAC test 2019-07-08 17:14:25 +02:00
Andre Puschmann 92f0d58856 mac: move further init/config into ctor to allow early logging, etc. 2019-07-05 17:24:06 +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 c5509caece added extra operators and remove rrc_asn1 in some cmake targets 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
Francisco Paisana 416f9896ec fixes to include the findings from PR #550 2019-07-05 10:38:28 +02:00
Guillem Foreman 46724c336d Fixed errors for phy_dl_test and pdsch test 2019-07-04 15:49:43 +02:00
Guillem Foreman 4627737c87 Revert "Disable 256QAM tests failing in CentOS"
This reverts commit 833ce5224a.
2019-07-04 15:49:43 +02:00
Guillem Foreman c71763dc93 Fixed minor message in modem test 2019-07-04 15:49:43 +02:00
Guillem Foreman db4127ca64 Fixes 256QAM, added pdsch table 2, fixed warnings 2019-07-04 15:49:43 +02:00
Guillem Foreman 535325bc37 srsLTE: added resource allocation extended tables for 256QAM and integration with PDSCH test 2019-07-04 15:49:43 +02:00
Andre Puschmann 62a4fa1c93 fix various potential buffer overruns
this is based on suggested fixes by Dirk Grabinski and David who
have fuzzed various parts of srsLTE using afl
2019-07-04 14:43:59 +02:00
Andre Puschmann ecb6a0f99b fixing RLC AM bug where corrupted PDU causes segfault
the underlaying issue is that a corrupted PDU is passed to RLC
which claims to have segments whose total size exceed the size
of the entire PDU. Those PDUs are not ignored.
2019-07-04 14:43:20 +02:00
Xavier Arteaga a417d3a70a Added DCI trace if cqi is requested 2019-07-02 16:36:06 +02:00
Ismael Gomez 833ce5224a Disable 256QAM tests failing in CentOS 2019-07-01 18:22:49 +02:00
Pedro Alvarez 498f1b8e4b Small PDCP fixes:
- Moved most the initialization of the pdcp_entity to the header.
  - Initilize some variables in gtpu_ntoa.
  - Removed debug print.
  - Format eNB GTP-u debugging code.
2019-06-27 17:09:52 +02:00
Pedro Alvarez 1c51d2ca9a Small clang format changes. 2019-06-27 17:09:52 +02:00
Pedro Alvarez 5d8dcbe4cb Make sure that PDCP SN is initialized properly in the eNB. UE attaches again when using encription. 2019-06-27 17:09:52 +02:00
Pedro Alvarez 53d2220aab Resolved conflicts with unique pointers after rebase in PDCP entity. 2019-06-27 17:09:52 +02:00
Pedro Alvarez 2643b9070f Fixing mistake in setting PDCP last_submitted_pdcp_rx_sn 2019-06-27 17:09:52 +02:00
Pedro Alvarez 6d5dbdedfa Fixed mistake in comparison in pdcp_entity. 2019-06-27 17:09:52 +02:00
Pedro Alvarez 693338da07 Added TX HFN print to make it easier to debug HFN mis-match 2019-06-27 17:09:52 +02:00
Pedro Alvarez 6b59cc0760 Debug print for PDCP Reestablish. 2019-06-27 17:09:52 +02:00
Pedro Alvarez 5ca6238877 Adding encription debug prints. 2019-06-27 17:09:52 +02:00
Pedro Alvarez b97d1191f4 Added more debug info at eNB GTP-U. Changed the pdcp_entity to follow the standard more strictly for RLC AM DRBs. 2019-06-27 17:09:52 +02:00
Pedro Alvarez f4fd6034ba Starting to add separate functions for PDCP handling for UM DRBs and AM DRBs 2019-06-27 17:09:52 +02:00
Pedro Alvarez 6578cf1d01 Making sure that next_pdcp_rx_sn is reset at reestablish. 2019-06-27 17:09:52 +02:00
Pedro Alvarez 6cbcc5154d Starting to use received SN to do user plane decription. 2019-06-27 17:09:52 +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
Andre Puschmann 82a69fb51c mux: fix packing of short MAC PDUs 2019-06-26 17:57:25 +02:00
Andre Puschmann 0012868e91 rlc_am: reduce log level when provided PDU size is too small 2019-06-26 17:57:25 +02:00
Andre Puschmann 4aaa0473b9 pdu: remove unused variable total_sdu_len 2019-06-26 17:57:25 +02:00
Andre Puschmann fab75592ec fix MAC PDU padding with only padding and add test accordingly 2019-06-26 17:57:25 +02:00
Andre Puschmann b6d7fd5def improve error handling in PDU packing 2019-06-26 17:57:25 +02:00
Andre Puschmann da35f41dd5 rework MAC logical channel prioritization 2019-06-26 17:57:25 +02:00
Xavier Arteaga 5d792e7ebe AGC: Fixed gain hysteresis 2019-06-25 09:12:28 +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
Andre Puschmann 218f136254 remove default PDCP entity for SRB0 2019-06-21 15:49:46 +02:00
Andre Puschmann f5a929e425 pdcp: print length when processing incoming PDU 2019-06-21 15:49:46 +02:00
Xavier Arteaga bb26a42fb6 Fixed backtrace symbols free 2019-06-19 11:49:55 +02:00
Andre Puschmann 414e55fafc pcap: add dtor
this fixes issue if object is destroyed and PCAP is still open
2019-06-18 20:50:23 +02:00
Ismael Gomez 67b6a40c1b Use correlation for neighbour RSRP measurement 2019-06-18 17:55:41 +02:00
Guillem Foreman 269e21e3af Fixed minor format 2019-06-17 18:04:32 +02:00
Guillem Foreman 50edd9a325 Initial 256QAM Modem and Demodulator 2019-06-17 18:04:32 +02:00
Joseph Giovatto 0bb7f590b3 Moved include complex.h from header files to impl files to prevent
error /wr to complex.h and c linkage in CentOS 7.
2019-06-14 12:19:57 +02:00
Andre Puschmann 2b82f21fd2 fix compiler warning 2019-06-14 11:26:19 +02:00
Andre Puschmann acbe7fabe4 rlc: fix class member initialization
uninitialized member detected by coverity, now converted all default
initialization to be done in class definition
2019-06-14 11:26:19 +02:00
Xavier Arteaga 1f4cf8121b SRSUE: Initial UL channel simulator 2019-06-11 12:06:11 +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
Andre Puschmann e8d6236975 remove init for all RLC TM/UM/AM
- all RLC entities are now initialized during contruction
- there is no need to check for, e.g., existance of timers, during
  runtime
- there is also no need to call re-init during resume
- timers are freed in dtor
2019-06-06 14:34:25 +02:00
Ismael Gomez f24c0cef8c Use timer interface instead of local boolean to query timer state 2019-06-06 14:34:25 +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
Ismael Gomez ade720e032 Add RLC resume procedure 2019-06-06 14:34:25 +02:00
Andre Puschmann f357c995fc liblte_mme: fix packing and unpacking of modify EPS bearer context
this just skips the security bits but the packing/unpacking of
the values, i.e. new TFT may still be wrong
2019-06-05 17:41:46 +02:00
Ismael Gomez b31b668a8e Remove unnecessary find_package(GUI) 2019-06-04 13:31:31 +02:00
Ismael Gomez 594d62f229 Added read_block function to ringbuffer 2019-06-03 21:39:24 +02:00
Ismael Gomez 19cb5c172b Added read-and-convert function to ringbuffer 2019-06-03 21:19:06 +02:00
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
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 ea2e692836 pdu: fix MAC RAR PDU packing and unpacking with backoff indicator 2019-05-30 13:06:42 +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
Xavier Arteaga 2c78111666 SRSUE: Fixed CLang Tidy in ue.cc 2019-05-27 12:21:57 +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 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
Xavier Arteaga 114f66f8b9 Reduce ctest execution time 2019-05-10 12:01:43 +02:00
Francisco Paisana 47ba5cd098 Set the optimization flag to Os for the rrc asn1 library 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
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
Francisco Paisana 896ef5ee64 added default init for booleans and integers 2019-05-03 09:54:57 +02:00
Ismael Gomez 786830daf3 Fix minor issues for TDD 2019-05-02 19:31:46 +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
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
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 eb3a83ac45 User Plane key in configuration interface 2019-04-11 21:38:01 +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 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 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
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 2019-01-22 12:23:57 +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 db3ce8ade9 remove clang-tidy execution for srslte_upper 2018-12-18 11:53:12 +01:00
Andre Puschmann 59d9a78869
add eia1 tests and fix sib2 bug (#311)
* Starting to add EIA1 tests.

* Initial tests for EIA1

* Bit shifted bearer by 27. Test case 1 and 4 are passing now.

* Adding EIA test case 7.

* Making sure the test is called.

* Fixed double initialization of msg_len_bits.
2018-12-17 16:33:11 +01:00
Andre Puschmann df7ab7ffe8 Merge branch 'master' into next 2018-12-14 16:54:46 +01:00
Eric Schreiber 46d41a5dc5 Remove undefined increment of an erased iterator. (#274) 2018-12-14 12:01:44 +01:00
Pedro Alvarez 3205121015 M2 interface packing/unpacking (#305)
* Starting to add M2AP serialization structures.

* Added M2AP procedure ids.

* Added some M2AP max values.

* Removing m2ap.cc for now.

* Adding cause IE.

* Adding dummy m2ap.cc to check correct compilation of m2ap.h

* Fixed compilation issues in m2ap.h

* Adding Cell Information IE.

* Added Criticality diagnostics IE.

* Adding eNB-MBMS-ConfigurationDataItem.

* Adding MBMS-Service-Area-Id-List

* Added MBMS Service Area Id.

* Added Global eNB Id IE.

* Added Global MCE id IE.

* Added MBMS-Service-associatedLogicalM2-ConnectionItem IE.

* Added MBSFN_SUBFRAME_CONFIGURATION IE

* Added MCCHrelatedBCCH-ConfigPerMBSFNArea IE.

* Added MCH scheduling period IE.

* Added PMCH-Configuration IE.

* Added Time-to-Wait IE.

* Added TNL-Information IE.

* Starting to add M2SetupRequest msg.

* Adding M2 Setup Request message.

* Fixed up enums related to initiating messages, successful outcome and unscesseful outcome.

* Starting to add m2ap apck/unpack PDU functions.

* Started to add a test for M2 Setup Request Pack/Unpack.

* Filling in M2SetupRequest structure.

* Adding packing of more IEs in the M2SetupRequest.

* Starting to add unpacking functions to M2SetupRequest.

* Continuing to unpack M2SetupRequest. Unpacking PLMN Identity correctly now.

* Fixed up enb_id unpacking. eNB Id and eNB name unpacking correctly now.

* Starting to add unpacking for dataconfiguration item.

* Adding support for eCGI unpacking.

* Adding MBSFN Synchronization Area id Unpacking.

* Adding service area unpacking.

* Added unpacking functionality to the rest of the IEs in the M2 Setup Request. Unpacking the M2 Setup Request is passing unit test.

* Fized mistake in packing eNB Id. Starting to add packing to eCGI.

* Starting to pack value in ENB MBMS Configuration item.

* Fixed packing of ENB MBMS configuration item header.

* Packing of M2 Setup request is now passing the unit test.

* Starting to add M2setup response.

* Starting to add packing/unpacking succeful outcome.

* Starting to add M2SetupResponse to test.

* Continue to add testing to setup response. Choice type seems OK.

* Starting to add unpacking to MCE Id.

* Adding MCEname packing/unpacking.

* Continue to unpack m2setupresponse.

* Adding MBMS Area Id unpacking

* Added pddch length unpacking.

* Adding more IE unpacking.

* Adding more code to unpack M2 Setup response.

* Added M2 Setup response unpacking.

* Added M2 response packing. Fixed mistake on eCGI packing/unpacking, which broke M2 Setup request.

* M2 setup request and response pack and unpacking seems to work.

* Starting to add MBMS Session Start Request.

* Continue to unpack MBMS session start request.

* Added TMGI unpacking.

* Continue to add unpacking to MBMS session start request

* Starting to add TNL Information unpacking

* Added unpack for MBMS session start request.

* Strating to add MBMS session start request packing.

* Adding MCE MBMS M2AP Id packing.

* Added MBMS Session Start Reqeust pack and unpack.

* Added MBMS Session start response packing/unpacking.

* Starting to add unpacking of MBMS Scheduling information.

* Adding MCCH Update time Unpacking.

* Adding MBSFN Area Configuration List Unpacking.

* Starting to add unpack PMCH configuration Item.

* Adding AllocatedSubframesEnd unpack

* Fixed multiple mistakes in unpacking PMCH configuration.

* Unpacking MCH Scheduling Period

* Continue to unpack MBMS Session List Per PMCH Item.

* Added unpacking of PMCH Configuration List. Starting to add unpacking of MBSFN Subframe Configuration List.

* Adding radioframe allocation period and offset unpacking.

* Added unpacking of MBMS Scheduling Information (needs testing.)

* Added more testing to MBMS Scheduling Info.

* Small commit.

* Added more testing to the unpacking of MBMS Scheduling Information. Unpacking correctly now.

* Continue to pack MBMS Scheduling information. Packing PMCH Configuration.

* Fixed mistach in packing PMCH configuration list.

* Adding more packing to MBMS scheduling info message.

* Fixed more mistakes in MBMS Scheduling information packing. Passing tests now.

* Added MBMS Scheduling Information Response.

* Remove debug prints.
2018-12-12 15:22:35 +01:00
Ismael Gomez a8a0c3ebe7 Fixed compilation in zynq 2018-12-12 14:34:13 +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 59435c2c34 add own cpuid helper to detect avx2 support
the cpuid.h version caused issues with older GCC 5.4
2018-12-10 22:16:13 +01:00
Andre Puschmann 34f552fae9 add universal executable to select binary based on current ISA
- using cpuid to check x86 features
- using hwcap on ARM to check for NEON
2018-12-10 17:48:52 +01:00
Andre Puschmann e02ed62d02 update tx adv nsamples calibrated with UXM 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 df40259c26 fix issue in PDCP when bearer ID for DRBs was not starting with 1 2018-12-10 16:58:08 +01:00
Pedro Alvarez e88e1bb4d2 Fixed TMSI packing length (was giving trouble with Xperia). 2018-12-07 10:28:05 +00:00
Andre Puschmann e25d0f5d8a fix Soapy deactivation during build if lib was found 2018-12-03 14:59:44 +01:00
Pedro Alvarez 553f8260bb Fixing up logs and comments. 2018-11-30 21:42:43 +01:00
Andre Puschmann fb78cc2996 Adding some debug prints. 2018-11-30 21:41:30 +01:00
yagoda b31538a0b9 small fix to interpolator to fix pmch test 2018-11-28 16:20:26 +01:00
Andre Puschmann 8ca73b9c4e remove unused variable 2018-11-28 16:17:36 +01:00
yagoda 2acf282a8b adding fixes to embms channel estimation 2018-11-28 14:14:40 +01:00
yagoda 69dc16c4c8 changes to fix arm compilation 2018-11-27 14:27:59 +01:00
Andre Puschmann 1ffd8d48ce log warning when receiving unexpected RLC AM segment 2018-11-22 11:46:24 +01:00
Xavier Arteaga 8c3a0153b9 Added missing AVX512 intrinsics and flags. Fixes #291. 2018-11-21 18:09:09 +01:00
Andre Puschmann b71dab87f1 add function to query if RLC bearer exists (the implementation) 2018-11-02 21:46:03 +01:00
Andre Puschmann 23836a8ab3 Merge branch 'next' into nas_cleanup 2018-10-22 11:26:00 +02:00
Andre Puschmann 2979e43b37 reword PDCP log when dropping PDU 2018-10-15 09:38:30 +02:00
Andre Puschmann aebea06f15 fix RLC UM timer expiration after stopping entity 2018-10-09 21:18:14 +02:00
Andre Puschmann 42747edb54 fix issue where successfully rx'ed SDU was not detected 2018-10-09 21:17:47 +02:00
Andre Puschmann 6ca0d4494a do not transmit new PDUs after calling stop 2018-10-09 21:17:36 +02:00
Andre Puschmann 580ce3e298 add extra length check for RLC UM 2018-10-05 15:00:49 +02:00
Andre Puschmann ebadf3029e Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-10-04 14:40:25 +02:00
Andre Puschmann e06e5b8b60 limit maximum allowd RLC SDU size 2018-10-04 14:39:42 +02:00
Pedro Alvarez d443604661 Merge next into gtp_cleanup_sn. Fixed some conflicts. 2018-10-04 12:09:13 +01:00
Xavier Arteaga 27df357a66 Fixes #273 2018-10-04 10:44:41 +02:00
Andre Puschmann 96815e3a5f fix RLC AM handling of bigger MAC grants
- fix concatenation and header reconstruction
2018-10-03 14:58:24 +02:00
Andre Puschmann a6d9181881 fix RLC UM issue with very large MAC grants 2018-10-03 14:58:24 +02:00
Andre Puschmann 1ba9c4adc1 fix typo 2018-10-03 14:58:24 +02:00
Xavier Arteaga 45e6473303 Removed not implemented/reserved TM4 PMI Error messages 2018-10-03 12:53:28 +02:00
Xavier Arteaga 717d767c2b Removed PUSCH redundant line 2018-10-03 12:50:41 +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
Pedro Alvarez e925ef0a42 Added some more debug infor to error prints. Making sure that packet is not sent from the eNB if there is an error in the GTP-U header packing. Fixed error in checking msg_type. 2018-10-01 17:34:02 +01:00
Pedro Alvarez efffd3dec9 Fix compilation mistake. 2018-10-01 16:05:26 +01:00
Pedro Alvarez 2ff900d971 Making sure that GTPU optional fields get written 2018-10-01 16:02:00 +01:00
Pedro Alvarez c9cd355cdb Forgot to use supported_msg_type_check in gtpu_write_header. 2018-10-01 15:46:14 +01:00
Pedro Alvarez c1f633c5c7 Dropping bitfields for now. Using #defines and uint8_t for the flags. 2018-10-01 15:17:26 +01:00
Pedro Alvarez e320c33aef Fixed last compilation issues. 2018-09-28 15:42:28 +01:00
Pedro Alvarez ee04639337 Changed gtpu header flags to use a bitfield. Fixing compilation issues. 2018-09-28 13:46:13 +01:00
Andre Puschmann 99b10a6eb0 fix various RLC AM issues, where
- (a) no PDU is scheduled for retx after poll_retx timer expired
- (b) we write outside of the PDU buffer when concatenating many SDUs
2018-09-26 16:57:07 +02:00
Ismael Gomez cfb3a43aed Lower priority of workers 2018-09-26 14:30:39 +02:00
Pedro Alvarez 8dc029cc47 Merging next into NAS cleanup. 2018-09-25 18:56:03 +01:00
Andre Puschmann d652a0df1c remove c-type cast in RLC 2018-09-25 16:04:24 +02:00
Andre Puschmann 86e02921f0 fix regression in RLC base introduced during refactor causing eMBMS to fail 2018-09-25 14:04:06 +02:00
Andre Puschmann ba87819ff1 retransmit random RLC AM PDU in case tx window is full 2018-09-25 10:46:36 +02:00
Andre Puschmann 891ef59d78 fix RLC AM status pdu packing 2018-09-25 10:46:36 +02:00
Andre Puschmann 7572299615 enable clang-tidy for srslte_upper library 2018-09-25 10:46:36 +02:00
Andre Puschmann 34535c7efb fix RLC AM issues reported by clang-tidy 2018-09-25 10:46:36 +02:00
Andre Puschmann c9186f110c add log_filter dtor 2018-09-25 10:45:15 +02:00
Ismael Gomez 6f0c554445 TA estimate correction factor calibrated for all bandwidths 2018-09-24 15:39:14 +02:00
Ismael Gomez 4068ad0064 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-21 17:03:35 +02:00
Ismael Gomez d0c392e3dd Increase radio preamble buffer 2018-09-21 17:03:25 +02:00
Andre Puschmann 3d4e90029c fix RLC UM issue when dropping PDU that is neither start nor end aligned 2018-09-21 10:29:41 +02:00
Andre Puschmann d981f129e0 Merge branch 'master' into next 2018-09-20 12:54:05 +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 4a8d83721a Fix unnecessary memory usage in radio 2018-09-20 09:45:46 +02:00
Ismael Gomez 2cf381823c Fixed bug in commit 197d855d3f 2018-09-19 18:00:47 +02:00
Zhe Huang 3433b0ffde assign correct values from BladeRf manual calibration to correction
* Assign correct values from BladeRf manual calibration to correction

The rf_calibration function for blade RF was assgiing dc_gain to
BLADERF_CORR_FPGA_PHASE and dc_phase to BLADERF_CORR_FPGA_GAIN. This hot
fix corrects the value assignments in both rf_blade_set_tx_cal and
rf_blade_set_rx_cal functions.
2018-09-19 17:43:18 +02:00
Xavier Arteaga f865296421 Added BladeRF Micro Support (required bladerf driver > 2.0.2) 2018-09-19 17:36:38 +02:00
IgnasJ 67c8bf1368 Fixes for srsLTE on ARM (#229)
* Fix ARM NEON code compilation

Fix LV_HAVE_NEON defintion incorrecly used instead of HAVE_NEON in some places
Replace vqabsq_s32 with vabsq_f32 as vqabsq_s32 requires int type (fails to compile)
Fix missing NEON code path in mat.h in srslte_mat_2x2_mmse_csi_simd()

* Fix timestamp overflow issue on 32-bit systems with Soapy driver

'time_t secs' can be 32-bit on some systems. This causes calculation:
'secs * 1000000000;' to overflow.
2018-09-19 17:34:59 +02:00
Ismael Gomez 0294923e2b Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-19 16:42:11 +02:00
Ismael Gomez 197d855d3f Fix issue #240 2018-09-19 16:41:59 +02:00
Xavier Arteaga a9fcd64b1f Fixes #259: Turbodecoder AVX2 instructions under LV_HAVE_AVX (instead of LV_HAVE_AVX2) 2018-09-19 12:35:37 +02:00
Andre Puschmann 184539b87d add LCID change API to UE interface, add method to reestablish single RLC bearer 2018-09-18 15:09:24 +02:00
Andre Puschmann 352ea36246 Merge branch 'lcid_change' into next 2018-09-18 14:41:11 +02:00
Andre Puschmann 10bc01a7ae add API to change LCID of RLC bearers 2018-09-17 13:11:03 +02:00
Andre Puschmann 27459bf706 add API to change LCID of PDCP bearers 2018-09-17 13:10:44 +02:00
Xavier Arteaga 7f72a90051 Implemented 16 bit LLR CSI in SSE 2018-09-17 12:33:14 +02:00
Andre Puschmann 068fd2d81e log PDCP PDU dropping in MAC isnt valid 2018-09-17 10:39:45 +02:00
Ismael Gomez 243a7708d4 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-07 14:06:27 +02:00
Ismael Gomez 826fbccf11 Fixed memory leaks in new decoder 2018-09-07 14:05:45 +02:00
Andre Puschmann d03f5017df fix RLC mode printf and timer access 2018-09-07 14:04:57 +02:00
Andre Puschmann 02e38c7c9f fix stopping of RLC_AM timer and protect access 2018-09-07 13:10:22 +02:00
Andre Puschmann f3eceab242 small re-factor of RLC_AM class (reorder methods) 2018-09-07 13:08:45 +02:00
Andre Puschmann c0899ddda9 refactor RLC AM, add tx/rx subclasses 2018-09-07 10:49:52 +02:00
Andre Puschmann 24cde06e32 fix UM config printout during init 2018-09-07 10:49:52 +02:00
Andre Puschmann d19eb28a16 fix various variable initializations that gcc-4.8 complained about 2018-09-05 12:34:40 +02:00
Ismael Gomez bc9d342959
New optimization on the PHY for both UE and eNodeB (#251)
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit

* Optimised UL Interleaver

* Include TB CRC calculation in FEC encoder

* New threading priorities
2018-09-04 17:51:35 +02:00
Xavier Arteaga 8d56b254f5 Fixed vector test failure criteria for conversions 2018-09-03 10:34:08 +02:00
Pedro Alvarez 48c897137f Merge branch 'next' into nas_cleanup 2018-08-29 18:45:20 +01:00
Xavier Arteaga e94cbded67 Fixed vector test failure criteria for conversions 2018-08-27 11:26:30 +02:00
Pedro Alvarez 1fba7f0afa Moved function that gets NAS type string to liblte_mme.cc 2018-08-14 18:42:48 +01:00
Andre Puschmann f56592b0fe add getter for PDCP ul/dl counter 2018-08-08 16:26:32 +02:00
Andre Puschmann 86f70011d6 print LCID in RLC AM when providing buffer report 2018-08-07 14:56:24 +02:00
Andre Puschmann 8a869d83f2 drop PDCP SDU that do not pass integrity check 2018-08-06 15:58:51 +02:00
Andre Puschmann 716b028023 reset PDCP entities 2018-08-06 15:48:52 +02:00
Andre Puschmann 91492b87ef add del_bearer for RLC/PDCP 2018-08-06 13:17:51 +02:00
Xavier Arteaga ca429d2be5 Fixed turbocoder free 2018-08-01 10:58:08 +02:00
Andre Puschmann 3234add1f8 use blocking pool allocate in RLC AM 2018-07-30 14:55:43 +02:00
Andre Puschmann 99964c1054 fix RLC AM issue when building segements that require N_li in header 2018-07-30 14:54:49 +02:00
Andre Puschmann ec9b7e921a fix RLC AM double unlock mutex 2018-07-30 11:52:39 +02:00
Andre Puschmann dc41240106 increase UHD tx timeout to 1.0 2018-07-27 14:45:17 +02:00
Andre Puschmann bfb9ba43b4 increase UHD recv timeout to 1.0 2018-07-27 12:06:39 +02:00
Andre Puschmann 22f1487d64 log dropped SDU in RLC as info rather than warning 2018-07-27 11:25:13 +02:00
Andre Puschmann e6366b4570 fix stopping of async thread in UHD 2018-07-26 14:20:40 +02:00
Andre Puschmann 74e38ee0a2 Merge branch 'rlc_refactor' into next 2018-07-26 13:24:32 +02:00
Andre Puschmann 9b8d7aeddf fix warning 2018-07-26 13:24:12 +02:00
Andre Puschmann b0a79ac616 fix segfault when ASYNC thread is disabled 2018-07-26 12:55:16 +02:00