Changes
#29577 (May 8, 2026, 8:38:08 AM)
nokia: rename vty settings, drop _site
All Nokia-specific vty settings previously had names beginning
with nokia_site, creating needless confusion for operators of
Nokia BTS models that are newer than *Site family. Rename these
vty settings to begin with just nokia, with nokia_site supported
as a backward compatibility alias.
Change-Id: I807c0ad14f4436a21f0be0a5ed291539cd4af7e8
All Nokia-specific vty settings previously had names beginning
with nokia_site, creating needless confusion for operators of
Nokia BTS models that are newer than *Site family. Rename these
vty settings to begin with just nokia, with nokia_site supported
as a backward compatibility alias.
Change-Id: I807c0ad14f4436a21f0be0a5ed291539cd4af7e8
falcon
at
#29575 (May 8, 2026, 8:28:08 AM)
vty: update help string for nokia_site model
Original Nokia BTS support in OsmoBSC was limited to MetroSite,
UltraSite and InSite, aka the Site family. After the recent series
of fixes, the same code also supports Flexi Multiradio (actively
used in the present) and will most likely also work on Flexi EDGE
(intermediate between UltraSite and Flexi MR), although that model
is currently untested.
BTS model name "nokia_site" is thus outdated and inaccurate now.
It has been decided (see https://gerrit.osmocom.org/c/osmo-bsc/+/42729)
to keep this model name unchanged for now, given the uncertainty
of how Nokia BTS support will evolve in the future if and when
we implement support for IP Abis on Flexi family, potentially
followed by future support for subsequent IP-only models.
In the meantime, change vty help string to reflect current support
for both Site and Flexi families with the same model selection.
Change-Id: I8a2d91aacc984e6a818f9782e728674306f4ebe4
Original Nokia BTS support in OsmoBSC was limited to MetroSite,
UltraSite and InSite, aka the Site family. After the recent series
of fixes, the same code also supports Flexi Multiradio (actively
used in the present) and will most likely also work on Flexi EDGE
(intermediate between UltraSite and Flexi MR), although that model
is currently untested.
BTS model name "nokia_site" is thus outdated and inaccurate now.
It has been decided (see https://gerrit.osmocom.org/c/osmo-bsc/+/42729)
to keep this model name unchanged for now, given the uncertainty
of how Nokia BTS support will evolve in the future if and when
we implement support for IP Abis on Flexi family, potentially
followed by future support for subsequent IP-only models.
In the meantime, change vty help string to reflect current support
for both Site and Flexi families with the same model selection.
Change-Id: I8a2d91aacc984e6a818f9782e728674306f4ebe4
falcon
at
#29571 (May 7, 2026, 7:23:08 PM)
gsm_set_bts_type(): fix switch statement
The switch statement on (bts->type) in this function exhibited
two defects:
1) From the beginning, each unhandled BTS type was listed explicitly,
instead of providing a default case;
2) When Nokia-specific initialization was added in 2015,
the addition was erroneously applied to GSM_BTS_TYPE_BS11
and GSM_BTS_TYPE_UNKNOWN cases, besides the intended case
of GSM_BTS_TYPE_NOKIA_SITE.
Fixes: 56e1766dba1a03e304e51d079e65406542e7887c
Change-Id: Ibf500c373b69a69182885d5e700abc6fb1b03ccd
The switch statement on (bts->type) in this function exhibited
two defects:
1) From the beginning, each unhandled BTS type was listed explicitly,
instead of providing a default case;
2) When Nokia-specific initialization was added in 2015,
the addition was erroneously applied to GSM_BTS_TYPE_BS11
and GSM_BTS_TYPE_UNKNOWN cases, besides the intended case
of GSM_BTS_TYPE_NOKIA_SITE.
Fixes: 56e1766dba1a03e304e51d079e65406542e7887c
Change-Id: Ibf500c373b69a69182885d5e700abc6fb1b03ccd
falcon
at
#29560 (May 5, 2026, 10:13:06 PM)
nokia cosmetic: add bts_is_insite() function
Nokia InSite gets a different config than the larger Nokia BTS models,
and make_bts_config() function checks the BTS type to decide which
config to send. Change the BTS type check from a long 'if' line that
compares against 3 different InSite BTS type codes to bts_is_insite()
helper function that encapsulates a switch statement.
Upcoming code additions will need to check for Flexi Multiradio BTS
family in a similar manner - so be consistent.
Change-Id: I44bbcd79d9741f1df280b6b2391f04f754598035
Nokia InSite gets a different config than the larger Nokia BTS models,
and make_bts_config() function checks the BTS type to decide which
config to send. Change the BTS type check from a long 'if' line that
compares against 3 different InSite BTS type codes to bts_is_insite()
helper function that encapsulates a switch statement.
Upcoming code additions will need to check for Flexi Multiradio BTS
family in a similar manner - so be consistent.
Change-Id: I44bbcd79d9741f1df280b6b2391f04f754598035
falcon
at
nokia cosmetic: factor out BTS_CONF_COMPL handling
When the BTS accepts the config sent to it via BTS_CONF_DATA, it
responds with BTS_CONF_COMPL. Upon receiving the latter message,
we have to send TRX unlock and TRX reset commands, and we have to
start LAPD for RSL. Factor out this logic into a helper function,
to reduce the level of indentation and make it easier to extend.
Change-Id: I26e9b25ba4e68e945f7dd8a632009cc3683a322c
When the BTS accepts the config sent to it via BTS_CONF_DATA, it
responds with BTS_CONF_COMPL. Upon receiving the latter message,
we have to send TRX unlock and TRX reset commands, and we have to
start LAPD for RSL. Factor out this logic into a helper function,
to reduce the level of indentation and make it easier to extend.
Change-Id: I26e9b25ba4e68e945f7dd8a632009cc3683a322c
falcon
at
Nokia Flexi Multiradio: reset non-BCCH TRX
In the case of MetroSite and UltraSite BTS, it has been determined
empirically that TRX reset needs to be skipped for non-BCCH TRX.
However, the opposite situation holds on Flexi MR: non-BCCH TRX
do need to be reset, or they fail to come up. Solution:
conditionalize reset of non-BCCH TRX on Nokia BTS type.
Change-Id: I270c1ffab074c1e5a43ab9dfa103725a1518f718
In the case of MetroSite and UltraSite BTS, it has been determined
empirically that TRX reset needs to be skipped for non-BCCH TRX.
However, the opposite situation holds on Flexi MR: non-BCCH TRX
do need to be reset, or they fail to come up. Solution:
conditionalize reset of non-BCCH TRX on Nokia BTS type.
Change-Id: I270c1ffab074c1e5a43ab9dfa103725a1518f718
falcon
at
#29552 (May 4, 2026, 9:18:08 AM)
nokia: make Rx diversity configurable
The config structure sent to the BTS with BTS_CONF_DATA includes
an IE that enables or disables Rx diversity. In the original code
this setting was hard-coded to enabled state; make it configurable
via vty.
Change-Id: I73bd91b717a8c8b338bacb6ed9db73bb07245c12
The config structure sent to the BTS with BTS_CONF_DATA includes
an IE that enables or disables Rx diversity. In the original code
this setting was hard-coded to enabled state; make it configurable
via vty.
Change-Id: I73bd91b717a8c8b338bacb6ed9db73bb07245c12
falcon
at
nokia bts-reset-timer: raise the maximum to 300 s
The previous vty tuning range for this timer (allowing up to 100 s)
is not sufficient for Flexi Multiradio BTS, where we need 120 s
minimum or 130 s for some margin. Raise the upper limit for vty
config of this parameter to 5 min, which should be long enough
to not require further revisiting.
Change-Id: Ie5b784c9cce56e27800084471a7fb0b867cc0c69
The previous vty tuning range for this timer (allowing up to 100 s)
is not sufficient for Flexi Multiradio BTS, where we need 120 s
minimum or 130 s for some margin. Raise the upper limit for vty
config of this parameter to 5 min, which should be long enough
to not require further revisiting.
Change-Id: Ie5b784c9cce56e27800084471a7fb0b867cc0c69
falcon
at
nokia: respond to BTS_COMMISS_TEST_REQ
In some cases, Flexi Multiradio BTS sends us BTS_COMMISS_TEST_REQ
during its init process, and expects us to respond with
BTS_COMMISS_TEST_COMPL, indicating that we did the requested
commissioning tests. While we don't do any actual tests currently,
and we have not yet reached an understanding of the exact conditions
as to when the BTS makes this query of us, if it does send us
BTS_COMMISS_TEST_REQ, we need to respond with BTS_COMMISS_TEST_COMPL
to make it happy.
Change-Id: I0f2710c3cdb38a9e5b37e40ca5584237a730a902
In some cases, Flexi Multiradio BTS sends us BTS_COMMISS_TEST_REQ
during its init process, and expects us to respond with
BTS_COMMISS_TEST_COMPL, indicating that we did the requested
commissioning tests. While we don't do any actual tests currently,
and we have not yet reached an understanding of the exact conditions
as to when the BTS makes this query of us, if it does send us
BTS_COMMISS_TEST_REQ, we need to respond with BTS_COMMISS_TEST_COMPL
to make it happy.
Change-Id: I0f2710c3cdb38a9e5b37e40ca5584237a730a902
falcon
at
rsl: don't send legacy Chan Ident IE for Nokia BTS
The description of CHAN ACTIV command message in TS 48.058
section 8.4.1 lists Channel Identification as an optional IE,
with a note that reads "Included if compatibility with phase1
is required." This note may have been misinterpreted as
referring to compatibility with Phase 1 phones - but since
this network-internal Abis detail is invisible to phones,
the real intent of GSM spec authors here must have been
compatibility with Phase 1 BTS.
Previous versions of OsmoBSC would always include this IE,
and it appears that all previously supported BTS models
would simply ignore it. However, newer Nokia BTS models
(observed on Flexi Multiradio at least) dislike this IE
and return CHAN ACTIV NACK with an optional IE error cause
if it is included.
To avoid changing OsmoBSC behavior for other users, let us
conditionalize removal of this legacy IE on Nokia BTS for now.
This change has been tested on InSite, MetroSite and Flexi
Multiradio - no adverse effects on previously supported
*Site models.
Change-Id: Ibce7a841907ac87ae378ded3ddb174d38b70b7b7
The description of CHAN ACTIV command message in TS 48.058
section 8.4.1 lists Channel Identification as an optional IE,
with a note that reads "Included if compatibility with phase1
is required." This note may have been misinterpreted as
referring to compatibility with Phase 1 phones - but since
this network-internal Abis detail is invisible to phones,
the real intent of GSM spec authors here must have been
compatibility with Phase 1 BTS.
Previous versions of OsmoBSC would always include this IE,
and it appears that all previously supported BTS models
would simply ignore it. However, newer Nokia BTS models
(observed on Flexi Multiradio at least) dislike this IE
and return CHAN ACTIV NACK with an optional IE error cause
if it is included.
To avoid changing OsmoBSC behavior for other users, let us
conditionalize removal of this legacy IE on Nokia BTS for now.
This change has been tested on InSite, MetroSite and Flexi
Multiradio - no adverse effects on previously supported
*Site models.
Change-Id: Ibce7a841907ac87ae378ded3ddb174d38b70b7b7
falcon
at
#29537 (May 1, 2026, 3:33:06 PM)
nokia: add support for Flexi Multiradio
Previous support existed for Nokia MetroSite, UltraSite and InSite
models, resulting in BTS model name "nokia_site". However, there
exist newer Nokia BTS models that also support E1 Abis and can be
supported by OsmoBSC with relatively small changes: Flexi EDGE,
Flexi Multiradio and Flexi Multiradio 10. Out of these newer
models, American 2G Cooperative (the present patch author's current
organization) has only Flexi MR at the present time - hence this
model shall be the first "new" Nokia BTS to be supported.
The first change required in order to support Flexi MR is ability
to receive long OML messages that have been segmented by the BTS:
the new BTS sends a much longer BTS_CONF_REQ message, and we have
to handle it correctly.
Change-Id: Icd429552c3b5e90d6c5d3ae5f52afd6550e3cebc
Previous support existed for Nokia MetroSite, UltraSite and InSite
models, resulting in BTS model name "nokia_site". However, there
exist newer Nokia BTS models that also support E1 Abis and can be
supported by OsmoBSC with relatively small changes: Flexi EDGE,
Flexi Multiradio and Flexi Multiradio 10. Out of these newer
models, American 2G Cooperative (the present patch author's current
organization) has only Flexi MR at the present time - hence this
model shall be the first "new" Nokia BTS to be supported.
The first change required in order to support Flexi MR is ability
to receive long OML messages that have been segmented by the BTS:
the new BTS sends a much longer BTS_CONF_REQ message, and we have
to handle it correctly.
Change-Id: Icd429552c3b5e90d6c5d3ae5f52afd6550e3cebc
falcon
at
nokia vty: change help strings away from "*Site"
Support for Nokia BTS in OsmoBSC is being expanded from just *Site
family to also include Flexi Multiradio - therefore, help strings
and error messages in vty should be changed accordingly.
FIXME: names of Nokia-specific vty settings still begin with
nokia_site, ditto for the name of the BTS model. TODO: decide
on a proper long-term solution.
Change-Id: I55556b7b5aa5bc6efcbee815e9011497a933697c
Support for Nokia BTS in OsmoBSC is being expanded from just *Site
family to also include Flexi Multiradio - therefore, help strings
and error messages in vty should be changed accordingly.
FIXME: names of Nokia-specific vty settings still begin with
nokia_site, ditto for the name of the BTS model. TODO: decide
on a proper long-term solution.
Change-Id: I55556b7b5aa5bc6efcbee815e9011497a933697c
falcon
at
nokia skip-reset: make consistent with other vty settings
All other Nokia-specific vty settings use is_nokia_bts() helper
function, while the code for skip-reset directly compares
bts->type against GSM_BTS_TYPE_NOKIA_SITE. Change to use the
helper function: it is consistent with other vty settings,
and avoids one more place that erroneously refers to *Site
instead of all Nokia BTS.
Change-Id: Ie8cdac51f82185e2d4f37a8da00acba633670052
All other Nokia-specific vty settings use is_nokia_bts() helper
function, while the code for skip-reset directly compares
bts->type against GSM_BTS_TYPE_NOKIA_SITE. Change to use the
helper function: it is consistent with other vty settings,
and avoids one more place that erroneously refers to *Site
instead of all Nokia BTS.
Change-Id: Ie8cdac51f82185e2d4f37a8da00acba633670052
falcon
at
#29525 (Apr 29, 2026, 2:58:06 PM)
Cosmetic: bts_nokia_site: fix comment formatting
Ensure each line of a multiline comment starts with " * ".
Related: https://gerrit.osmocom.org/c/osmo-bsc/+/42712/comment/6aa80188_f56f2265/
Change-Id: I83ed16ec09fb66076dc2ba6a49ef272657b09407
Ensure each line of a multiline comment starts with " * ".
Related: https://gerrit.osmocom.org/c/osmo-bsc/+/42712/comment/6aa80188_f56f2265/
Change-Id: I83ed16ec09fb66076dc2ba6a49ef272657b09407
laforge
at