This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18980 ) Change subject: bts: Introduce test TC_tx_power_start_ramp_down_bcch ...................................................................... bts: Introduce test TC_tx_power_start_ramp_down_bcch Change-Id: I895d69394a0123ae32b336c9ffaff615ba657f12 --- M bts/BTS_Tests.ttcn 1 file changed, 118 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9ebd952..a60a50f 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -173,6 +173,9 @@ port TRXC_CODEC_PT BTS_TRXC; var integer g_bts_trxc_conn_id; + /* port to be initialized optionally to access BSC VTY */ + port TELNETasp_PT BSCVTY; + timer g_Tguard; timer g_Tmeas_exp := 2.0; /* >= 103 SACCH multiframe ~ 500ms */ @@ -374,6 +377,12 @@ f_vty_transceive(BSCVTY, "enable"); } +friend function f_connhdlr_init_vty_bsc() runs on ConnHdlr { + map(self:BSCVTY, system:BSCVTY); + f_vty_set_prompts(BSCVTY, "OsmoBSC"); + f_vty_transceive(BSCVTY, "enable"); +} + /* PCU socket may at any time receive a new INFO.ind */ private altstep as_pcu_info_ind(PCUIF_CODEC_PT pt, integer pcu_conn_id, out PCUIF_Message pcu_last_info) { @@ -2024,12 +2033,34 @@ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } -/* Verify Tx power reduction and ramping up during BTS bring up */ -function f_TC_tx_power_start_ramp_up_bcch(charstring id) runs on ConnHdlr { +/* Wait until the BTS has reached full tx power (nominal tx power minus configured attenuation) */ +private function f_wait_ramp_up() runs on ConnHdlr return integer { var L1ctlDlMessage l1_dl; - f_l1_tune(L1CTL); - RSL.clear; + var integer max_rx_lvl := mp_bts_tx_nom_pwr_exp - mp_bts_tx_pwr_att_exp; + timer Tup := 10.0; + Tup.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(t_RslChanNr_BCCH(0), ?)) -> value l1_dl { + var GsmRxLev rx_lvl := l1_dl.dl_info.rx_level; + log("Received rx_level=", rx_lvl); + if (rx_lvl != max_rx_lvl) { + repeat; + } + Tup.stop; + } + [] L1CTL.receive { repeat; } + [] Tup.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Didn't reach full power ", max_rx_lvl)); + } + } + return max_rx_lvl; +} + +/* verify BTS ramps power up to full tx power (nominal tx power minus configured attenuation) */ +private function f_verify_ramp_up() runs on ConnHdlr { + var L1ctlDlMessage l1_dl; var integer initial_rx_lvl := -1; var integer last_rx_lvl := -1; var integer max_rx_lvl := mp_bts_tx_nom_pwr_exp - mp_bts_tx_pwr_att_exp; @@ -2087,6 +2118,61 @@ log2str("No Tx power increase during whole ramp up: ", initial_rx_lvl , " -> ", last_rx_lvl)); } +} + +/* verify BTS ramps power down to rx_level 0 */ +private function f_verify_ramp_down(integer max_rx_lvl) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + var integer last_rx_lvl := max_rx_lvl; + + timer Tdown := 5.0; + Tdown.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(t_RslChanNr_BCCH(0), ?)) -> value l1_dl { + var GsmRxLev rx_lvl := l1_dl.dl_info.rx_level; + log("Received rx_level=", rx_lvl); + + /* received Rx level bigger than maximum allowed power by CN */ + if (rx_lvl > max_rx_lvl) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Detected Tx power higher than full power: ", + rx_lvl , " > ", max_rx_lvl)); + } + + /* Make sure it never increases, since we are rumping down */ + if (last_rx_lvl < rx_lvl) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Detected Tx power increase during ramp up: ", + last_rx_lvl , " -> ", rx_lvl)); + } + + last_rx_lvl := rx_lvl; + if (last_rx_lvl != 0) { + repeat; + } + /* we reached power level 0, we are done */ + Tdown.stop; + } + [] L1CTL.receive { repeat; } + [] Tdown.timeout { } + } + + /* We didn't increase tx power during ramp down */ + if (max_rx_lvl > last_rx_lvl) { + log("Tx power decreased during ramp down: ", max_rx_lvl , " -> ", last_rx_lvl); + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("No Tx power decrease during whole ramp down: ", + max_rx_lvl , " -> ", last_rx_lvl)); + } +} + +/* Verify Tx power reduction and ramping up during BTS bring up */ +function f_TC_tx_power_start_ramp_up_bcch(charstring id) runs on ConnHdlr { + f_l1_tune(L1CTL); + RSL.clear; + + f_verify_ramp_up(); setverdict(pass); } @@ -2101,6 +2187,33 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +/* Verify Tx power reduction and ramping downd uring BTS bring shutdown due to Abis link failure */ +function f_TC_tx_power_start_ramp_down_bcch(charstring id) runs on ConnHdlr { + f_connhdlr_init_vty_bsc(); + + f_l1_tune(L1CTL); + RSL.clear; + + /* Wait until BTS is started and at full power */ + var integer max_rx_lvl := f_wait_ramp_up(); + log("Reached nominal level ", max_rx_lvl, ", shutting down OML link"); + + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + f_verify_ramp_down(max_rx_lvl); + + setverdict(pass); +} +testcase TC_tx_power_start_ramp_down_bcch() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + pars := valueof(t_Pars(t_RslChanNr_Bm(0), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_tx_power_start_ramp_down_bcch), pars, + pcu_comp := false, trxc_comp := true); + vc_conn.done; + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + function f_check_meas_bs_power_level(integer level) runs on ConnHdlr { timer T := 8.0; T.start; @@ -6519,6 +6632,7 @@ execute( TC_meas_res_sign_sdcch8() ); execute( TC_meas_res_sign_tchh_toa256() ); execute( TC_tx_power_start_ramp_up_bcch() ); + execute( TC_tx_power_start_ramp_down_bcch() ); execute( TC_rsl_bs_pwr_static_ass() ); execute( TC_rsl_bs_pwr_static_power_control() ); execute( TC_rsl_ms_pwr_ctrl() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I895d69394a0123ae32b336c9ffaff615ba657f12 Gerrit-Change-Number: 18980 Gerrit-PatchSet: 3 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de> Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200625/116c2f00/attachment.htm>