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/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY Options are a,ab,b Default is 'a' so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 65 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index 51ec11b..a616015 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -48,6 +48,12 @@ OM2K_SYNC_SRC_EXTERNAL = 0x01, }; +enum om2k_rx_diversity { + OM2K_RX_DIVERSITY_B = 0x01, + OM2K_RX_DIVERSITY_A = 0x02, + OM2K_RX_DIVERSITY_AB = 0x03, +}; + /* on-wire format for IS conn group */ struct om2k_is_conn_grp { uint16_t icp1; @@ -151,6 +157,7 @@ struct vty; void abis_om2k_config_write_bts(struct vty *vty, struct gsm_bts *bts); +void abis_om2k_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx); const char *abis_om2k_mo_name(const struct abis_om2k_mo *mo); diff --git a/include/osmocom/bsc/bts_trx.h b/include/osmocom/bsc/bts_trx.h index 85adc9b..7c8ef52 100644 --- a/include/osmocom/bsc/bts_trx.h +++ b/include/osmocom/bsc/bts_trx.h @@ -13,6 +13,7 @@ #include <osmocom/abis/e1_input.h> #include "osmocom/bsc/gsm_data.h" +#include "osmocom/bsc/abis_om2000.h" struct gsm_bts; @@ -76,6 +77,7 @@ struct { struct om2k_mo om2k_mo; } tx; + enum om2k_rx_diversity rx_diversity; } rbs2000; }; struct gsm_bts_trx_ts ts[TRX_NR_TS]; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index edcf8cf..61db437 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1344,7 +1344,7 @@ /* OM2K_DEI_FREQ_SPEC_RX: Using trx_nr as "RX address" only works for single MCTR case */ msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_RX, 0x8000 | ((uint16_t)trx->nr << 10)); - msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, 0x02); /* A */ + msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, trx->rbs2000.rx_diversity); return abis_om2k_sendmsg(trx->bts, msg); } @@ -1518,7 +1518,7 @@ msgb_tv_put(msg, OM2K_DEI_HSN, ts->hopping.hsn); msgb_tv_put(msg, OM2K_DEI_MAIO, ts->hopping.maio); msgb_tv_put(msg, OM2K_DEI_BSIC, ts->trx->bts->bsic); - msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, 0x02); /* A */ + msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, ts->trx->rbs2000.rx_diversity); msgb_tv16_put(msg, OM2K_DEI_FN_OFFSET, 0); msgb_tv_put(msg, OM2K_DEI_EXT_RANGE, 0); /* Off */ /* Optional: Interference Rejection Combining */ @@ -3076,6 +3076,7 @@ trx_fi = om2k_trx_fsm_alloc(trx->bts->rbs2000.bts_fi, trx, OM2K_BTS_EVT_TRX_DONE); trx->rbs2000.trx_fi = trx_fi; + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_A; om2k_mo_init(&trx->rbs2000.trxc.om2k_mo, OM2K_MO_CLS_TRXC, bts->nr, 255, trx->nr); om2k_mo_fsm_alloc(trx_fi, OM2K_TRX_EVT_TRXC_DONE, trx, &trx->rbs2000.trxc.om2k_mo); diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 0c35b8f..675c84e 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -574,6 +574,33 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_trx_om2k_rx_diversity, + cfg_trx_om2k_rx_diversity_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), + "om2000 rx-diversity-mode (a|ab|b)", + OM2K_VTY_HELP + "RX Diversity\n" + "Antenna TX/RX (A)\n" + "Both Antennas\n" + "Antenna RX (B)\n") + +{ + struct gsm_bts_trx *trx = vty->index; + + if (trx->bts->type != GSM_BTS_TYPE_RBS2000) { + vty_out(vty, "%% Command only works for RBS2000%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + if (!strcmp(argv[0], "a")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_A; + else if (!strcmp(argv[0], "ab")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_AB; + else if (!strcmp(argv[0], "b")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_B; + return CMD_SUCCESS; +} DEFUN(om2k_conf_req, om2k_conf_req_cmd, "configuration-request", @@ -653,6 +680,24 @@ } } +static const struct value_string om2k_rx_diversity_names[4] = { + { OM2K_RX_DIVERSITY_A, "a" }, + { OM2K_RX_DIVERSITY_AB, "ab" }, + { OM2K_RX_DIVERSITY_B, "b" }, + { 0, NULL } +}; + +static const char *rx_diversity2str(enum om2k_rx_diversity type) +{ + return get_value_string(om2k_rx_diversity_names, type); +} + +void abis_om2k_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) +{ + vty_out(vty, " om2000 rx-diversity-mode %s%s", + rx_diversity2str(trx->rbs2000.rx_diversity), VTY_NEWLINE); +} + void abis_om2k_config_write_bts(struct vty *vty, struct gsm_bts *bts) { struct is_conn_group *igrp; @@ -786,5 +831,7 @@ install_element(BTS_NODE, &cfg_om2k_con_group_cmd); install_element(BTS_NODE, &del_om2k_con_group_cmd); + install_element(TRX_NODE, &cfg_trx_om2k_rx_diversity_cmd); + return 0; } diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index fa0dab8..7d29657 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -174,6 +174,11 @@ abis_om2k_config_write_bts(vty, bts); } +static void config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) +{ + abis_om2k_config_write_trx(vty, trx); +} + static int bts_model_rbs2k_start(struct gsm_network *net); static void bts_model_rbs2k_e1line_bind_ops(struct e1inp_line *line) @@ -201,6 +206,7 @@ .trx_init = bts_model_rbs2k_trx_init, .oml_rcvmsg = &abis_om2k_rcvmsg, .config_write_bts = &config_write_bts, + .config_write_trx = &config_write_trx, .e1line_bind_ops = &bts_model_rbs2k_e1line_bind_ops, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 7 Gerrit-Owner: javi-tic <javi at tic-ac.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith <keith at rhizomatica.org> Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-CC: fixeria <vyanitskiy at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210315/3fc7b58d/attachment.htm>