Francisco Paisana
b0d2584795
Merge pull request #735 from softwareradiosystems/pr_sched_changes
...
Scheduler changes
5 years ago
Francisco Paisana
8440126d35
removal of srslte::timers class
5 years ago
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
5 years ago
Francisco Paisana
6aec98e140
cleanup of some type names, and other minor changes
5 years ago
Francisco Paisana
c19e0d9423
moved the RAR/Msg3 scheduling to a separate class
5 years ago
Francisco Paisana
388776d1fa
provided a general way to access ue_db from the scheduler - part2
5 years ago
Francisco Paisana
e0b8be61e5
provided a general way to access ue_db from the scheduler
5 years ago
Francisco Paisana
d79e49ed4c
moved the BC scheduling to a separate class/file
5 years ago
Francisco Paisana
837c16557f
started to implement separate SIB scheduler, and its tests. This is particualrly important for CA
5 years ago
Francisco Paisana
84ac16826f
modernized the scheduler code, and removed some clang-tidy warnings
5 years ago
Francisco Paisana
ad0b3ce6e2
modernize the random sched test
5 years ago
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
5 years ago
Xavier Arteaga
73517f981e
Minor fixes
5 years ago
Xavier Arteaga
423475173d
Refactored magnitude and argument extraction from sf_worker
5 years ago
Xavier Arteaga
f9a795e985
SRSENB: cleanup and mutex rearange
5 years ago
Xavier Arteaga
8e92baf401
SRSENB: quitsafter entering 'q\n'
5 years ago
Xavier Arteaga
10480f62b3
SRSENB: Split sf_worker and cc_worker
5 years ago
Xavier Arteaga
4238c045a4
fix unitialised value
5 years ago
Xavier Arteaga
ce9bcc1033
fix unitialised value
5 years ago
Ismael Gomez
1d83bb08e2
Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO
5 years ago
Francisco Paisana
a2f1998350
fix issue with thread pool shut down
5 years ago
Francisco Paisana
6db0e474be
moved RA waiting procedure to a background task of the stack thread pool
5 years ago
Xavier Arteaga
b3e8c4ae6a
SRSENB: Schedule RI reporting
5 years ago
Ismael Gomez
9325aaddf2
Do not change master clock rate if not necessary. Hint in ue/enb configs for low BW cells
5 years ago
Andre Puschmann
a2ab043c0d
fix memleaks and uninitialized vars found by cppcheck
5 years ago
Ismael Gomez
6bb0790cf1
Fix coverty issues ( #652 )
5 years ago
Pedro Alvarez
004db4a067
Applied clang-format to zuc_support PR.
5 years ago
Pedro Alvarez
1ae8ccda8c
Added EIA3 and EEA3 to default UE capabilities to srsUE. Added parsers for EEA3/EIA3 config options in srsENB and srsEPC
5 years ago
Andre Puschmann
49279c89d8
send DL-DCCH on SRB2 after it has been established
5 years ago
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
5 years ago
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
5 years ago
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
5 years ago
Francisco Paisana
116dc0a57b
fixed group extensions, removed extra presence flag for copy_ptr<T> types as it was just a source of bugs.
5 years ago
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
5 years ago
Andre Puschmann
343c30be4a
fix RF metrics/logging in eNB
5 years ago
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.
5 years ago
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.
5 years ago
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
5 years ago
Pedro Alvarez
6efa944b5e
Removed srslte prefix from pdcp_config_t
5 years ago
Pedro Alvarez
494be243c0
Changed security direction to use an enum.
5 years ago
Pedro Alvarez
f90b69e5f4
More clang-format for PDCP
5 years ago
Pedro Alvarez
964db869a6
Fix mistake in configuring SRB1's PDCP.
5 years ago
Pedro Alvarez
d3b6828082
Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine.
5 years ago
Pedro Alvarez
73e30743d1
Added enum to PDCP config to replace two bools.
5 years ago
Pedro Alvarez
457f35699d
Reverted back to a single config structure between PDCP NR and PDCP LTE.
5 years ago
Pedro Alvarez
005d03cb1a
Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP
5 years ago
Andre Puschmann
e0bd7f156d
replace remaining warning macros with pragma message
5 years ago
Andre Puschmann
09610ce788
add type setter to sch_subh and use it for MCH PDUs
5 years ago
Andre Puschmann
e60a4490d2
streamline embms parameters and fix MCS selection
5 years ago
yagoda
408400bee6
adding fixes and tests for eMBMS
5 years ago
Francisco Paisana
424876c5e4
added DL TTI mask for MBMS
5 years ago
Ismael Gomez
98f52529f7
Minor change to ue.conf
5 years ago
Ismael Gomez
0dac2ef59b
Update SIB2 also when forcing p_b
5 years ago
Ismael Gomez
feafec2725
Fix srsENB PHY log and reorganized expert args
5 years ago
Andre Puschmann
62eba8f3d8
fix default radio, channel and rx antenna setting in eNB ( #594 )
5 years ago
Andre Puschmann
f1387d8cf8
fix uninitialized vars in scheduler_grid
5 years ago
Ismael Gomez
1b970fa978
Modified comments
5 years ago
Xavier Arteaga
5e49aca835
Merge pull request #570 from softwareradiosystems/feature_256qam_fix
...
Resource allocation extended tables and PDSCH table 2 for 256QAM
5 years ago
Andre Puschmann
e0b583db5d
remove extra indirection from enb_phy
5 years ago
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)
5 years ago
Ismael Gomez
d595c4d882
Fixes issue #545 and unlocking of tti_sync condvar before closing causing deadlock at stop
5 years ago
Andre Puschmann
5faa819dcd
fixing uninitialized class members found by coverity
5 years ago
Andre Puschmann
92f0d58856
mac: move further init/config into ctor to allow early logging, etc.
5 years ago
Andre Puschmann
6a11030ae1
enb: fix race condition in workers overwriting the DL tx buffer
...
this adds a own tx buffer for each HARQ PID
5 years ago
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.
5 years ago
Francisco Paisana
b936629221
removed rrc asn1 header from bcd_helpers, from rlc_interface, and rlc tests
5 years ago
Guillem Foreman
db4127ca64
Fixes 256QAM, added pdsch table 2, fixed warnings
5 years ago
Guillem Foreman
535325bc37
srsLTE: added resource allocation extended tables for 256QAM and integration with PDSCH test
5 years ago
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
5 years ago
Francisco Paisana
34fde16b40
change scheduler mutex to std::mutex ( #546 )
...
* change scheduler mutex to std::mutex
* rename lck to lock
5 years ago
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.
5 years ago
Pedro Alvarez
5d8dcbe4cb
Make sure that PDCP SN is initialized properly in the eNB. UE attaches again when using encription.
5 years ago
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.
5 years ago
Pedro Alvarez
09144a2c5f
Added check of IP version to the eNB GTP-u. Helpfull for debug.
5 years ago
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.
5 years ago
Andre Puschmann
da35f41dd5
rework MAC logical channel prioritization
5 years ago
Andre Puschmann
e0a28cf4c0
simplify PDCP init and also bypass it for SRB0 on eNB
5 years ago
Francisco Paisana
ce29ed545d
moved mac thread to the stack. Protect the interface of the stack with PHY and gateway via a queue of tasks
5 years ago
Francisco Paisana
415d3418b6
reorganized enb to mirror ue director/class structure with a stack class
6 years ago
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.
6 years ago
Andre Puschmann
0e95867f13
remove task dispatcher class
6 years ago
Xavier Arteaga
1f52c32b84
SRSENB: Fixed CLang Tidy in enb.cc
6 years ago
Xavier Arteaga
080b4a327c
SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed.
6 years ago
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
6 years ago
Francisco Paisana
0e3baa0f2f
Renamed the reset() method of byte_buffer_t to clear()
6 years ago
Francisco Paisana
3bedc93ba5
added _t to unique_byte_buffer type
6 years ago
Francisco Paisana
f469e2178b
replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use
6 years ago
Francisco Paisana
0976ea6f27
created a unique byte buffer that automatically deallocates
6 years ago
Francisco Paisana
7be183c223
rework scheduler
6 years ago
Francisco Paisana
b04cb0deb9
using the new choice set api in UE and eNB RRC
6 years ago
yagoda
c25f3b0acf
increasing rlc UM window size for eMBMS, small adjustment to eMBMS PHY common
6 years ago
Pedro Alvarez
d4d7691fab
Catch exception by reference to avoid compiler warning.
6 years ago
Ismael Gomez
5e5e797cb9
Adjust 75 PRB radio offset and clean log
6 years ago
Francisco Paisana
a0235ccafe
better error messages
6 years ago
Francisco Paisana
e70e88b8b4
revert prach freq offset auto change
6 years ago
Francisco Paisana
82a0145593
added extra tests in the unpacking of rrc asn1
6 years ago
Francisco Paisana
1674c8939f
automatically resolve invalid prach_offset for prb6
6 years ago
Andre Puschmann
e4ea96aa79
add check for return value for RRC unpacking
...
- handle error cases accordingly
6 years ago
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
6 years ago
Andre Puschmann
4b01a2e4a0
update copyright notice
6 years ago
Andre Puschmann
205db6f229
add missing license headers
6 years ago
Francisco Paisana
4ba1993815
fixed some race conditions in the scheduler ( #411 )
6 years ago
Pedro Alvarez
c51a8bfe9d
Fix compilation error when using GCC 8, C++11 and C complex functions.
6 years ago
Andre Puschmann
45de6c3305
fix selection for EEA0 and disallow EIA0
6 years ago
Ismael Gomez
7780b1aba5
add tdd/ca support
6 years ago
Andre Puschmann
bdfb408857
fix uninitialized loop counter
6 years ago
Pedro Alvarez
435d63b871
Making sure errors in the enb.conf is handled gracefully
6 years ago
David Rupprecht
39c49ab1ef
Configurable sec algo preference list
6 years ago
David Rupprecht
fd34e22c84
Started with local preference selection algorithm
6 years ago
David Rupprecht
735f97ceb6
Fixed Bearer ID for data Bearer and changed debug type for enc data pdus
6 years ago
David Rupprecht
b84e49310e
Enable encryption in reconfiguration and after security mode command (NOT TEST)
6 years ago
David Rupprecht
eb3a83ac45
User Plane key in configuration interface
6 years ago
Francisco Paisana
185242d5f5
default release for ack_nack_repeat
6 years ago
Francisco Paisana
8a0ae614c2
added default value to ack_nack_repeat
6 years ago
Francisco Paisana
f778c6ca8d
make mcch check
6 years ago
Francisco Paisana
41338293ea
added a default radioframe alloc
6 years ago
Francisco Paisana
dc0b903130
added default enum inits
6 years ago
Pedro Alvarez
aa3a2a3dba
Fix compilation issue with GCC 8.x using complex numbers.
6 years ago
Andre Puschmann
3702a6660e
fix compilation for gcc 4.x
6 years ago
Andre Puschmann
1cc6ae3c60
enable c++11 support
6 years ago
Andre Puschmann
8e38ef2ee4
print PDU length when logging RRC message
6 years ago
Francisco Paisana
75acb046d9
small p_a initialization fix
6 years ago
Andre Puschmann
6b04435edc
move setting of EARFCNs straight into parse_args function
6 years ago
Andre Puschmann
4204321fde
fix uninitialised variables in enb during startup
6 years ago
Francisco Paisana
43a8a8e195
checking the number of prbs available for DL requires an additional check for the prb=6 ( #322 )
6 years ago
Francisco Paisana
15abb2b020
set the correct size of the buffer for paging
6 years ago
Andre Puschmann
86232c143e
expose RLC tx queue length through config struct
6 years ago
Andre Puschmann
a436baed39
fix build string for builds without valid .git folder
6 years ago
Francisco Paisana
d22e53832b
fix sib.conf.mbsfn.example defaults
6 years ago
Francisco Paisana
be06f260db
fixed issues in the parsing of sibs
6 years ago
Pedro Alvarez
c5dad67a16
Adding catch to boost program options parser.
6 years ago
Francisco Paisana
0204db2e12
new asn1 rrc library
6 years ago
Andre Puschmann
8326299ec5
fix uninitialized variables
6 years ago
Andre Puschmann
2590ebd10b
fix bugs reported by coverity
6 years ago
Andre Puschmann
df7ab7ffe8
Merge branch 'master' into next
6 years ago
Igor Kim
9def82d15b
add error handling on binding s1c socket ( #267 )
6 years ago
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
6 years ago
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
6 years ago
Andre Puschmann
df40259c26
fix issue in PDCP when bearer ID for DRBs was not starting with 1
6 years ago
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
6 years ago
rubund
b801c3dd4e
Fix some spelling errors detected by lintian ( #271 )
6 years ago
Andre Puschmann
c60f7e9013
remove "disconnected" from enb console trace
6 years ago
Pedro Alvarez
548808ecee
Changing RRC key logging from debug to info. Small readability fix.
6 years ago
Pedro Alvarez
645bd60d75
More debug prints
6 years ago
Andre Puschmann
05abdc9516
remove printf from eNB RRC
6 years ago
Andre Puschmann
db910cb84b
add CSV metrics for eNB
6 years ago
Andre Puschmann
8a1368c8d6
send connection reject if MME isn't connected
6 years ago
Andre Puschmann
93d17fed3e
disable buffer pool logging by default
6 years ago
Andre Puschmann
c35b467d57
suppress scheduler warning for failed PUCCH allocation for 6 PRBs
6 years ago
Andre Puschmann
5a3fa7c305
fix scheduler issues for 6 PRBs
6 years ago