Commit Graph

500 Commits

Author SHA1 Message Date
Francisco Paisana b0d2584795
Merge pull request #735 from softwareradiosystems/pr_sched_changes
Scheduler changes
2019-10-23 20:40:38 +01:00
Francisco Paisana 8440126d35 removal of srslte::timers class 2019-10-23 19:33:25 +01:00
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 2019-10-23 19:33:25 +01:00
Francisco Paisana 6aec98e140 cleanup of some type names, and other minor changes 2019-10-23 18:47:37 +01:00
Francisco Paisana c19e0d9423 moved the RAR/Msg3 scheduling to a separate class 2019-10-23 18:46:26 +01:00
Francisco Paisana 388776d1fa provided a general way to access ue_db from the scheduler - part2 2019-10-23 18:07:42 +01:00
Francisco Paisana e0b8be61e5 provided a general way to access ue_db from the scheduler 2019-10-23 18:07:42 +01:00
Francisco Paisana d79e49ed4c moved the BC scheduling to a separate class/file 2019-10-23 18:06:32 +01:00
Francisco Paisana 837c16557f started to implement separate SIB scheduler, and its tests. This is particualrly important for CA 2019-10-23 17:48:47 +01:00
Francisco Paisana 84ac16826f modernized the scheduler code, and removed some clang-tidy warnings 2019-10-23 17:48:47 +01:00
Francisco Paisana ad0b3ce6e2 modernize the random sched test 2019-10-23 17:39:45 +01: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
Xavier Arteaga 73517f981e Minor fixes 2019-10-21 16:17:37 +02:00
Xavier Arteaga 423475173d Refactored magnitude and argument extraction from sf_worker 2019-10-21 16:17:37 +02:00
Xavier Arteaga f9a795e985 SRSENB: cleanup and mutex rearange 2019-10-21 16:17:37 +02:00
Xavier Arteaga 8e92baf401 SRSENB: quitsafter entering 'q\n' 2019-10-21 16:17:37 +02:00
Xavier Arteaga 10480f62b3 SRSENB: Split sf_worker and cc_worker 2019-10-21 16:17:37 +02:00
Xavier Arteaga 4238c045a4 fix unitialised value 2019-10-14 14:43:59 +02:00
Xavier Arteaga ce9bcc1033 fix unitialised value 2019-10-14 14:42:34 +02:00
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 2019-10-14 11:20:35 +02:00
Francisco Paisana a2f1998350 fix issue with thread pool shut down 2019-10-04 10:24:21 +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
Xavier Arteaga b3e8c4ae6a SRSENB: Schedule RI reporting 2019-09-30 15:15:18 +02:00
Ismael Gomez 9325aaddf2 Do not change master clock rate if not necessary. Hint in ue/enb configs for low BW cells 2019-09-27 18:59:55 +02:00
Andre Puschmann a2ab043c0d fix memleaks and uninitialized vars found by cppcheck 2019-09-20 10:55:29 +02:00
Ismael Gomez 6bb0790cf1
Fix coverty issues (#652) 2019-09-13 15:06:20 +02:00
Pedro Alvarez 004db4a067 Applied clang-format to zuc_support PR. 2019-09-10 13:46:21 +02:00
Pedro Alvarez 1ae8ccda8c Added EIA3 and EEA3 to default UE capabilities to srsUE. Added parsers for EEA3/EIA3 config options in srsENB and srsEPC 2019-09-10 13:46:21 +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 c92c61d560
Optimized front-end logging processing (#641)
Avoid memory allocation and stringstream in log frontend calls (executed from worker threads). Uses a buffer pool of fixed buffer and vsnprintf
2019-09-04 15:32:29 +02:00
Francisco Paisana 67d6a25194 Moving mac timers to stack timers (#638)
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.

* moved timers out of the UE MAC
2019-09-04 15:28:09 +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
Harald Welte 756374419f SRSENB: Add SIB7 (GERAN neighbor) support
This adds the required missing bits to the eNB config file parser
to enable minimalistic support of parsing SIB7 configuration.

SIB7 contains GERAN (GSM) neighbor cell information, which is important
if you are operating a combined 2G+4G netowrk and want to assist the UEs
to reselect GSM cells once they move out of LTE coverage.

An example SIB7 section looks as follows:

sib7 = {
    t_resel_geran = 1;
    carrier_freqs_info_list =
    (
        {
            cell_resel_prio = 0;
            ncc_permitted = 255;
            q_rx_lev_min = 0;
            thresh_x_high = 7;
            thresh_x_low = 7;

            start_arfcn = 871;
            band_ind = "dcs1800";
            explicit_list_of_arfcns = ( 873, 875, 877 );
        }

    );
};

Closes: #357
2019-08-29 20:47:02 +02:00
Andre Puschmann 343c30be4a fix RF metrics/logging in eNB 2019-08-07 14:12:57 +02:00
Harald Welte 44977bcdec [ENB] enb.conf.example: Mention WRITE_SIB_PCAP
The documentation talks about a MAC protocol trace, but in fact
it is only a protocol trace of dedicated channels.  There's a related
define in the source code, but that's not documented.

Let's at least make the user aware that the MAC pcap trace is
for dedicated channels only, unless he uses that #define.
2019-08-05 11:24:55 +02:00
Harald Welte d01dd7fb91 [ENB] Fix builds with #define WRITE_SIB_PCAP
Building with WRITE_SIB_PCAP was broken in April 2019 in commit
7780b1aba5.  Let's make it work again.
2019-08-05 11:24:48 +02:00
Harald Welte 844994f2cd [ENB] Fix enabling of MAC pcap file
when using

[pcap]
enable = true
filename = /tmp/enb.pcap

in enb.conf, there is no pcap file created.

The problem is somewhere in the way how arguments are handled.
pcap.enable is properly parsed into args.pcap.  However, later on,
lte_stack->init(args.stack, rrc_cfg, lte_phy.get()) only passes
args.stack down the road, not args.pcap.  enb_stack_lte::init() then
basically uses args.stack.pcap and not args.pcap, and the latter appears
always false.

Let's remove pcap_args_t from all_args and only use the instance in
stack_args_t.

Closes: #359
2019-08-05 11:24:41 +02:00
Pedro Alvarez 6efa944b5e Removed srslte prefix from pdcp_config_t 2019-07-30 15:01:50 +02:00
Pedro Alvarez 494be243c0 Changed security direction to use an enum. 2019-07-30 15:01:50 +02:00
Pedro Alvarez f90b69e5f4 More clang-format for PDCP 2019-07-30 15:01:50 +02:00
Pedro Alvarez 964db869a6 Fix mistake in configuring SRB1's PDCP. 2019-07-30 15:01:50 +02:00
Pedro Alvarez d3b6828082 Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine. 2019-07-30 15:01:50 +02:00
Pedro Alvarez 73e30743d1 Added enum to PDCP config to replace two bools. 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 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
Andre Puschmann e0bd7f156d replace remaining warning macros with pragma message 2019-07-23 15:38:21 +02:00
Andre Puschmann 09610ce788 add type setter to sch_subh and use it for MCH PDUs 2019-07-23 15:38:21 +02:00
Andre Puschmann e60a4490d2 streamline embms parameters and fix MCS selection 2019-07-21 22:27:17 +02:00
yagoda 408400bee6 adding fixes and tests for eMBMS 2019-07-21 22:27:17 +02:00