Robert Falkenberg
bb7339910f
rlc: separate types of rlc_amd_retx_t for LTE and NR
2022-03-09 08:28:46 +01:00
Joaquim Broquetas
520128162e
Add CFR to srsue LTE UL ( #3865 )
...
lte,phy: Add CFR to srsue LTE UL
This commit adds the configuration steps needed to enable
and configure the CFR module for the srsue's uplink signal.
Parsing of the CFR manual threshold has been streamlined.
2022-03-07 17:05:33 +01:00
Robert Falkenberg
60c3d79f47
rlc, nr: complete packing of status PDUs with 18bit SNs
2022-03-01 20:44:39 +01:00
Robert Falkenberg
f7515e98cf
rlc, nr: add pack/unpack of nack_range in status PDUs
2022-03-01 15:31:35 +01:00
Robert Falkenberg
0fb6420e8b
rlc, nr: avoid multi increments of SDU's retx_count within one status message
2022-02-28 16:37:44 +01:00
Robert Falkenberg
511ad9ed25
rlc, nr: Increment retx_count for segments
2022-02-28 16:37:44 +01:00
Robert Falkenberg
034aa6a6d4
rlc, nr: inform upper layer when max retransmissions is exceeded
2022-02-28 16:37:44 +01:00
Robert Falkenberg
95ebc06ec1
rlc: implement SDU discard for AM+UM in NR+LTE
...
- Implemented in common base classes
- Added locking
2022-02-23 11:18:31 +01:00
Robert Falkenberg
9b44d13471
rlc, nr: notify PDCP about fully acked SDUs
2022-02-23 10:57:21 +01:00
Pedro Alvarez
e6d976d115
lib,rlc_am_nr: fixed stack smashing bug that happened when too many NACKs were present in the status report
2022-02-22 21:14:15 +00:00
Pedro Alvarez
ddbd857867
lib,rlc_am_nr: make sure that the RB name is logged when logging the header and status PDUs in NR
2022-02-22 21:14:15 +00:00
Codebot
81061fd545
Merge branch 'next' into agpl_next
2022-02-20 23:12:21 +01:00
Robert Falkenberg
3a73d84294
srsran_rf: support dynamic loading of RF plugins
...
This adds flexible plugin-like loading of the individual RF
implementations (zmq, uhd, soapy,...) as per availability at runtime.
Unlike before, the binary application is not terminated if the
dependencies of individual RF interfaces are not installed on the
executing system. To do this, the plugins are not linked by the linker
at compile time, but opened at runtime via dlopen() and dropped in case
of failure due to missing dependencies.
2022-02-18 15:11:23 +01:00
Bedran Karakoc
767feddd73
lib,nas_5g: Implement to_string() functionality for options
2022-02-18 11:15:56 +01:00
Pedro Alvarez
c8d15135c6
lib,rlc_am_nr: addressing reveier comments:
...
* made some methods const
* changed from TESTASSERT to TESTASSERT_EQ
* fix up comment
* removed superfulous if
* used typedef for list of segments received
* added unit test for is_retx_required()
* added unit test for malformed status PDU
2022-02-16 13:23:32 +00:00
Pedro Alvarez
634c9ea3af
lib,rlc_am_nr: starting to order segments to be able to receive them out-of-order
2022-02-16 13:23:32 +00:00
Pedro Alvarez
832d650574
lib,rlc_am_nr: remove unused variables. Fixed up some comments.
2022-02-16 13:23:32 +00:00
Pedro Alvarez
9bb3b1f18f
lib,rlc_am_nr: remove unused code after re-factor
2022-02-16 13:23:32 +00:00
Pedro Alvarez
5e8b7b5ebe
lib,rlc_am_nr: re-factored code for retx'ing with and without segmentation.
2022-02-16 13:23:32 +00:00
Pedro Alvarez
38e4c47f34
lib,rlc_am_nr: added current SO to keep track of the SO for the next RETX.
2022-02-16 13:23:32 +00:00
Pedro Alvarez
65d5df8b6e
lib,rlc_am_nr: Continue to add functionality to provide segments of retx'es. Started to add function to re-segment already existing SDU segment
2022-02-16 13:23:32 +00:00
Pedro Alvarez
e4a72de342
lib,rlc_am_nr: refactored build_pdu helpers to receive the payload pointer for consistency. Added function to segment retx. Added some comments to build PDU helper functions.
2022-02-16 13:23:32 +00:00
Pedro Alvarez
b1a33a07a1
lib,rlc_am_nr: starting to add test for segmenting retx. Changed sdu under segmentation to only hold the SN. The actual SDU already exists in the pdu stored in the tx_window.
2022-02-16 13:23:32 +00:00
Francisco
581a99c616
nr,gnb: use memory pool to allocate scheduler UEs
2022-02-15 20:59:45 +01:00
Francisco
a2174a5714
Fix type storage copy and move assignment function helper
...
Previously, in the case both the lhs and rhs optionals were present, the copy/move assignments were erroneously destroying the lhs object.
2022-02-15 16:50:21 +01:00
Codebot
17291abdad
Adding AGPL copyright to new files
2022-02-13 23:12:24 +01:00
Codebot
42cc7d5d1a
Merge branch 'next' into agpl_next
2022-02-13 23:12:22 +01:00
faluco
c9c2d6982f
Implement a function to remove emergency handlers when a signal is raised.
...
Make PCAP handlers deregister from this list when they are destructed. This avoid the signal handler calling destructed objects under very rare circumstances.
2022-02-09 18:11:20 +01:00
Bedran Karakoc
83868fd2d2
lib,nas_5g: Implement to_string() for 5GSM Cause
2022-02-08 20:18:16 +01:00
Francisco Paisana
e4a15c9c51
rrc,gnb: move non-phy fields out of phy_cell_nr_t
2022-02-08 18:21:07 +01:00
Francisco Paisana
e8902c785f
rrc,gnb: remove srsran_prach_cfg_t from gnb rrc config struct
2022-02-08 18:21:07 +01:00
Francisco Paisana
532a4b54e7
rrc,gnb: remove phy flat pdcch cfg struct from rrc nr cfg
2022-02-07 18:26:15 +01:00
Francisco Paisana
88a95e8e57
rrc,gnb: remove uneeded flat phy cfg fields from rrc_nr_cfg_t
2022-02-07 18:26:15 +01:00
Joaquim Broquetas
b2075673e5
Crest Factor Reduction feature for the phy layer ( #3720 )
...
* Add CFR module to the phy lib
* Add dynamic threshold with PAPR estimation
* Add a CFR unit test, CFR module improvements and refactoring.
Swap the gain normalization before the CFR.
* Add CFR config interface to srsenb
* Add CFR support to pdsch_enodeb
* Add DL PAPR measurement to eNB.
Co-authored-by: Cristian Balint <cristian.balint@gmail.com>
* Add test coverage to srsran_vec_gen_clip_env
2022-02-04 10:35:35 +01:00
Carlo Galiotto
91502c87db
rrc-nr: rename rrc_util function and fix indexing
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-02-03 18:50:44 +01:00
Carlo Galiotto
e88a4fbe18
rrc-nr: add sr_resources RRCSetup cnf conversion
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-02-03 18:50:44 +01:00
Francisco
425b956ef1
revert hacky asn1 compilation fix related with default dtors
2022-02-01 13:08:51 +01:00
Robert Falkenberg
57f84d4ca4
Radio: add support for file-based RF device abstraction
2022-02-01 10:47:51 +01:00
Robert Falkenberg
d3eca325f7
Add file-based RF device for rx from arbitrary FILE*
...
It comes with the following changes:
* Add RF frontend API function "srslte_rf_open_file()"
* Open file-based RF via explicit call of custom
"rf_file_open_file()", instead of "srslte_rf_open_multi()"
function pointer as for regular devices.
* Introduce device name "file"
* Introduce new SRSLTE_ERROR_RX_EOF error code
* ZMQ: make update_rates() static to resolve conflicts
2022-02-01 10:47:51 +01:00
Carlo Galiotto
9f25a91282
asn1: fix clang compiling issue #3827
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-02-01 10:38:26 +01:00
Xavier Arteaga
a74fdb84c9
Added SSB encode and decode from grid, plus unit test
2022-02-01 09:44:13 +01:00
Bedran Karakoc
37280307b5
lib,nas_5g: Fix unpacking/packing for timezone IEs
2022-01-31 16:19:20 +01:00
Bedran Karakoc
cf191d8306
lib,nas_5g: Fix packing/unpacking error for ipv4 addresses
2022-01-31 16:19:20 +01:00
Codebot
fb75a5ef0e
Merge branch 'next' into agpl_next
2022-01-30 23:12:49 +01:00
dvdgrgrtt
73594cf704
Fix minor bug
...
SRS_API was used instead of SRSRAN_API. Did not seem to have major
consequences.
2022-01-28 08:15:36 +01:00
Andre Puschmann
c3596cc684
ue_nas_interfaces.h: set default APN type to ipv4
2022-01-27 12:49:13 +01:00
Carlo Galiotto
362abfe3c9
rrc-nr: add conversion for pucch_cfg
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Bedran Karakoc
efa13290a9
ue,rrc_nr,nas_5g: Introduce NR AS Key derivation and update context handling in 5G NAS
2022-01-25 14:24:58 +01:00
Bedran Karakoc
a8eaf1cdd8
ue,nas_5g: Add get_k_amf() helper function and security context flag
2022-01-25 14:24:58 +01:00
Andre Puschmann
44a00feccb
pdcp_entity_base: fix log typo
2022-01-24 21:07:22 +01:00
Xavier Arteaga
a9591f1d45
Avoid poping queue if empty
2022-01-24 10:09:17 +01:00
Codebot
35c9e05078
Adding AGPL copyright to new files
2022-01-23 23:12:29 +01:00
Codebot
9664aa3cf4
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/include/srsran/phy/channel/ch_awgn.h
2022-01-23 23:12:27 +01:00
Fabian Eckermann
12cc7cb4d7
Add support for RRC redirect.
2022-01-21 09:46:56 +01:00
Francisco
52106be3d5
sched,nr: remove phy cfg types from sched_nr_cell_cfg_t
2022-01-20 10:54:00 +00:00
Francisco
7ef206e15b
sched,rrc,nr: remove need to pass sched ue cfg object to rrc during ra procedure
2022-01-20 10:54:00 +00:00
Francisco
7f200ac7f7
sched,nr: pass asn1 TDD configuration to scheduler as defined in ORAN
2022-01-20 10:54:00 +00:00
Xavier Arteaga
66f6c11561
Fix concurrent issues in dummy radio used in nr_phy_test
2022-01-19 18:33:39 +01:00
Xavier Arteaga
8a7a4a588d
Fix concurrent access to decimator busy flag
2022-01-19 18:33:39 +01:00
dvdgrgrtt
3ffefe5ba7
Use copyright as file header
2022-01-19 11:13:28 +01:00
dvdgrgrtt
a69fb1d50f
ch_awgn: Improve API
...
The API of functions srsran_ch_awgn_X was causing confusion between
noise variance and standard deviation. Also, in the complex-valued case,
the noise variance did not take into account the fact that the signal is
two-dimensional.
All uses of these functions are modified accordingly.
2022-01-19 11:13:28 +01:00
Andre Puschmann
99c2d16c1b
ue_nr_interface: include SRB ARFCN in cell search result
2022-01-18 18:20:04 +01:00
Andre Puschmann
02cdc66302
security: fix k_gnb* derivation for 5G
...
add FC code for gNB KDF and fix ARFCN encoding (can be more than 2 bytes)
2022-01-18 18:07:21 +01:00
Pedro Alvarez
9bd368e0a9
lib,rlc: changed back status and header logging helpers to log directly. Make sure RB name is automatically logged.
2022-01-18 11:53:37 +00:00
Pedro Alvarez
b53da22eb1
lib,rlc: changed return of string helper functions from char* to std::string to avoid UB
2022-01-18 11:53:37 +00:00
Pedro Alvarez
e157806db2
lib,rlc_am_lte: removed RB_NAME macro. changed status and data pdu logging helpers to return C strings. Using new logging macros to make sure that RB name is included when logging status and amd pdus.
2022-01-18 11:53:37 +00:00
Pedro Alvarez
0f4b64f13f
lib,rlc: added macros for hex logging that automatically add the rb_name. changed logging to use new macros in multiple places.
2022-01-18 11:53:37 +00:00
Pedro Alvarez
b687072815
lib,rlc: added rb_name and logger to rlc_common. Added macros to help making sure bearer name is always included to the log to rlc_common.h. Started using said macros in TM, UM and AM entities.
2022-01-18 11:53:37 +00:00
Francisco
3c25b6cb24
asn1: remove presence flag for lists and octet strings, as the size of the latter implicitly tell if the asn1 field is present
2022-01-17 11:58:00 +00:00
Xavier Arteaga
8694cc63ec
Added SSB configuration conversion to string
2022-01-17 10:55:38 +01:00
Codebot
141073050e
Merge branch 'next' into agpl_next
2022-01-16 23:12:26 +01:00
faluco
634db621e4
Fix compiler error due to a bug in clang9.
2022-01-16 22:17:14 +01:00
Ismael Gomez
dcd94649ef
enb,parser: add option to set a default tx gain per cell
2022-01-13 17:25:39 +01:00
faluco
1ec8e8a94e
Raise C++ version to 14 and fix ill-formed code that is considered by this new standard.
2022-01-13 13:35:58 +00:00
Xavier Arteaga
a19d68710c
Fix successful related typos
2022-01-12 16:37:37 +01:00
Xavier Arteaga
2c7287e4d4
Fix successful related typos
2022-01-12 10:27:33 +01:00
Xavier Arteaga
db19941985
Minor changes on UE SA PHY
2022-01-12 10:27:33 +01:00
Xavier Arteaga
5760080b27
Fix multiple nr_phy_test tests
2022-01-12 10:27:33 +01:00
Xavier Arteaga
d6ee282796
Created dummy radio and moved UE dummy PHY into real UE SA PHY
2022-01-12 10:27:33 +01:00
Xavier Arteaga
3b396c8a9a
Implement and test initial SFN synchronization for UE standalone mode
2022-01-12 10:27:33 +01:00
Xavier Arteaga
a5130673f6
More cell search development
2022-01-12 10:27:33 +01:00
Francisco
f7efee9884
asn1: use typedefs for amf_ue_ngap_id, ran_ue_ngap_id, mme_ue_s1ap_id and enb_ue_s1ap_id and changed interface to access s1ap and ngap protocol_ies
2022-01-11 22:59:38 +00:00
Francisco
26f173e582
asn1: use template to generate ngap/s1ap elementary procedure option and reduce code duplication
2022-01-11 22:59:38 +00:00
Francisco Paisana
d5f5df3e7b
asn1: place common asn1 type for empty ie object sets in asn1_utils.h
2022-01-11 22:59:38 +00:00
Francisco Paisana
ec1ed9d4a5
asn1: fix json generation for s1ap/ngap and improve ie protocol field interface
2022-01-11 22:59:38 +00:00
Francisco Paisana
61e225d762
asn1: move setup_release_c from rrc_nr_asn1 to asn1_utils and improved interface
2022-01-11 22:59:38 +00:00
Francisco Paisana
e2b8a80f87
asn1: move all ie protocol container types to asn1_tuils to be reused in different layers
2022-01-11 22:59:38 +00:00
Francisco Paisana
2d2a5bee03
asn1: update procotol_ie_single_container interface to use -> operator instead of .value to access container content
2022-01-11 22:59:38 +00:00
Francisco Paisana
6b181e7a94
asn1: move protocol_ie_single_container_s to asn1_utils, so it can be used by ngap, s1ap, and other layers
2022-01-11 22:59:38 +00:00
Francisco Paisana
c8f7976014
asn1: use byte buffer pool for temporary variable length field generation instead of stack array
2022-01-11 22:59:38 +00:00
Pedro Alvarez
b0581ae5ae
lib,rlc_am_nr: removed ugly hack to get last element of list. Renamed current_sdu to sdu_under_segmentation.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
bd8c7f7c57
lib,rlc_am_nr: added max_hdr and min_hdr variables, that are configured based on SN length. Replaced magic numbers with said variables.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
5532c514ba
lib,rlc_am_nr: added logging macros to make sure that the RB name is allways logged.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
f60259afb9
lib,rlc_am_nr: fixed multiple typos and deleted useless comments
2022-01-10 23:25:44 +00:00
Pedro Alvarez
9e6b852834
lib,rlc_am_nr: Added handle_full_sdu() and handle_segment_sdu() functions. Reduced duplicate code in handling SDU segments.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
8afea13d9a
lib,rlc_am_nr: added initial logic to support receiving PDU segments.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
aae1d9ad10
lib,rlc_am_nr: changed rlc_amd_nr_tx_sdu to use std::list to store
...
segment infomation. Segment infomation incluses, SO and payload length.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
76c33c78a9
lib,rlc_am_nr: starting to add test for segmentation. Starting to add functions for creating new segments and segment continuation.
2022-01-10 23:25:44 +00:00
Pedro Alvarez
3e5b064a08
lib,rlc_am_nr: starting to add build_sdu_segment() function.
...
Also adding write_header function that receives as argument uint8_t* so
we can write the header straight to the payload.
2022-01-10 23:25:44 +00:00
Xavier Arteaga
6c4c1ea155
NR UE PHY: interfaced fix wideband CQI reporting in nr_phy_test
2022-01-10 18:50:53 +01:00