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@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@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
On Wed, Oct 24, 2012 at 10:49:36PM +0400, Alexander Chemeris wrote:
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.
thanks. I think we should have a testcase for that. Could you provide a hexdump of the SW Description? If it is too much work I should be able to extract it from the pcap file.
thanks holger
Hi Holger,
On Thu, Oct 25, 2012 at 6:59 PM, Holger Hans Peter Freyther < holger@freyther.de> wrote:
On Wed, Oct 24, 2012 at 10:49:36PM +0400, Alexander Chemeris wrote:
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.
thanks. I think we should have a testcase for that. Could you provide a hexdump of the SW Description? If it is too much work I should be able to extract it from the pcap file.
Three variants, extracted from my previous e-mail about the NACK problem:
<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: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: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
-- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ООО УмРадио http://fairwaves.ru
On Thu, Oct 25, 2012 at 09:14:32PM +0400, Alexander Chemeris wrote:
Hi Holger,
Hi Alexander,
Three variants, extracted from my previous e-mail about the NACK problem:
I pushed zecke/abis-sw-selection to our repository. Could you please give it a try? The logic should be like from your patch (but not assuming that the file version is 8 bytes).
thanks holger
Hi,
I already disconnected everything, but I'll try to give it a shot at the weekend or next week. Ping me if I forget to do that.
On Thu, Nov 22, 2012 at 10:17 PM, Holger Hans Peter Freyther holger@freyther.de wrote:
On Thu, Oct 25, 2012 at 09:14:32PM +0400, Alexander Chemeris wrote:
Hi Holger,
Hi Alexander,
Three variants, extracted from my previous e-mail about the NACK problem:
I pushed zecke/abis-sw-selection to our repository. Could you please give it a try? The logic should be like from your patch (but not assuming that the file version is 8 bytes).
thanks holger
On Thu, Nov 22, 2012 at 11:26:44PM +0400, Alexander Chemeris wrote:
I already disconnected everything, but I'll try to give it a shot at the weekend or next week. Ping me if I forget to do that.
ping, or too early? :)
On Sat, Dec 1, 2012 at 1:58 PM, Holger Hans Peter Freyther holger@freyther.de wrote:
On Thu, Nov 22, 2012 at 11:26:44PM +0400, Alexander Chemeris wrote:
I already disconnected everything, but I'll try to give it a shot at the weekend or next week. Ping me if I forget to do that.
ping, or too early? :)
I apologize - it seems I no longer have a power cable I used for PoE injector for my nanoBTS. I'll try to find a new one, but it'll take some time.
-- Regards, Alexander Chemeris. CEO, Fairwaves LLC / ООО УмРадио http://fairwaves.ru
On Sat, Dec 01, 2012 at 10:13:10PM +0400, Alexander Chemeris wrote:
I apologize - it seems I no longer have a power cable I used for PoE injector for my nanoBTS. I'll try to find a new one, but it'll take some time.
hehe, please tell me when to ping you next time.