Commit Graph

500 Commits

Author SHA1 Message Date
Andre Puschmann 205db6f229 add missing license headers 2019-04-26 21:20:12 +02:00
Francisco Paisana 4ba1993815 fixed some race conditions in the scheduler (#411) 2019-04-26 15:52:06 +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 45de6c3305 fix selection for EEA0 and disallow EIA0 2019-04-26 12:10:40 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Andre Puschmann bdfb408857 fix uninitialized loop counter 2019-04-22 11:33:20 +02:00
Pedro Alvarez 435d63b871 Making sure errors in the enb.conf is handled gracefully 2019-04-12 16:24:57 +02:00
David Rupprecht 39c49ab1ef Configurable sec algo preference list 2019-04-11 21:38:01 +02:00
David Rupprecht fd34e22c84 Started with local preference selection algorithm 2019-04-11 21:38:01 +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
Francisco Paisana 185242d5f5 default release for ack_nack_repeat 2019-04-11 09:44:20 +01:00
Francisco Paisana 8a0ae614c2 added default value to ack_nack_repeat 2019-04-02 11:03:37 +02:00
Francisco Paisana f778c6ca8d make mcch check 2019-04-02 11:03:37 +02:00
Francisco Paisana 41338293ea added a default radioframe alloc 2019-04-02 11:03:37 +02:00
Francisco Paisana dc0b903130 added default enum inits 2019-04-02 11:03:37 +02: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 1cc6ae3c60 enable c++11 support 2019-03-11 13:31:43 +01:00
Andre Puschmann 8e38ef2ee4 print PDU length when logging RRC message 2019-03-07 21:25:10 +01:00
Francisco Paisana 75acb046d9 small p_a initialization fix 2019-02-20 16:14:58 +01:00
Andre Puschmann 6b04435edc move setting of EARFCNs straight into parse_args function 2019-02-20 16:14:53 +01:00
Andre Puschmann 4204321fde fix uninitialised variables in enb during startup 2019-02-20 16:14:42 +01:00
Francisco Paisana 43a8a8e195 checking the number of prbs available for DL requires an additional check for the prb=6 (#322) 2019-02-05 11:50:33 +01:00
Francisco Paisana 15abb2b020 set the correct size of the buffer for paging 2019-02-04 15:01:44 +00:00
Andre Puschmann 86232c143e expose RLC tx queue length through config struct 2019-02-01 17:11:55 +01:00
Andre Puschmann a436baed39 fix build string for builds without valid .git folder 2019-01-22 12:09:52 +01:00
Francisco Paisana d22e53832b fix sib.conf.mbsfn.example defaults 2019-01-21 17:28:44 +00:00
Francisco Paisana be06f260db fixed issues in the parsing of sibs 2019-01-21 16:39:00 +00: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 8326299ec5 fix uninitialized variables 2019-01-15 16:34:41 +01:00
Andre Puschmann 2590ebd10b fix bugs reported by coverity 2019-01-15 15:59:38 +01:00
Andre Puschmann df7ab7ffe8 Merge branch 'master' into next 2018-12-14 16:54:46 +01:00
Igor Kim 9def82d15b add error handling on binding s1c socket (#267) 2018-12-14 12:02:25 +01:00
Andre Puschmann d52ea8b602 decrease threshold for DL scheduler to allocate SDU
since the RLC buffer state now returns the actual number of
bytes, which may be as low as 2B for a single RLC AM status PDU waiting
to be transmitted, the current DL scheduler wasn't allocating the
PDU even though it was given a grant
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
Andre Puschmann 4867b16e38 move config file parsing in enb to beginning of init
- this waits with initializing the radio until after the configs have been read
- in case the config files contain any mistake, the enb shuts down gracefully
2018-12-10 10:39:42 +01:00
rubund b801c3dd4e Fix some spelling errors detected by lintian (#271) 2018-12-03 10:36:15 +01:00
Andre Puschmann c60f7e9013 remove "disconnected" from enb console trace 2018-12-03 09:46:44 +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 645bd60d75 More debug prints 2018-11-30 21:42:43 +01:00
Andre Puschmann 05abdc9516 remove printf from eNB RRC 2018-11-20 18:36:00 +01:00
Andre Puschmann db910cb84b add CSV metrics for eNB 2018-11-20 12:15:04 +01:00
Andre Puschmann 8a1368c8d6 send connection reject if MME isn't connected 2018-11-16 14:56:39 +01:00
Andre Puschmann 93d17fed3e disable buffer pool logging by default 2018-10-10 16:29:57 +02:00
Andre Puschmann c35b467d57 suppress scheduler warning for failed PUCCH allocation for 6 PRBs 2018-10-05 15:12:06 +02:00
Andre Puschmann 5a3fa7c305 fix scheduler issues for 6 PRBs 2018-10-05 15:00:49 +02:00
Francisco Paisana d234f4a614 fix MCS assignment for 6 PRBs
- cherry-picked and resolved conflicts from 0960ef5c6dcd2f9b96169b3f4c266197b922c46e
2018-10-05 15:00:49 +02:00
Francisco Paisana bbfd09b62e add the prach fit checks for PRB=6 2018-10-05 15:00:49 +02:00
Andre Puschmann 15d439761a log build info in eNB/EPC logs 2018-10-05 14:58:09 +02:00
Pedro Alvarez a42c71f8ee Added some debug logs to the eNB GTPU. 2018-10-04 14:44:26 +02:00
Pedro Alvarez 2c761069d4 Adding m1u config to enb.conf.example. 2018-10-04 14:44:26 +02:00
Pedro Alvarez de75a74932 Fixed some compilation issues. 2018-10-04 14:44:26 +02:00
Pedro Alvarez 796e3fd707 Adding M1-U options to eNB config 2018-10-04 14:44:26 +02:00
Pedro Alvarez d443604661 Merge next into gtp_cleanup_sn. Fixed some conflicts. 2018-10-04 12:09:13 +01:00
Andre Puschmann c56fa3b46c only enable eMBMS if both the sib config is present and its enabled in enb config 2018-10-02 10:52:43 +02:00
Andre Puschmann ea35cc9b5e fix typo in config files 2018-10-02 10:52:25 +02:00
Paul Sutton 0e4ab77fb0 GTPU cleanup, adding support for GTPU echo response (#265) 2018-10-01 22:18:11 +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
Andre Puschmann af5a329fec print build-info during enb startup 2018-10-01 21:43:42 +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 c1f633c5c7 Dropping bitfields for now. Using #defines and uint8_t for the flags. 2018-10-01 15:17:26 +01:00
Pedro Alvarez 7b4bc6f132 Integrity fail after service request (#268)
* Adding some debug prints to confirm the issue.
* Cleanup whitespaces.
* More debug prints
* Adding boolean to whether it is actually necessary to send NAS message in RRC reconfiguration.
* Deleting debug prints.
2018-09-28 21:04:01 +02: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
Ismael Gomez 42e46bc599 Fix MBSFN section optional and default PRACH configuration for MBSFN example 2018-09-27 18:10:35 +02:00
Andre Puschmann b603125dea Revert "fix eNB config parsing issue causing eMBMS to be always disabled"
This reverts commit 09a47b51b2.

Causes issues when receiving PRACH from UE.
2018-09-26 17:56:37 +02:00
Ismael Gomez 5cfdc81522 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-26 14:30:45 +02:00
Ismael Gomez cfb3a43aed Lower priority of workers 2018-09-26 14:30:39 +02:00
Andre Puschmann 09a47b51b2 fix eNB config parsing issue causing eMBMS to be always disabled 2018-09-26 11:29:36 +02:00
Paul Sutton 569a7cbc94 GTPU cleanup, adding support for GTPU echo response 2018-09-25 15:17:39 +01:00
Pedro Alvarez c4a5af11d5 Fixed nibble order in mccmnc_to_plmn and plmn_to_mccmnc. Fixed corresponding PLMN test 2018-09-25 14:55:12 +01:00
Andre Puschmann 10a43f04ba Merge branch 'master' into next 2018-09-25 15:10:48 +02:00
Andre Puschmann b27ff06e79 Merge remote-tracking branch 'origin/issue_178' into next 2018-09-25 15:10:38 +02:00
Joseph Giovatto dc3e88079a moved earb_info from parent to be unique per ue to avoid overwrites (#234)
consult integrity check result before proceeding
2018-09-25 14:18:24 +02:00
Andre Puschmann 22599bffda fix bug in PUSCH decoding when multiple UEs provide HARQ feedback 2018-09-24 15:48:38 +02:00
Ismael Gomez 6f0c554445 TA estimate correction factor calibrated for all bandwidths 2018-09-24 15:39:14 +02:00
Pedro Alvarez 49c44a2bd4 Moved int_helpers to lib so that the EPC can use those functions too. 2018-09-24 14:08:00 +01:00
Ismael Gomez 13cba873d5 Make SIB2 mbsfn settings optional 2018-09-24 11:27:22 +02:00
Andre Puschmann d981f129e0 Merge branch 'master' into next 2018-09-20 12:54:05 +02:00
Ismael Gomez dabfbfb75a Fixes #250 2018-09-19 17:37:23 +02:00
Igor Kim 8d48613c38 fix typo in metrics rssi CMA calculation (#230) 2018-09-17 09:43:14 +02:00
Ismael Gomez 6a791f1416 Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement) 2018-09-06 15:22:37 +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
Andre Puschmann 4da8bf26f8 use non-blocking PDCP write in GW 2018-07-24 15:50:14 +02:00
Andre Puschmann 27d3d697df refactor RLC part#2
- move metrics into entities
- make configure interface return true/false on success/failure
- add own srslte mode type
2018-07-23 17:30:32 +02:00
Andre Puschmann edfc9df77d Merge branch 'master' into next 2018-07-17 17:50:38 +02:00
yagoda a0fa2d5b01 small fix in eMBMS MAC 2018-07-17 17:04:12 +02:00
Andre Puschmann 47a8b1343f add rwlock to PDCP 2018-07-17 15:27:04 +02:00
Andre Puschmann ccf58a63ce reduce default log-level to warning 2018-07-17 09:43:30 +02:00
Andre Puschmann 10469cd3a0 Merge branch 'master' of github.com:srsLTE/srsLTE 2018-07-16 10:12:48 +02:00
Andre Puschmann f1c5835133 fix eNB default config help text 2018-07-16 10:06:33 +02:00
Andre Puschmann be3b2fbc08
Merge pull request #239 from softwareradiosystems/epc_stacktrace
Epc stacktrace
2018-07-13 14:28:13 +02:00
Pedro Alvarez 597cf18b9d Changing common/debug.h to crash_handler.h 2018-07-13 11:57:15 +01:00
Ismael Gomez 2d5cdc4f35 Add log to pool deallocate 2018-07-12 18:13:27 +02:00
Ismael Gomez 5474f6d55f Add log to pool deallocate 2018-07-12 18:13:19 +02:00
Pedro Alvarez c3ef88e112 Fixing conflicts with next. 2018-07-12 15:43:27 +01:00
Ismael Gomez 685b368df2 Fix compilation error in previous commit 2018-07-12 11:50:56 +02:00
Ismael Gomez 7df91e1283 Fix compilation error in previous commit 2018-07-12 11:49:56 +02:00
Ismael Gomez 08f7dda0f3 Consider the case of calling gtpu::add_bearer() before initialization 2018-07-12 11:32:38 +02:00
Ismael Gomez d57bf0f786 Consider the case of calling gtpu::add_bearer() before initialization 2018-07-12 11:32:26 +02:00
Ismael Gomez 30dd539220 Add rwlock to sched class 2018-07-12 11:17:57 +02:00
Ismael Gomez d95d0e2e7a Fix issue #179 in master 2018-07-12 11:17:39 +02:00
Ismael Gomez 75e8df2e9f Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-11 15:33:22 +02:00
Andre Puschmann 55b3b61ec1 Merge branch 'master' into next 2018-07-11 13:00:47 +02:00
Pedro Alvarez 7aaa9a1789 Moved srslte_debug_handle_crash to common/debug.c 2018-07-09 14:33:50 +01:00
Björn 23cc0ab011 enb: add bind address for s1ap connection (#128)
add s1c_bind_addr config option to specify the local bind address used for S1AP connections instead of using the GTP address.
This allows operation on setups with split S1U and S1C networks.
2018-07-09 11:52:17 +02:00
Ismael Gomez 881e278a10 Add rwlock to sched class 2018-07-07 12:17:55 +02:00
Ismael Gomez 7c7eed3ad1 Fix issue #179 in master 2018-07-07 11:12:28 +02:00
Ismael Gomez 1aa9951a04 Increased default inactivity timer to 60s 2018-07-06 16:28:54 +02:00
Ismael Gomez 2da9787907 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-06 15:31:29 +02:00
Ismael Gomez f394dc7aa6 Fix deadlock issue in rach_detect 2018-07-06 15:31:18 +02:00
Ismael Gomez a2615628aa Increase buffer pool size for enb 2018-07-06 15:30:51 +02:00
Ismael Gomez efea8f4436 Set Dropped to debug level and reduce eNodeB RLC TX size 2018-07-06 15:30:26 +02:00
Pedro Alvarez b460ece601 Merge branch 'mbms_tun' into next 2018-07-06 13:01:14 +01:00
Ismael Gomez 19ac35d933 Increased RLC UL buffer size 2018-07-05 18:11:47 +02:00
Ismael Gomez cf5a6f0580 Increased PUCCH RLF threshold and default number of errors 2018-07-05 14:09:46 +02:00
Ismael Gomez 589e569ce9
Changes on srsENB mutexing logic to fix general race condition and deadlock issues (#229)
* fixed some issues with the UL scheduling

* Hack to fix UL scheduler

* minor fix

* Cleaned up code and fixed issue with the update_allocation function

* fixed the console printing in the enb

* log/console fix

* fixed the log print

* added a normalization factor

* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface

* Limit decimals in metrics stdout

* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users

* Fix deadlock bug for MIMO

* Remove headers

* Fix missing unlock causing overflows

* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)

* Fix mutex unlock in worker

* Configurable RLC tx buffer. Default to 512 for enodeb

* Check NULL SDU in write_sdu()

* Protect RLC objects and tx_queue from being destroyed while using it

* Remove superfluous code

* Disable SIB logging

* Fix block_queue for enb
2018-07-05 11:00:19 +02:00
Ismael Gomez c32ee8944f Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-07-03 18:57:32 +02:00
Ismael Gomez a8f6081837 Minor changes in scheduler logs and style 2018-07-03 18:23:46 +02:00
Xavier Arteaga 92954c1aa4 Fixed UCI decoder defect in eNb. Improved PUSCH Unit Test. PUSCH CQI is printed like UE. 2018-07-03 17:29:22 +02:00
Pedro Alvarez 0e135adc6f Starting to change gtpu_read_header and gtpu_write_header to lib. 2018-07-03 14:30:20 +01:00
Pedro Alvarez 27dbbcca02 Stripping GTPU in eNB's M1-U. 2018-07-03 12:48:25 +01:00
jctallon 50589108c6 Mbms fixes (#225)
* fixing the threading structure for mbms in the gtpu

fixing some leaks in pmch tests

fixing stack overflow caused by radio objext

* adding sib.conf.mbsfn.example

* creating a different thread_mch object for the gtpu

* Make mch_thread an isolated class

* excluding mbsfn subframes from noise estimation and cfo estimation

* fixing pdsch ue plotting to only show pmch constellation when mbsfn is activated.
2018-07-02 17:51:09 +02:00
Ismael Gomez 115244657f Set GTPU socket to non-blocking 2018-06-29 16:58:38 +02:00
Ismael Gomez a7574d288a Set a reasonable default rs_power 2018-06-29 16:58:28 +02:00
Ismael Gomez 8c92f3fddc
Improvements and fixes on srsENB scheduler (#228) 2018-06-29 11:25:22 +02:00
Andre Puschmann 91e1b27219 Merge branch 'master' into next 2018-06-27 11:43:01 +02:00
Andre Puschmann 492958fdba
Merge pull request #209 from softwareradiosystems/minor_fix
some allocated buffers in the s1ap were not being correctly deallocated
2018-06-26 12:37:58 +02:00
Andre Puschmann 90bdb730ee Merge branch 'est_cause' into next 2018-06-26 10:41:41 +02:00
Andre Puschmann 319f4f4ff2 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-06-26 10:41:07 +02:00
Ismael Gomez 9d18349a08 Reduced uhd timeout 2018-06-26 10:27:39 +02:00
Andre Puschmann 064d7bd2dc use original UE establishment cause in S1AP initial UE message 2018-06-25 18:19:57 +02:00
Andre Puschmann b551c82f7b fix bug in packing s1ap 2018-06-25 16:45:32 +02:00
yagoda cca8362a69 adding mbsfn conditional to gtpu to create mch thread only if mbsfn is enabled 2018-06-14 11:33:43 +02:00
Ismael Gomez 3c276e7ae3 Wait to stop ENB/PHY worker 2018-06-13 16:59:19 +02:00
Ismael Gomez 2b9105791c Changed default DRB config QCI 9 to AM 2018-06-13 16:43:48 +02:00
Ismael Gomez 56d3b9297e Fix previous commit 2018-06-13 10:49:28 +02:00
Ismael Gomez ca1ec9bb61 Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-06-13 10:18:14 +02:00
Ismael Gomez 9a5e29ccab Added mutex to phch_common 2018-06-13 10:15:52 +02:00
Ismael Gomez 6120f20290
Changes in RRC and S1AP to make enb more robust on UE add/rem operations.
* Consolidated functions in S1AP

* Fixed ASAN in some GCC

* Stop quicker the enb

* Minor typo edit

* Fixed mutexing issues in RRC and possibly RLC/PDCP when adding/removing users
2018-06-12 17:31:07 +02:00
Ismael Gomez cde432fbb6 Added mutex to RLC and PDCP eNodeB 2018-06-11 20:15:46 +02:00
Ismael Gomez d7f6820d12 Reorder UE remove procedure to avoid mutex in RLC/PDCP 2018-06-09 11:11:27 -07:00
Francisco Paisana 4fd82f4bcb some allocated buffers in the s1ap were not being correctly deallocated. sctp_sendmsg() blocks until the buffer is written to the socket, so it is ok to deallocate the buffer right after this call. 2018-06-07 16:28:26 +01:00
Ismael Gomez ca529f96fc Consider UL activity only when RLC PDU is present 2018-06-06 20:22:17 -07:00
Ismael Gomez 27a64b4d58 Decrease PUCCH threshold causing SR failure in bad SNR conditions 2018-06-06 20:09:14 -07:00
Ismael Gomez 13fc76a5ad Minor PUSCH print error 2018-06-06 20:08:43 -07:00