gsm_bts: add version and variant details
* add version string to gsm_bts
* add PCU version string to gsm_bts
* rename GSM_BTS_TYPE_OSMO_SYSMO -> GSM_BTS_OSMOBTS to avoid confusion
between BTS model and variant
* add variant enum to gsm_bts_model using enum with variants for each
hw vendor of OsmoBTS
* show connected PCU version (if available) in vty via 'show bts'
This will come in handy when logging details regarding particular BTS
reported via OML, see:
Related: OS#1614
Change-Id: I6710d53115f34634a7b70969cc05fd5c72ff8ab2
diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index 651ca02..56b6fcf 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -738,7 +738,7 @@
switch (bts_type) {
case GSM_BTS_TYPE_NANOBTS:
- case GSM_BTS_TYPE_OSMO_SYSMO:
+ case GSM_BTS_TYPE_OSMOBTS:
rc = abis_nm_rx_ipacc(mb);
abis_nm_queue_send_next(sign_link->trx->bts);
break;
@@ -1723,7 +1723,7 @@
}
*reason = "Unknown combination";
return -EINVAL;
- case GSM_BTS_TYPE_OSMO_SYSMO:
+ case GSM_BTS_TYPE_OSMOBTS:
/* no known restrictions */
return 0;
default:
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index 66b30cd..c1882fc 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -245,6 +245,9 @@
bts->num_trx, VTY_NEWLINE);
vty_out(vty, "Description: %s%s",
bts->description ? bts->description : "(null)", VTY_NEWLINE);
+ if (strnlen(bts->pcu_version, MAX_VERSION_LENGTH))
+ vty_out(vty, "PCU version %s connected%s", bts->pcu_version,
+ VTY_NEWLINE);
vty_out(vty, "MS Max power: %u dBm%s", bts->ms_max_power, VTY_NEWLINE);
vty_out(vty, "Minimum Rx Level for Access: %i dBm%s",
rxlev2dbm(bts->si_common.cell_sel_par.rxlev_acc_min),
@@ -649,7 +652,7 @@
bts->early_classmark_allowed ? "allowed" : "forbidden", VTY_NEWLINE);
switch (bts->type) {
case GSM_BTS_TYPE_NANOBTS:
- case GSM_BTS_TYPE_OSMO_SYSMO:
+ case GSM_BTS_TYPE_OSMOBTS:
vty_out(vty, " ip.access unit_id %u %u%s",
bts->ip_access.site_id, bts->ip_access.bts_id, VTY_NEWLINE);
if (bts->ip_access.rsl_ip) {
diff --git a/openbsc/src/libbsc/bts_sysmobts.c b/openbsc/src/libbsc/bts_sysmobts.c
index e1bf661..e4b6cdc 100644
--- a/openbsc/src/libbsc/bts_sysmobts.c
+++ b/openbsc/src/libbsc/bts_sysmobts.c
@@ -46,7 +46,7 @@
{
model_sysmobts = bts_model_nanobts;
model_sysmobts.name = "sysmobts";
- model_sysmobts.type = GSM_BTS_TYPE_OSMO_SYSMO;
+ model_sysmobts.type = GSM_BTS_TYPE_OSMOBTS;
model_sysmobts.features.data = &model_sysmobts._features_data[0];
model_sysmobts.features.data_len =
diff --git a/openbsc/src/libbsc/e1_config.c b/openbsc/src/libbsc/e1_config.c
index 8910d21..d57dec5 100644
--- a/openbsc/src/libbsc/e1_config.c
+++ b/openbsc/src/libbsc/e1_config.c
@@ -179,7 +179,7 @@
/* skip signal link initialization, this is done later for these BTS. */
if (bts->type == GSM_BTS_TYPE_NANOBTS ||
- bts->type == GSM_BTS_TYPE_OSMO_SYSMO)
+ bts->type == GSM_BTS_TYPE_OSMOBTS)
return e1inp_line_update(line);
/* OML link */
diff --git a/openbsc/src/libbsc/system_information.c b/openbsc/src/libbsc/system_information.c
index a2dd827..2610331 100644
--- a/openbsc/src/libbsc/system_information.c
+++ b/openbsc/src/libbsc/system_information.c
@@ -830,7 +830,7 @@
/* ip.access nanoBTS needs l2_plen!! */
switch (bts->type) {
case GSM_BTS_TYPE_NANOBTS:
- case GSM_BTS_TYPE_OSMO_SYSMO:
+ case GSM_BTS_TYPE_OSMOBTS:
*output++ = GSM48_LEN2PLEN(l2_plen);
l2_plen++;
break;
@@ -865,7 +865,7 @@
/* ip.access nanoBTS needs l2_plen!! */
switch (bts->type) {
case GSM_BTS_TYPE_NANOBTS:
- case GSM_BTS_TYPE_OSMO_SYSMO:
+ case GSM_BTS_TYPE_OSMOBTS:
*output++ = GSM48_LEN2PLEN(l2_plen);
l2_plen++;
break;
@@ -909,7 +909,7 @@
/* ip.access nanoBTS needs l2_plen!! */
switch (bts->type) {
case GSM_BTS_TYPE_NANOBTS:
- case GSM_BTS_TYPE_OSMO_SYSMO:
+ case GSM_BTS_TYPE_OSMOBTS:
*output++ = GSM48_LEN2PLEN(l2_plen);
l2_plen++;
break;
@@ -946,7 +946,7 @@
/* ip.access nanoBTS needs l2_plen!! */
switch (bts->type) {
case GSM_BTS_TYPE_NANOBTS:
- case GSM_BTS_TYPE_OSMO_SYSMO:
+ case GSM_BTS_TYPE_OSMOBTS:
*output++ = GSM48_LEN2PLEN(l2_plen);
l2_plen++;
break;