Merge remote-tracking branch 'origin/Fix_DedicatedBWPs' into integration_2025_w31 (!3461)
Fix Dedicated BWPs
- Improve SearchSpace selection
- Improve CORESET selection
- Fix fill 'initialDownlinkBWP->pdsch_Config' when there are
DedicatedBWPs
* This fixes the reported 'RSRP = 0' issue when the UE is in the
InitialBWP and we have DedicatedBWPs configured
- Add a 'common' type SearchSpace in the NR_BWP_DownlinkDedicated IE for
DedicatedBWPs
- Fix hardcoded 'controlResourceSetId' by making it dynamic
- Remove 'searchspaceid' from 'verify_agg_levels' function because it
was used only for LOG
- CI: Add DedicatedBWP to '40 MHz TDD F1+E1 SA' in
'RAN-SA-B200-Module-SABOX-Container'
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
#define TELNETSERVERCODE
|
||||
#include "telnetsrv.h"
|
||||
|
||||
#define ERROR_MSG_RET(mSG, aRGS...) do { prnt(mSG, ##aRGS); return 1; } while (0)
|
||||
#define ERROR_MSG_RET(mSG, aRGS...) do { prnt(mSG, ##aRGS); return -1; } while (0)
|
||||
|
||||
static int get_single_ue_rnti_mac(void)
|
||||
{
|
||||
@@ -136,6 +136,8 @@ int trigger_reestab(char *buf, int debug, telnet_printfunc_t prnt)
|
||||
if (!RC.nrmac)
|
||||
ERROR_MSG_RET("no MAC/RLC present, cannot trigger reestablishment\n");
|
||||
int rnti = fetch_rnti(buf, prnt);
|
||||
if (rnti < 0)
|
||||
ERROR_MSG_RET("could not identify UE (no UE, no such RNTI, or multiple UEs)\n");
|
||||
nr_rlc_test_trigger_reestablishment(rnti);
|
||||
prnt("Reset RLC counters of UE RNTI %04x to trigger reestablishment\n", rnti);
|
||||
return 0;
|
||||
@@ -199,6 +201,8 @@ int force_ul_failure(char *buf, int debug, telnet_printfunc_t prnt)
|
||||
if (!RC.nrmac)
|
||||
ERROR_MSG_RET("no MAC/RLC present, force_ul_failure failed\n");
|
||||
int rnti = fetch_rnti(buf, prnt);
|
||||
if (rnti < 0)
|
||||
ERROR_MSG_RET("could not identify UE (no UE, no such RNTI, or multiple UEs)\n");
|
||||
NR_UE_info_t *UE = find_nr_UE(&RC.nrmac[0]->UE_info, rnti);
|
||||
nr_mac_trigger_ul_failure(&UE->UE_sched_ctrl, UE->current_UL_BWP.scs);
|
||||
return 0;
|
||||
@@ -208,6 +212,8 @@ int force_ue_release(char *buf, int debug, telnet_printfunc_t prnt)
|
||||
{
|
||||
force_ul_failure(buf, debug, prnt);
|
||||
int rnti = fetch_rnti(buf, prnt);
|
||||
if (rnti < 0)
|
||||
ERROR_MSG_RET("could not identify UE (no UE, no such RNTI, or multiple UEs)\n");
|
||||
NR_UE_info_t *UE = find_nr_UE(&RC.nrmac[0]->UE_info, rnti);
|
||||
NR_UE_sched_ctrl_t *sched_ctrl = &UE->UE_sched_ctrl;
|
||||
sched_ctrl->ul_failure_timer = 2;
|
||||
@@ -215,6 +221,21 @@ int force_ue_release(char *buf, int debug, telnet_printfunc_t prnt)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_current_bwp(char *buf, int debug, telnet_printfunc_t prnt)
|
||||
{
|
||||
int rnti = fetch_rnti(buf, prnt);
|
||||
if (rnti < 0)
|
||||
ERROR_MSG_RET("could not identify UE (no UE, no such RNTI, or multiple UEs)\n");
|
||||
NR_UE_info_t *UE = find_nr_UE(&RC.nrmac[0]->UE_info, rnti);
|
||||
int dl_bwp = UE->current_DL_BWP.bwp_id;
|
||||
const char *dl_bwp_text = dl_bwp > 0 ? "dedicated" : "initial";
|
||||
int ul_bwp = UE->current_UL_BWP.bwp_id;
|
||||
const char *ul_bwp_text = ul_bwp > 0 ? "dedicated" : "initial";
|
||||
|
||||
prnt("UE %04x DL BWP ID %d (%s) UL BWP ID %d (%s)\n", UE->rnti, dl_bwp, dl_bwp_text, ul_bwp, ul_bwp_text);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static telnetshell_cmddef_t cicmds[] = {
|
||||
{"get_single_rnti", "", get_single_rnti},
|
||||
{"force_reestab", "[rnti(hex,opt)]", trigger_reestab},
|
||||
@@ -223,6 +244,7 @@ static telnetshell_cmddef_t cicmds[] = {
|
||||
{"force_ul_failure", "[rnti(hex,opt)]", force_ul_failure},
|
||||
{"trigger_f1_ho", "[rrc_ue_id(int,opt)]", rrc_gNB_trigger_f1_ho},
|
||||
{"fetch_du_by_ue_id", "[rrc_ue_id(int,opt)]", fetch_du_by_ue_id},
|
||||
{"get_current_bwp", "[rnti(hex,opt)]", get_current_bwp},
|
||||
{"", "", NULL},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user