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/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25869 )
Change subject: [overpower] VTY: add more ACCH overpower related parameters
......................................................................
[overpower] VTY: add more ACCH overpower related parameters
The new fields in 'struct abis_rsl_osmo_temp_ovp_acch_cap' allow:
* selectively enabling SACCH and/or FACCH,
* setting the RxQual (BER) threshold.
Change-Id: Ia2e01e11d718ea0ba2a7e49ae2b871d57991f31c
Depends: Ia28293a12de0af71f55e701fb65c46e905dae217
Related: SYS#5319
---
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_vty.c
2 files changed, 67 insertions(+), 17 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/69/25869/1
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c
index fe18b59..21ee01a 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -352,7 +352,9 @@
acc_mgr_init(&bts->acc_mgr, bts);
acc_ramp_init(&bts->acc_ramp, bts);
+ /* Default RxQual threshold for ACCH repetition/overpower */
bts->repeated_acch_policy.rxqual = 4;
+ bts->temporary_overpower.rxqual = 4;
/* MS Power Control parameters (defaults) */
power_ctrl_params_def_reset(&bts->ms_power_ctrl, GSM_PWR_CTRL_DIR_UL);
diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c
index 8eae2a4..fe2616a 100644
--- a/src/osmo-bsc/bts_vty.c
+++ b/src/osmo-bsc/bts_vty.c
@@ -716,21 +716,25 @@
return CMD_SUCCESS;
}
+/* See 3GPP TS 45.008, section 8.2.4 */
+#define RXQUAL_THRESH_CMD \
+ "rxqual (0|1|2|3|4|5|6|7)"
+#define RXQUAL_THRESH_CMD_DESC \
+ "Set Uplink RxQual (BER) threshold (default 4)\n" \
+ "BER >= 0% (always on)\n" \
+ "BER >= 0.2%\n" \
+ "BER >= 0.4%\n" \
+ "BER >= 0.8%\n" \
+ "BER >= 1.6%\n" \
+ "BER >= 3.2%\n" \
+ "BER >= 6.4%\n" \
+ "BER >= 12.8%\n"
+
DEFUN_USRATTR(cfg_bts_rep_rxqual,
cfg_bts_rep_rxqual_cmd,
X(BSC_VTY_ATTR_NEW_LCHAN),
- "repeat rxqual (0|1|2|3|4|5|6|7)",
- REP_ACCH_STR
- "Set UL-SACCH/DL-FACCH rxqual threshold-ber\n"
- "0 disabled (always on)\n"
- "1 BER >= 0.2%\n"
- "2 BER >= 0.4%\n"
- "3 BER >= 0.8%\n"
- "4 BER >= 1.6% (default)\n"
- "5 BER >= 3.2%\n"
- "6 BER >= 6.4%\n"
- "7 BER >= 12.8%\n")
- /* See also: GSM 05.08, section 8.2.4 */
+ "repeat " RXQUAL_THRESH_CMD,
+ REP_ACCH_STR RXQUAL_THRESH_CMD_DESC)
{
struct gsm_bts *bts = vty->index;
@@ -751,9 +755,11 @@
DEFUN_USRATTR(cfg_bts_top_dl_acch,
cfg_bts_top_dl_acch_cmd,
X(BSC_VTY_ATTR_NEW_LCHAN),
- "overpower dl-acch <1-4>",
+ "overpower (dl-acch|dl-sacch|dl-facch) <1-4>",
TOP_ACCH_STR
- "Enable ACCH overpower for this BTS\n"
+ "Enable overpower for both SACCH and FACCH\n"
+ "Enable overpower for SACCH only\n"
+ "Enable overpower for FACCH only\n"
"Overpower value in dB\n")
{
struct gsm_bts *bts = vty->index;
@@ -764,7 +770,12 @@
return CMD_WARNING;
}
- bts->temporary_overpower.overpower_db = atoi(argv[0]);
+ if (!strncmp(argv[0], "dl-acch") || !strncmp(argv[0], "dl-sacch"))
+ bts->temporary_overpower.sacch = 1;
+ if (!strncmp(argv[0], "dl-acch") || !strncmp(argv[0], "dl-facch"))
+ bts->temporary_overpower.facch = 1;
+ bts->temporary_overpower.overpower_db = atoi(argv[1]);
+
return CMD_SUCCESS;
}
@@ -778,6 +789,27 @@
struct gsm_bts *bts = vty->index;
bts->temporary_overpower.overpower_db = 0;
+ bts->temporary_overpower.sacch = 0;
+ bts->temporary_overpower.facch = 0;
+
+ return CMD_SUCCESS;
+}
+
+DEFUN_USRATTR(cfg_bts_top_dl_acch_rxqual,
+ cfg_bts_top_dl_acch_rxqual_cmd,
+ X(BSC_VTY_ATTR_NEW_LCHAN),
+ "overpower " RXQUAL_THRESH_CMD,
+ TOP_ACCH_STR RXQUAL_THRESH_CMD_DESC)
+{
+ struct gsm_bts *bts = vty->index;
+
+ if (bts->model->type != GSM_BTS_TYPE_OSMOBTS) {
+ vty_out(vty, "%% ACCH overpower is not supported by BTS %u%s",
+ bts->nr, VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ bts->temporary_overpower.rxqual = atoi(argv[0]);
return CMD_SUCCESS;
}
@@ -4257,8 +4289,23 @@
ho_vty_write_bts(vty, bts);
- if (bts->temporary_overpower.overpower_db > 0)
- vty_out(vty, " overpower dl-acch %u%s", bts->temporary_overpower.overpower_db, VTY_NEWLINE);
+ if (bts->temporary_overpower.overpower_db > 0) {
+ const struct abis_rsl_osmo_temp_ovp_acch_cap *top = \
+ &bts->temporary_overpower;
+ const char *mode = NULL;
+
+ if (top->sacch && top->facch)
+ mode = "dl-acch";
+ else if (top->sacch)
+ mode = "dl-sacch";
+ else if (top->facch)
+ mode = "dl-facch";
+
+ vty_out(vty, " overpower %s %u%s",
+ mode, top->overpower_db, VTY_NEWLINE);
+ vty_out(vty, " overpower rxqual %u%s",
+ mode, top->rxqual, VTY_NEWLINE);
+ }
if (bts->repeated_acch_policy.dl_facch_all)
vty_out(vty, " repeat dl-facch all%s", VTY_NEWLINE);
@@ -4477,6 +4524,7 @@
install_element(BTS_NODE, &cfg_bts_rep_rxqual_cmd);
install_element(BTS_NODE, &cfg_bts_top_dl_acch_cmd);
install_element(BTS_NODE, &cfg_bts_top_no_dl_acch_cmd);
+ install_element(BTS_NODE, &cfg_bts_top_dl_acch_rxqual_cmd);
install_element(BTS_NODE, &cfg_bts_interf_meas_avg_period_cmd);
install_element(BTS_NODE, &cfg_bts_interf_meas_level_bounds_cmd);
install_element(BTS_NODE, &cfg_bts_srvcc_fast_return_cmd);
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25869
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ia2e01e11d718ea0ba2a7e49ae2b871d57991f31c
Gerrit-Change-Number: 25869
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211020/3ac0cf49/attachment.htm>