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 uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14896 Change subject: bts-trx: Introduce VTY command osmotrx trxd-max-version ...................................................................... bts-trx: Introduce VTY command osmotrx trxd-max-version This command allows setting a maximum TRXD format version to negotiate with TRX. osmo-bts-trx will hence end up using that version if supported by TRX, or a lower one otherwise (or fail if TRX doesn't support any of them). Since now the maximum version can be 0, avoid going through SETFORMAT negotiation in that case, since 0 is the default version. This way we keep backward compatibility with TRX implementations that exit upon receival of unknown commands (such as SC5 current one). Related: OS#4006 Change-Id: I5eb1fdc002f9d7f4acf475356d8fc998dc8f6326 --- M include/osmo-bts/phy_link.h M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_vty.c 4 files changed, 32 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/96/14896/1 diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 273103c..3bf5159 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -50,6 +50,7 @@ uint32_t clock_advance; uint32_t rts_advance; bool use_legacy_setbsic; + uint8_t trxd_hdr_ver_max; /* Maximum TRXD header version to negotiate */ } osmotrx; struct { char *mcast_dev; /* Network device for multicast */ diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 9c1dc18..22ef2d7 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -185,6 +185,7 @@ int l1if_provision_transceiver_trx(struct trx_l1h *l1h) { uint8_t tn; + struct phy_link *plink = l1h->phy_inst->phy_link; if (!transceiver_available) return -EIO; @@ -208,10 +209,11 @@ l1h->config.bsic_sent = 1; } - /* Ask transceiver to use the newest TRXD header version */ - if (!l1h->config.setformat_sent) { - trx_if_cmd_setformat(l1h, TRX_DATA_FORMAT_VER); - l1h->config.trxd_hdr_ver_req = TRX_DATA_FORMAT_VER; + /* Ask transceiver to use the newest TRXD header version if not using it yet */ + if (!l1h->config.setformat_sent && + l1h->config.trxd_hdr_ver_use != plink->u.osmotrx.trxd_hdr_ver_max) { + trx_if_cmd_setformat(l1h, plink->u.osmotrx.trxd_hdr_ver_max); + l1h->config.trxd_hdr_ver_req = plink->u.osmotrx.trxd_hdr_ver_max; l1h->config.setformat_sent = 1; } diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 9529190..b1fa207 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -134,6 +134,8 @@ plink->u.osmotrx.trx_ta_loop = true; plink->u.osmotrx.trx_ms_power_loop = false; plink->u.osmotrx.trx_target_rssi = -10; + /* attempt use newest TRXD version by default: */ + plink->u.osmotrx.trxd_hdr_ver_max = TRX_DATA_FORMAT_VER; } void bts_model_phy_instance_set_defaults(struct phy_instance *pinst) diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index b9af445..21b21bd 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -496,6 +496,25 @@ return CMD_SUCCESS; } +DEFUN(cfg_phy_trxd_max_version, cfg_phy_trxd_max_version_cmd, + "osmotrx trxd-max-version <-1-15>", OSMOTRX_STR + "Set maximum TRXD format version to negotiate with TRX\n" + "The maximum TRXD format version to negotiate with TRX (-1 for highest supported, default)\n") +{ + struct phy_link *plink = vty->index; + + int max_ver = atoi(argv[0]); + if (max_ver == -1) + max_ver = TRX_DATA_FORMAT_VER; + if (max_ver > TRX_DATA_FORMAT_VER) { + vty_out(vty, "%% Format version %d is not supported by osmo-bts-trx%s", max_ver, VTY_NEWLINE); + return CMD_WARNING; + } + plink->u.osmotrx.trxd_hdr_ver_max = max_ver; + + return CMD_SUCCESS; +} + void bts_model_config_write_phy(struct vty *vty, struct phy_link *plink) { if (plink->u.osmotrx.local_ip) @@ -525,6 +544,9 @@ if (plink->u.osmotrx.use_legacy_setbsic) vty_out(vty, " osmotrx legacy-setbsic%s", VTY_NEWLINE); + + if (plink->u.osmotrx.trxd_hdr_ver_max != TRX_DATA_FORMAT_VER) + vty_out(vty, " osmotrx trxd-max-version %d%s", plink->u.osmotrx.trxd_hdr_ver_max, VTY_NEWLINE); } void bts_model_config_write_phy_inst(struct vty *vty, struct phy_instance *pinst) @@ -584,6 +606,7 @@ install_element(PHY_NODE, &cfg_phy_osmotrx_ip_cmd); install_element(PHY_NODE, &cfg_phy_setbsic_cmd); install_element(PHY_NODE, &cfg_phy_no_setbsic_cmd); + install_element(PHY_NODE, &cfg_phy_trxd_max_version_cmd); install_element(PHY_INST_NODE, &cfg_phyinst_rxgain_cmd); install_element(PHY_INST_NODE, &cfg_phyinst_tx_atten_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5eb1fdc002f9d7f4acf475356d8fc998dc8f6326 Gerrit-Change-Number: 14896 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190722/61f8ba5f/attachment.htm>