diff options
-rw-r--r-- | include/osmo-bts/phy_link.h | 2 | ||||
-rw-r--r-- | src/osmo-bts-octphy/l1_oml.c | 5 | ||||
-rw-r--r-- | src/osmo-bts-sysmo/l1_if.c | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index e8fd7eb7..4d1dadb1 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -75,7 +75,7 @@ struct phy_instance { struct llist_head list; int num; char *description; - + char version[MAX_VERSION_LENGTH]; /* pointer to the PHY link to which we belong */ struct phy_link *phy_link; diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 4652e103..ccef2314 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1140,14 +1140,14 @@ int l1if_check_app_sys_version(struct gsm_bts_trx *trx) LOGP(DL1C, LOGL_INFO, "Tx APP-INFO-SYSTEM.req\n"); - return l1if_req_compl(fl1h, msg, app_info_sys_compl_cb, 0); + return l1if_req_compl(fl1h, msg, app_info_sys_compl_cb, pinst); } static int app_info_compl_cb(struct octphy_hdl *fl1h, struct msgb *resp, void *data) { char ver_hdr[32]; - + struct phy_instance *pinst = data; tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP *air = (tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP *) resp->l2h; @@ -1171,6 +1171,7 @@ static int app_info_compl_cb(struct octphy_hdl *fl1h, struct msgb *resp, talloc_replace(fl1h->info.app.name, fl1h, air->szName); talloc_replace(fl1h->info.app.description, fl1h, air->szDescription); talloc_replace(fl1h->info.app.version, fl1h, air->szVersion); + osmo_strlcpy(pinst->version, ver_hdr, sizeof(pinst->version)); /* in a completion call-back, we take msgb ownership and must * release it before returning */ diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c index 60638e18..418d3f54 100644 --- a/src/osmo-bts-sysmo/l1_if.c +++ b/src/osmo-bts-sysmo/l1_if.c @@ -1875,6 +1875,10 @@ int bts_model_phy_link_open(struct phy_link *plink) hdl = pinst->u.sysmobts.hdl; osmo_strlcpy(bts->sub_model, sysmobts_model(hdl->hw_info.model_nr, hdl->hw_info.trx_nr), sizeof(bts->sub_model)); + talloc_asprintf(pinst->version, "%u.%u dsp %u.%u.%u fpga %u.%u.%u", + hdl->hw_info.ver_major, hdl->hw_info.ver_minor, + hdl->hw_info.dsp_version[0], hdl->hw_info.dsp_version[1], hdl->hw_info.dsp_version[2], + hdl->hw_info.fpga_version[0], hdl->hw_info.fpga_version[1], hdl->hw_info.fpga_version[2]); phy_link_state_set(plink, PHY_LINK_CONNECTED); |