[PATH] Selecting the latest nanoBTS firmware on connect Re: nanoBTS bring up problem

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/OpenBSC@lists.osmocom.org/.

Alexander Chemeris alexander.chemeris at gmail.com
Wed Oct 24 18:49:36 UTC 2012


Hi all,

Here is a patch which selects the latest nanoBTS firmware when it
tries to connect to OpenBSC. This fixed the problem with NACKs for us.

Sometimes (like in our case) nanoBTS has two firmwares and could boot
any of them. Which one to boot is selected by a BSC during the initial
OML setup. Originally OpenBSC selected the first firmware available,
which gave us random results - sometimes the older firmware was
booted, sometimes the newer firmware was loaded. With this patch
OpenBSC always selects the latest firmware to boot (using simple
string comparison of firmware version strings). In our case this now
gives stable results.

PS I don't have time to improve this patch if it's too hackish to be
checked in, but I hope it will inspire someone to create a better one.

On Tue, Oct 23, 2012 at 4:10 PM, Ivan Kluchnikov
<Ivan.Kluchnikov at fairwaves.ru> wrote:
> Hi!
>
> We solved this problem, it seems, that ipaccess-config didn't work
> correctly for our nanoBTS.
> We set primary OML link IP and port using ipaccess-telnet and nanoBTS bring up.
> Now we have working osmo-nitb.
>
> 2012/10/23 Ivan Kluchnikov <Ivan.Kluchnikov at fairwaves.ru>:
>>  Hi all!
>>
>> We tried to deploy our nanoBTS with osmo-nitb, but unfortunately we
>> had no success.
>> We have the following logs for ipaccess-find, ipaccess-config,
>> osmo-nitb and ipaccess-telnet.
>> We would appreciate it, if someone gives us advice.
>> What does these logs mean?
>> Is it possible, that the problem is in firmware, and we should update it?
>>
>> ./ipaccess-find
>> MAC_Address='00:02:95:00:01:7e'  IP_Address='172.44.4.75'
>> Unit_ID='1801/0/0'  Location_1=''  Location_2='BTS_NBT131G'
>> Equipment_Version='110_029_13'  Software_Version='119a002_v149b18d0'
>> Unit_Name='nbts-00-02-95-00-01-7E'  Serial_Number='00024616'
>>
>>  ./ipaccess-config -n 0x400/0x400 172.44.4.75
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=BTS(01) INST=(00,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) STATE
>> CHG: OP_STATE=Disabled AVAIL=Not installed(07)
>> OML link established using TRX 0
>> setting NV Flags/Mask to 0x0400/0x0400
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,00) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,01) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,02) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,03) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,04) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,05) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,06) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,07) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=GPRS-NSVC(f2) INST=(00,00,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff)
>> IPACCESS(0xf0): SET NVATTR ACK
>> Set the NV Attributes.
>>
>>  ./osmo-nitb --debug=DRLL:DCC:DMM:DRR:DRSL:DNM -c openbsc.cfg
>> DB: Database initialized.
>> DB: Database prepared.
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=BTS(01) INST=(00,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) STATE
>> CHG: OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,00) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,01) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,02) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,03) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,04) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,05) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,06) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=CHANNEL(03) INST=(00,00,07) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=GPRS-NSVC(f2) INST=(00,00,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) SW Activate
>> Request: <0005> abis_nm.c:418 Software Activate Request, ACKing and
>> Activating
>> <0005> abis_nm.c:439 Found SW config: 42 12 00 08 31 31 39 61 30 30 32
>> 00 13 00 0a 76 31 34 39 62 31 38 64 30 00 42 12 00 08 31 31 39 61 30
>> 30 32 00 13 00 0a 76 32 30 39 62 32 36 64 30 00
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Not installed(07)
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) Software
>> Activated Report
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Off line(03)
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) Sending OPSTART
>> <0005> abis_nm.c:419 OC=BTS(01) INST=(00,ff,ff) SW Activate Request:
>> <0005> abis_nm.c:418 Software Activate Request, ACKing and Activating
>> <0005> abis_nm.c:439 Found SW config: 42 12 00 08 31 31 39 61 30 30 32
>> 00 13 00 0a 76 31 34 39 62 31 38 64 30 00
>> <0005> abis_nm.c:419 OC=GPRS-NSE(f0) INST=(00,ff,ff) SW Activate
>> Request: <0005> abis_nm.c:418 Software Activate Request, ACKing and
>> Activating
>> <0005> abis_nm.c:439 Found SW config: 42 12 00 08 31 31 39 61 30 30 32
>> 00 13 00 0a 76 31 34 39 62 31 38 64 30 00
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG:
>> OP_STATE=Enabled
>> <0005> abis_nm.c:419 OC=SITE-MANAGER(00) INST=(ff,ff,ff) Sending OPSTART
>> <0005> abis_nm.c:419 OC=BTS(01) INST=(00,ff,ff) Software Activated Report
>> <0005> abis_nm.c:419 OC=BTS(01) INST=(00,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Dependency(05)
>> <0005> abis_nm.c:1379 Set BTS Attr (bts=0)
>> <0005> abis_nm.c:419 OC=BTS(01) INST=(00,ff,ff) Sending OPSTART
>> <0005> abis_nm.c:419 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) SW
>> Activate Request: <0005> abis_nm.c:418 Software Activate Request,
>> ACKing and Activating
>> <0005> abis_nm.c:439 Found SW config: 42 12 00 08 31 31 39 61 30 30 31
>> 00 13 00 0a 76 32 30 39 62 32 36 64 30 00 42 12 00 08 31 31 39 61 30
>> 30 32 00 13 00 0a 76 31 34 39 62 31 38 64 30 00
>> <0005> abis_nm.c:419 OC=RADIO-CARRIER(02) INST=(00,00,ff) SW Activate
>> Request: <0005> abis_nm.c:418 Software Activate Request, ACKing and
>> Activating
>> <0005> abis_nm.c:439 Found SW config: 42 12 00 08 31 31 39 61 30 30 31
>> 00 13 00 0a 76 32 30 39 62 32 36 64 30 00 42 12 00 08 31 31 39 61 30
>> 30 32 00 13 00 0a 76 31 34 39 62 31 38 64 30 00
>> <0005> abis_nm.c:419 OC=GPRS-NSE(f0) INST=(00,ff,ff) Software Activated Report
>> <0005> abis_nm.c:419 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Dependency(05)
>> <0005> abis_nm.c:419 OC=GPRS-CELL(f1) INST=(00,00,ff) SW Activate
>> Request: <0005> abis_nm.c:418 Software Activate Request, ACKing and
>> Activating
>> <0005> abis_nm.c:439 Found SW config: 42 12 00 08 31 31 39 61 30 30 32
>> 00 13 00 0a 76 31 34 39 62 31 38 64 30 00
>> <0005> abis_nm.c:419 OC=GPRS-NSVC(f2) INST=(00,00,ff) SW Activate
>> Request: <0005> abis_nm.c:418 Software Activate Request, ACKing and
>> Activating
>> <0005> abis_nm.c:439 Found SW config: 42 12 00 08 31 31 39 61 30 30 32
>> 00 13 00 0a 76 31 34 39 62 31 38 64 30 00
>> <0005> abis_nm.c:419 OC=GPRS-NSVC(f2) INST=(00,01,ff) SW Activate
>> Request: <0005> abis_nm.c:418 Software Activate Request, ACKing and
>> Activating
>> <0005> abis_nm.c:439 Found SW config: 42 12 00 08 31 31 39 61 30 30 32
>> 00 13 00 0a 76 31 34 39 62 31 38 64 30 00
>> <0005> abis_nm.c:419 OC=BTS(01) INST=(00,ff,ff) STATE CHG:
>> OP_STATE=Disabled AVAIL=Dependency(05) ADM=Unlocked
>> <0005> abis_nm.c:419 OC=BTS(01) INST=(00,ff,ff) OPSTART NACK
>> CAUSE=Message cannot be performed
>> <0005> bsc_init.c:54 Got a NACK going to drop the OML links.
>>
>> ./ipaccess-telnet 172.44.4.75 3210
>> 14851:DBG:CLI_SKT:Remote client 172.44.4.4 connected
>> 16160:DBG:IP_CHANNEL:Assigning RX Client A
>> 16160:DBG:IP_CHAN_RX_A:Attempting connection to 172.44.4.4:3002
>> 20572:DBG:IP_CHANNEL:Assigning RX Client A
>> 20572:DBG:IP_CHAN_RX_A:Attempting connection to 172.44.4.4:3002
>> 21007:DBG:OAM_IM:Set SYSTEM LINK to 65.255
>> 21051:DBG:OAM_MOI:Can Activate?=TRUE
>> 21051:DBG:OAM_MOI:Sw Activate - activating BH idx=1
>> 21051:DBG:OAM_MOI:Sw Activate - BH(def=1 act=1) TRX(def=1 act=255)
>> 21051:DBG:OAM_IM:roleInstanceProcClearContaineeFlags: BTS:0 flag 3 not
>> setting or set!
>> 21051:DBG:OAM_IM:roleInstanceProcClearContaineeFlags: GPRS NSE:0 flag
>> 3 not setting or set!
>> 21063:DBG:OAM_MOI:Can Activate?=TRUE
>> 21063:DBG:OAM_MOI:Sw Activate - already activated BH idx=1
>> 21063:DBG:OAM_MOI:Sw Activate - BH(def=1 act=1) TRX(def=1 act=255)
>> 21064:DBG:OAM_MOI:Can Activate?=TRUE
>> 21064:DBG:OAM_MOI:Sw Activate - already activated BH idx=1
>> 21064:DBG:OAM_MOI:Sw Activate - BH(def=1 act=1) TRX(def=1 act=255)
>> 21067:DBG:GB_OAM:Received OPEN_REQ for NSE 0.
>> 21075:DBG:OAM_IM:Ignored imSetFrameNumber.
>> 21075:DBG:OAM_MOI:oid=BTS:0 publisher attributes set
>> 21077:DBG:OAM_MOI:Can Activate?=TRUE
>> 21078:DBG:OAM_MOI:Sw Activate - already activated BH idx=1
>> 21078:DBG:OAM_MOI:Sw Activate - sending trx boot request to activate TRX idx=1
>> 21078:DBG:OAM_MOI:Sw Activate - BH(def=1 act=1) TRX(def=1 act=1)
>> 21078:DBG:OAM_MOI:Can Activate?=TRUE
>> 21078:DBG:OAM_MOI:Sw Activate - already activated BH idx=1
>> 21079:DBG:OAM_MOI:Sw Activate - already activated TRX idx=1
>> 21079:DBG:OAM_MOI:Sw Activate - BH(def=1 act=1) TRX(def=1 act=1)
>> 21079:DBG:OAM_MOI:Can Activate?=TRUE
>> 21079:DBG:OAM_MOI:6110:gprs.cell: EVENT 0x000007d4 rxd in STATE initial
>> 21079:DBG:OAM_MOI:Sw Activate - already activated BH idx=1
>> 21079:DBG:OAM_MOI:Sw Activate - BH(def=1 act=1) TRX(def=1 act=1)
>> 21079:DBG:OAM_MOI:6112:gprs.cell: EVENT 0x000007cb rxd in STATE
>> waitopenresources
>> 21080:DBG:OAM_MOI:6124:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21080:DBG:OAM_MOI:6125:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21080:DBG:OAM_MOI:6126:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21081:DBG:OAM_MOI:6127:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21081:DBG:OAM_MOI:6128:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21081:DBG:OAM_MOI:6129:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21081:DBG:OAM_MOI:6130:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21081:DBG:OAM_MOI:6131:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21082:DBG:OAM_MOI:6132:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21082:DBG:OAM_MOI:6133:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21083:DBG:OAM_MOI:6134:gprs.cell: EVENT 0x000007cd rxd in STATE
>> waitregisterdependencycnf
>> 21086:DBG:OAM_MOI:Can Activate?=TRUE
>> 21086:DBG:OAM_MOI:Sw Activate - already activated BH idx=1
>> 21086:DBG:OAM_MOI:Sw Activate - BH(def=1 act=1) TRX(def=1 act=1)
>> 21087:DBG:OAM_MOI:Can Activate?=TRUE
>> 21087:DBG:OAM_MOI:Sw Activate - already activated BH idx=1
>> 21087:DBG:OAM_MOI:Sw Activate - BH(def=1 act=1) TRX(def=1 act=1)
>> 21088:DBG:OAM_MOI:6166:gprs.cell: EVENT 0x000007ca rxd in STATE waitopencnf
>> 21088:DBG:GB_OAM:Received OPEN_REQ for NSVC 0.
>> 21089:DBG:GB_OAM:Received OPEN_REQ for NSVC 1.
>> 21089:DBG:TRX_BOOT:Sending Cnf idx=1 token=969 task=2
>> 21098:DBG:TRX_BOOT:Sending Cnf idx=1 token=1031 task=2
>> 21519:DBG:OAM_IM:Clear SYSTEM LINK
>> 21523:DBG:OAM_MOI:6426:gprs.cell: EVENT 0x000007c7 rxd in STATE active
>> 21523:DBG:OAM_MOI:6426:gprs.cell: EXITING swactivated
>> 21527:DBG:OAM_RES:Failed to deregister dependency: token=1024 not
>> found (class=1 instance=7)
>> 21527:DBG:OAM_RES:Failed to deregister dependency: token=1017 not
>> found (class=1 instance=6)
>> 21527:DBG:OAM_RES:Failed to deregister dependency: token=1010 not
>> found (class=1 instance=5)
>> 21527:DBG:OAM_RES:Failed to deregister dependency: token=1003 not
>> found (class=1 instance=4)
>> 21527:DBG:OAM_RES:Failed to deregister dependency: token=996 not found
>> (class=1 instance=3)
>> 21527:DBG:OAM_RES:Failed to deregister dependency: token=989 not found
>> (class=1 instance=2)
>> 21528:DBG:OAM_RES:Failed to deregister dependency: token=982 not found
>> (class=1 instance=1)
>> 21528:DBG:OAM_RES:Failed to deregister dependency: token=975 not found
>> (class=1 instance=0)
>> 21528:DBG:OAM_RES:Failed to deregister dependency: token=969 not found
>> (class=0 instance=0)
>> 21528:DBG:OAM_RES:Failed to deregister dependency: token=1031 not
>> found (class=2 instance=0)
>> 21528:DBG:OAM_RES:Failed to deregister dependency: token=964 not found
>> (class=2 instance=0)
>> 21528:DBG:OAM_RES:Failed to deregister dependency: token=964 not found
>> (class=1 instance=0)
>> 21528:DBG:OAM_RES:Failed to deregister dependency: token=1047 not
>> found (class=2 instance=0)
>> 21528:DBG:OAM_RES:Failed to deregister dependency: token=1047 not
>> found (class=1 instance=0)
>> 21608:DBG:DB_EE:Writing 174 bytes of DBX data to block 3
>> 21608:DBG:DB_EE:Re-using existing DBX block
>> 21857:DBG:DB_EE:NV block 3 - wrote block to NV, main and backup OK.
>> 21857:DBG:DB_EE:EE update complete.
>> 21931:DBG:DB_EE:EE update complete.
>> 22004:DBG:DB_EE:EE update complete.
>> 22078:DBG:DB_EE:EE update complete.
>> 22151:DBG:DB_EE:EE update complete.
>> 22225:DBG:DB_EE:EE update complete.
>> 22298:DBG:DB_EE:EE update complete.
>> 22371:DBG:DB_EE:EE update complete.
>>
>>
>> --
>> Regards,
>> Ivan Kluchnikov.
>> http://fairwaves.ru
>
>
>
> --
> Regards,
> Ivan Kluchnikov.
> http://fairwaves.ru
>



-- 
Regards,
Alexander Chemeris.
CEO, Fairwaves LLC / ООО УмРадио
http://fairwaves.ru
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nanobts-sw-selection.patch
Type: application/octet-stream
Size: 3275 bytes
Desc: not available
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20121024/24979e7c/attachment.obj>


More information about the OpenBSC mailing list