From be748fa63d6a4dd991fe4612ed13e54ab583beb8 Mon Sep 17 00:00:00 2001 From: faluco Date: Thu, 30 Jul 2020 19:37:26 +0200 Subject: [PATCH 1/4] - Fix missing static tag in add_library, that could cause linker issues in srsenb. --- srsenb/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srsenb/src/CMakeLists.txt b/srsenb/src/CMakeLists.txt index 68d3459e2..cda07c314 100644 --- a/srsenb/src/CMakeLists.txt +++ b/srsenb/src/CMakeLists.txt @@ -32,7 +32,7 @@ if (RPATH) SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) endif (RPATH) -add_library(enb_cfg_parser parser.cc enb_cfg_parser.cc) +add_library(enb_cfg_parser STATIC parser.cc enb_cfg_parser.cc) add_executable(srsenb main.cc enb.cc metrics_stdout.cc metrics_csv.cc) target_link_libraries(srsenb srsenb_phy From f02bfe2cff6bc0685a0418ea61debde3e036de18 Mon Sep 17 00:00:00 2001 From: Pedro Alvarez Date: Thu, 14 May 2020 15:47:26 +0100 Subject: [PATCH 2/4] Small compilation fixes for GCC 10.1 --- lib/include/srslte/common/move_callback.h | 3 +++ lib/src/phy/fec/viterbi37_avx2_16bit.c | 4 ++-- lib/src/phy/rf/rf_helper.h | 5 +++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/include/srslte/common/move_callback.h b/lib/include/srslte/common/move_callback.h index 0f6b5afbb..5f1a29569 100644 --- a/lib/include/srslte/common/move_callback.h +++ b/lib/include/srslte/common/move_callback.h @@ -23,7 +23,10 @@ #define SRSLTE_MOVE_CALLBACK_H #include +#include +#include #include +#include #include #if defined(__cpp_exceptions) && (1 == __cpp_exceptions) diff --git a/lib/src/phy/fec/viterbi37_avx2_16bit.c b/lib/src/phy/fec/viterbi37_avx2_16bit.c index 643284f6b..9f0aaabaa 100644 --- a/lib/src/phy/fec/viterbi37_avx2_16bit.c +++ b/lib/src/phy/fec/viterbi37_avx2_16bit.c @@ -43,7 +43,7 @@ union branchtab27 { } Branchtab37_sse2[3]; -int firstGo; +int firstGo_16bit; /* State info for instance of Viterbi decoder */ struct v37 { metric_t metrics1; /* path metric buffer 1 */ @@ -85,7 +85,7 @@ int init_viterbi37_avx2_16bit(void* p, int starting_state) vp->metrics1.c[i] = 63; clear_v37_avx2_16bit(vp); - firstGo = 1; + firstGo_16bit = 1; vp->old_metrics = &vp->metrics1; vp->new_metrics = &vp->metrics2; vp->dp = vp->decisions; diff --git a/lib/src/phy/rf/rf_helper.h b/lib/src/phy/rf/rf_helper.h index 0feef655d..b3609ac5d 100644 --- a/lib/src/phy/rf/rf_helper.h +++ b/lib/src/phy/rf/rf_helper.h @@ -82,8 +82,9 @@ static inline int parse_string(char* args, const char* config_arg_base, int chan printf("CHx %s=%s\n", config_arg_base, config_str); } - strncpy(param_dst, config_str, RF_PARAM_LEN); - param_dst[RF_PARAM_LEN - 1] = 0; + if (snprintf(param_dst, RF_PARAM_LEN, "%s", config_str) < 0) { + return SRSLTE_ERROR; + } // concatenate key=value and remove both (avoid removing the same value twice if it occurs twice in rf_args) char config_pair[RF_PARAM_LEN * 2] = {0}; From 9e7d881bc8f543638abd27236eeb7d2a894cca20 Mon Sep 17 00:00:00 2001 From: Andre Puschmann Date: Sun, 13 Sep 2020 20:59:20 +0200 Subject: [PATCH 3/4] srsenb: remove QAM256 related options in RRC Connection Reconfig this part of the RRC connection reconfig has caused issue for some newer phones like the Iphone X, One Plus 6T. The phone would receive the message but not respond with a reconfig complete. The patch fixes this issue by disabling QAM-256 support altogether. --- srsenb/src/stack/rrc/rrc.cc | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/srsenb/src/stack/rrc/rrc.cc b/srsenb/src/stack/rrc/rrc.cc index dc3dc6d84..d754dda44 100644 --- a/srsenb/src/stack/rrc/rrc.cc +++ b/srsenb/src/stack/rrc/rrc.cc @@ -1798,15 +1798,6 @@ void rrc::ue::send_connection_reconf(srslte::unique_byte_buffer_t pdu) phy_cfg->pdsch_cfg_ded_present = true; phy_cfg->pdsch_cfg_ded.p_a = parent->cfg.pdsch_cfg; - // Configure 256QAM - if (ue_capabilities.category_dl >= 11 && ue_capabilities.support_dl_256qam) { - phy_cfg->cqi_report_cfg_pcell_v1250.set_present(true); - cqi_report_cfg_v1250_s* cqi_report_cfg = conn_reconf->rr_cfg_ded.phys_cfg_ded.cqi_report_cfg_pcell_v1250.get(); - cqi_report_cfg->alt_cqi_table_r12_present = true; - cqi_report_cfg->alt_cqi_table_r12 = asn1::rrc::cqi_report_cfg_v1250_s::alt_cqi_table_r12_e_::all_sfs; - current_sched_ue_cfg.use_tbs_index_alt = true; - } - // Add SCells if (fill_scell_to_addmod_list(conn_reconf) != SRSLTE_SUCCESS) { parent->rrc_log->warning("Could not create configuration for Scell\n"); @@ -2003,14 +1994,6 @@ int rrc::ue::fill_scell_to_addmod_list(asn1::rrc::rrc_conn_recfg_r8_ies_s* conn_ ul_cfg_ded.cqi_report_cfg_scell_r10.nom_pdsch_rs_epre_offset_r10 = 0; ul_cfg_ded.cqi_report_cfg_scell_r10.cqi_report_periodic_scell_r10_present = true; - // Add 256QAM - if (ue_capabilities.category_dl >= 11 && ue_capabilities.support_dl_256qam) { - cell.rr_cfg_ded_scell_r10.phys_cfg_ded_scell_r10.cqi_report_cfg_scell_v1250.set_present(true); - auto cqi_report_cfg_scell = cell.rr_cfg_ded_scell_r10.phys_cfg_ded_scell_r10.cqi_report_cfg_scell_v1250.get(); - cqi_report_cfg_scell->alt_cqi_table_r12_present = true; - cqi_report_cfg_scell->alt_cqi_table_r12 = asn1::rrc::cqi_report_cfg_v1250_s::alt_cqi_table_r12_e_::all_sfs; - } - // Get CQI allocation for secondary cell auto& cqi_setup = ul_cfg_ded.cqi_report_cfg_scell_r10.cqi_report_periodic_scell_r10.set_setup(); get_cqi(&cqi_setup.cqi_pmi_cfg_idx, &cqi_setup.cqi_pucch_res_idx_r10, scell_idx); From 0ec49a7b192da87ef01e5256caa97fab36486a2b Mon Sep 17 00:00:00 2001 From: Andre Puschmann Date: Sun, 13 Sep 2020 21:07:04 +0200 Subject: [PATCH 4/4] update readme and bump version of 20.04.2 --- CHANGELOG | 4 ++++ cmake/modules/SRSLTEVersion.cmake | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 3256bba4e..754a75e96 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,10 @@ Change Log for Releases ======================= +## 20.04.2 + * Fix attach issue for some newer phones due to wrong CQI config + in RRC Connection Reconfiguration message by turning off QAM256 support + ## 20.04.1 * Fix for UE MIMO segfault issue * Fix for eNodeB SR configuration diff --git a/cmake/modules/SRSLTEVersion.cmake b/cmake/modules/SRSLTEVersion.cmake index ba156876e..d238b0662 100644 --- a/cmake/modules/SRSLTEVersion.cmake +++ b/cmake/modules/SRSLTEVersion.cmake @@ -20,5 +20,5 @@ SET(SRSLTE_VERSION_MAJOR 20) SET(SRSLTE_VERSION_MINOR 04) -SET(SRSLTE_VERSION_PATCH 1) +SET(SRSLTE_VERSION_PATCH 2) SET(SRSLTE_VERSION_STRING "${SRSLTE_VERSION_MAJOR}.${SRSLTE_VERSION_MINOR}.${SRSLTE_VERSION_PATCH}")