Bug #3063
closedOsmoBSC + nanoBTS 165AU (DCS1800): smartphone Samsung 4mini 5 unable to register (it can on osmo-nitb)
Added by pespin over 6 years ago. Updated over 5 years ago.
100%
Description
I have been having issues to successfully register my Samsung 4mini 5 with a nanoBTS 165AU (DCS1800) connected to a osmocom (split components) network running latest master as of today.
nanoBTS is correctly connected and I see it being configured and it can be seen by all mobiles phones. IMPORTANT: If I try with an old samsung feature phone, it can register correctly. I see the CHANnel ReQuireD packet received from the nanoBTS and all the channel allocation works successfully. However, if I do the same with any of my 2 Samsung 4mini 5, no CHANnel ReQuireD packet is received and the phone keeps in a while with the "Registering to network XYZ" before giving up, and not being able to register. So basically my BSC sees no related event.
However, we just tested with roh's old osmo-nitb setup, and in there both mobile phones (the old feature phone and the smart phone) can connect successfully, so there's seems to be some kind of regression from osmo-nitb->osmo-bsc here.
I changed my config to be very similar to roh's osmo-nitb one, but still same result. I attach both configs here for comparison.
I also attach a pcap trace showing the BTS<->BSC link in operation (after initial OML setup, sorry) while I try to register both the feature phone and the smart phone. Only the Location Update from the feature phone can be seen (and it's rejected because I don't have the IMSI in my HLR, but that's not important here, because at least the LU is received).
Files
osmo-bsc-nanobts.cfg | osmo-bsc-nanobts.cfg | 3.44 KB | pespin, 03/13/2018 06:38 PM | ||
osmo-nitb.cfg | osmo-nitb.cfg | 1.39 KB | pespin, 03/13/2018 06:39 PM | ||
only-feature-phone-registers.pcapng | only-feature-phone-registers.pcapng | 107 KB | pespin, 03/13/2018 06:47 PM | ||
osmo-bsc-oml-setup.pcapng | osmo-bsc-oml-setup.pcapng | 30.7 KB | pespin, 03/13/2018 06:52 PM | ||
nanobts_bsc-oml-setup_nitb_roh.pcap | nanobts_bsc-oml-setup_nitb_roh.pcap | 42.2 KB | roh, 03/14/2018 03:58 PM | ||
ccch_scan_with_neigbhor_list.pcapng | ccch_scan_with_neigbhor_list.pcapng | 108 KB | pespin, 11/05/2018 07:55 PM |
Related issues
Updated by pespin over 6 years ago
Updated by pespin over 6 years ago
I attach the osmo-bsc OML seutp of nanoBTS with the previously provided config.
Updated by laforge over 6 years ago
- Assignee set to pespin
- "SET [BTS/TRX] ATTRIBUTES" in OML
- BCCH FILL in RSL
I suspect there's some difference that makes the phones refuse to consider the cell as eligible. This can be an encoding mistake of SI rest octets, for example.
Also check if all access control classes (part of SI) are enabled, as that's something we've touched recently.
Updated by pespin over 6 years ago
- Assignee changed from pespin to roh
ASsigned to roh, I gave him back the nanoBTS to take a pcap trace while configuring it with his NITB setup. Once he has provided it, let's have a look at the differences.
Updated by roh over 6 years ago
i did a tcpdump with the said bts against my very old nitb and attached it here.
Updated by pespin over 6 years ago
Differences found:
SET BTS ATTributes:field | nitb | bsc |
RACH Busy Threshold | 0a | 5a |
BTS Air Timer | 80 | 64 |
IP CGI | 00:f1:10:00:01:00:00 | 32:f4:07:00:05:00:00 |
After that one, I see osmo-nitb sends a "OML Radio Carrier(00,00,ff) Set Radio Carrier Attributes" before setting up every channel. On the other hand, osmo-bsc sends that message AFTER setting all the 0-7 channels. The message looks the same in both traces (same content), but the order in which it is sent differs.
All (0-7) "Set Channel Attributes" from both traces are the same, no difference here.
BCCH INFOrmation (System Information Type 1) looks the same for both nitb and bsc.
"SACCH FILLing" messages can be found in nitb frame 184 and bsc frame 193:
- SI Type 2 is the same in both.
- The osmo-bsc messages contains more information Between SI Type 2 and SI Type3 that the nitb doesn't have:
-- IPA header + RSL with IE SI 2bis
-- IPA header + RSL with IE SI 2ter + Layer3 SI Type 2ter.
-- IPA header + RSL with IE SI 2quater
- SI Type 3 differences:
-- In Control Channel Description, osmo-bsc has MSCR=1 (MSC is Release'99 onwards) while nitb has MSCR=0 (MSC is RElease'98 or older).
-- Cell Selection Parameters: osmo-bsc has NECI=0, osmo-nitb NECI=1
-- SI 3 Rest OCtets: difference is osmo-bsc correclty marks SI Type 2ter as available, and osmo-nitb correctly marks it's not available.
- SI Type 4 differences: NECI=1 vs NECI=0
- SI Type 5 is the same in both.
- osmo-bsc sends SI 5bis, and osmo-nitb does not.
- osmo-bsc sends SI 5ter, and osmo-nitb does not.
- SI Type 6: Content of L3 message is different (not parsed by wireshark, only shown as hex).
Updated by laforge over 6 years ago
On Thu, Mar 15, 2018 at 11:57:45AM +0000, pespin [REDMINE] wrote:
Issue #3063 has been updated by pespin.
Differences found:
RACH Busy Threshold 0a 5a
this should only affect at how reports in CCCH Load Indication are structured
BTS Air Timer 80 64
IP CGI 00:f1:10:00:01:00:00 32:f4:07:00:05:00:00
Are you sure you're running the same MCC/MNC/LAC/RAC/CI on both setups? If not, then
of course the CGI will be different between the cells, as it includes all the above values.
If they are identical in both setups, then there appears to be an encoding bug.
After that one, I see osmo-nitb sends a "OML Radio Carrier(00,00,ff) Set Radio Carrier Attributes" before setting up every channel. On the other hand, osmo-bsc sends that message AFTER setting all the 0-7 channels. The message looks the same in both traces (same content), but the order in which it is sent differs.
It shouldn't make a difference, just as long as the attributes are set before bringing the channel into
operation. (opstart?)
"SACCH FILLing" messages can be found in nitb frame 184 and bsc frame 193:
- SI Type 2 is the same in both.
SI2 is BCCH. U presume you're refering to BCCH here...
- The osmo-bsc messages contains more information Between SI Type 2 and SI Type3 that the nitb doesn't have:
-- IPA header + RSL with IE SI 2bis
-- IPA header + RSL with IE SI 2ter + Layer3 SI Type 2ter.
-- IPA header + RSL with IE SI 2quater
those should all be empty. a zero-length SACCH/BCCH filling asks the BTS to disable transmitting the given
type. On a newly-started BTS it should be a no-op. You can trace on the radio interface (e.g. osmocomBB)
what is actually being broadcast, if you have doubts here
- SI Type 3 differences:
-- In Control Channel Description, osmo-bsc has MSCR=1 (MSC is Release'99 onwards) while nitb has MSCR=0 (MSC is RElease'98 or older).
this is true (OsmoMSC can e.g. do UMTS AKA, OsmoNITB cannot). But it may of course behave MS behaviour.
-- Cell Selection Parameters: osmo-bsc has NECI=0, osmo-nitb NECI=1
Every setup should run with NECI=1. NECI=0 is an ancient legacy setting. I suppose the osmo-bsc.cfg
is not set corectly then.
-- SI 3 Rest OCtets: difference is osmo-bsc correclty marks SI Type 2ter as available, and osmo-nitb correctly marks it's not available.
That's odd. Why is SI 2ter available? If you have no 3G neighbors configured, then osmo-bsc should
generate none and the BCCH INFO for 2ter should be an empty message.
- SI Type 4 differences: NECI=1 vs NECI=0
see above.
- SI Type 5 is the same in both.
- osmo-bsc sends SI 5bis, and osmo-nitb does not.
- osmo-bsc sends SI 5ter, and osmo-nitb does not.
Are you sure it's not again empty messages to disable any 5bis/5ter which the BTS has cached?
- SI Type 6: Content of L3 message is different (not parsed by wireshark, only shown as hex).
this is probably due to the l2_plen bug. Is the content shifted by one byte? The fix has been merged
very recently, to both osmo-nitb/openbsc.git ad well as osmo-bsc.git
Updated by pespin over 6 years ago
IP CGI 00:f1:10:00:01:00:00 32:f4:07:00:05:00:00 Are you sure you're running the same MCC/MNC/LAC/RAC/CI on both setups? If not, then
of course the CGI will be different between the cells, as it includes all the above values.If they are identical in both setups, then there appears to be an encoding bug.
I am running different MCC/MNC/LAC, but I omited it in the report since I presumed it was not the issue. I didn't know this CGI field was related to those values, but then it makes it's different.
SI2 is BCCH. U presume you're refering to BCCH here...
Yes it's in BCCH but still the frame in wireshark is labeled as "SACCH FILLing". I couldn't find a "BCCH FILL" in any of the 2 traces as you suggested first.
- The osmo-bsc messages contains more information Between SI Type 2 and SI Type3 that the nitb doesn't have:
-- IPA header + RSL with IE SI 2bis
-- IPA header + RSL with IE SI 2ter + Layer3 SI Type 2ter.
-- IPA header + RSL with IE SI 2quaterthose should all be empty. a zero-length SACCH/BCCH filling asks the BTS to disable transmitting the given
type. On a newly-started BTS it should be a no-op. You can trace on the radio interface (e.g. osmocomBB)
what is actually being broadcast, if you have doubts here
The 2ter one is not empty. It's actually sending a list of ARFCNS 100 and 200, which probably comes from the config I'm using and I think I should remove them:
neighbor-list mode manual-si5
neighbor-list add arfcn 100
neighbor-list add arfcn 200
si5 neighbor-list add arfcn 10
si5 neighbor-list add arfcn 20
- SI Type 3 differences:
-- In Control Channel Description, osmo-bsc has MSCR=1 (MSC is Release'99 onwards) while nitb has MSCR=0 (MSC is RElease'98 or older).this is true (OsmoMSC can e.g. do UMTS AKA, OsmoNITB cannot). But it may of course behave MS behaviour.
Ok, I'll keep it as a pointer for future tests.
-- Cell Selection Parameters: osmo-bsc has NECI=0, osmo-nitb NECI=1
Every setup should run with NECI=1. NECI=0 is an ancient legacy setting. I suppose the osmo-bsc.cfg
is not set corectly then.
Hm yes after reading info about NECI it makes sense to set it to 1. I'll try if this makes a difference with the failing MS.
-- SI 3 Rest OCtets: difference is osmo-bsc correclty marks SI Type 2ter as available, and osmo-nitb correctly marks it's not available.
That's odd. Why is SI 2ter available? If you have no 3G neighbors configured, then osmo-bsc should
generate none and the BCCH INFO for 2ter should be an empty message.
It's probably related to the osmo-bsc config lines which have been probably there since I started using osmo-bsc. I'll remove them as they should not be there.
- SI Type 5 is the same in both.
- osmo-bsc sends SI 5bis, and osmo-nitb does not.
- osmo-bsc sends SI 5ter, and osmo-nitb does not.Are you sure it's not again empty messages to disable any 5bis/5ter which the BTS has cached?
5bis is empty, but 5ter contains an L3 information of 19 bytes: 49 06 06 9e 05 00 20 00 00 00 00 00 00 00 00 00 00 00 00
- SI Type 6: Content of L3 message is different (not parsed by wireshark, only shown as hex).
this is probably due to the l2_plen bug. Is the content shifted by one byte? The fix has been merged
very recently, to both osmo-nitb/openbsc.git ad well as osmo-bsc.git
osmo-bsc: Len = 13 (0x000d) -> Message: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b
osmo-nitb: Len = 12 (0x000c) -> Message: 2d 06 1e 00 00 00 f1 10 00 01 27 ff
So yes, it looks related to the bug you mention. However, as you said if the fix was applied I'd expect the len (2b?) to be in first place and then all other values after it and not this way. I'm actually not sure if I took the traces with osmo-bsc having the fix on it. I'll retry later and check this part better.
Updated by fixeria over 6 years ago
Hi Harald,
Every setup should run with NECI=1.
NECI=0 is an ancient legacy setting.
I suppose the osmo-bsc.cfg is not set corectly then.
Please see: https://gerrit.osmocom.org/7304
I am not sure about OsmoNiTB, where NECI=1 is used almost
everywhere, excluding both rbs2308 and sysmobts config examples.
Updated by pespin over 6 years ago
pespin wrote:
The 2ter one is not empty. It's actually sending a list of ARFCNS 100 and 200, which probably comes from the config I'm using and I think I should remove them:
neighbor-list mode manual-si5
neighbor-list add arfcn 100
neighbor-list add arfcn 200
si5 neighbor-list add arfcn 10
si5 neighbor-list add arfcn 20
This seems to be the actual issue. If I remove those lines, the MS can register without problems. If I put them back, then the MS cannot register anymore.
The config is indeed wrong as those neighbors doesn't actually exist, but I fail to see how can that extra SI 2ter information can prevent the MS from registering.
I tested with NECI=1/0 variations and it doesn't affect. It can register with both values when the neighbor related lines are removed.
Updated by laforge over 6 years ago
On Fri, Mar 16, 2018 at 05:11:11PM +0000, pespin [REDMINE] wrote:
neighbor-list add arfcn 100
neighbor-list add arfcn 200This seems to be the actual issue. If I remove those lines, the MS can register without problems. If I put them back, then the MS cannot register anymore.
The config is indeed wrong as those neighbors doesn't actually exist, but I fail to see how can that extra SI 2ter information can prevent the MS from registering.
I think its most likely that the phone somehow "objects" to the encoding of the si2ter.
It certainly makes sense to look at the radio interface and not just at RSL. Maybe the nanoBTS
does something wrong [or different] when broadcatsing SI2ter.
"ccch_scan -a $ARFCN -i 127.0.0.1" is all you need with an osmocom-bb phone to get a dump of the BCCH/CCCH
messages on the ARFCN your cell is broadcasting them.
Also, make sure you look at the decoded output on a TEMS phone/tablet.
I'm sure something is wrong and the phone simply ignores the cell for that reason.
Updated by pespin over 5 years ago
I can still reproduce this issue in my current setup. If I add following configs to my osmo-bsc.cfg:
neighbor-list mode manual-si5 neighbor-list add arfcn 100 neighbor-list add arfcn 200 si5 neighbor-list add arfcn 10 si5 neighbor-list add arfcn 20
Then an ZTE phone can still register, but another Alctatel one cannot.
I'll try to get some traces using osmocombb
Updated by pespin over 5 years ago
Attached GSMTAP pcap file obtained with ccch_scan while the Alcatel tries to register to the network and fails with "Failed to register to Network, Please try to connect later" kind of message.
Updated by pespin over 5 years ago
I see no "System information type 5" in the pcap trace, which seems to be the related to the config bits that produce the issue. However, reading specs it seems it is sent over downlink SACCH, so afaiu only sent when the MS has a dedicated channel with the network, and so it makes sense I see none because the MS never tries to register with the cell...
Updated by pespin over 5 years ago
I removed problematic lines from default example files in osmo-bsc, since anyway they are incorrect/invalid for the network setup.
https://gerrit.osmocom.org/#/c/osmo-bsc/+/11774 examples: Remove neighbor-list invalid for default setup
Updated by pespin over 5 years ago
Ok, I think I found the issue.
Minimal set of cfg lines to make some MS not register:
neighbor-list mode manual-si5 neighbor-list add arfcn 100
Second line "neighbor-list add arfcn 100" cannot be set and not used if first line is not used. If only first line "neighbor-list mode manual-si5" is used, then MS can configure correctly.
If I use this set (I'm using ARFCN 872 for my BTS in 1800 band), then it works:
neighbor-list mode manual-si5 neighbor-list add arfcn 870
So it turns out arfcn 100 is not a valid arfcn in DCS1800, and probably that's why some MS don't register to a network advertising those values (http://niviuk.free.fr/gsm_arfcn.php).
We should check whether the configured value is a valid arfcn for given band.
Updated by pespin over 5 years ago
- "neighbor-list add arfcn 140" (band GSM850) -> FAIL
- "neighbor-list add arfcn516 (band DCS1800) -> SUCCESS
Updated by pespin over 5 years ago
- Status changed from New to In Progress
- 4 (GSM900) -> FAIL
- 104 (GSM850) -> FAIL
- 500 (invalid) -> FAIL
- 511 (invalid) -> FAIL
- 512 (first DCS1800) -> SUCCESS
- 516 (DCS1800) -> SUCCESS
- 885 (last in DCS1800) -> SUCCESS
- 886 (invalid) -> SUCCESS
- 890 (invalid) -> SUCCESS
- 900 (invalid) -> SUCCESS
- 950 (invalid) -> SUCCESS
- 952 (invalid) -> SUCCESS
- 953 (invalid) -> SUCCESS
- 954 (invalid) -> SUCCESS
- 955 (invalid) -> FAIL
- 960 (invalid) -> FAIL
- 970 (invalid) -> FAIL
- 990 (invalid) -> FAIL
Interestingly, we see different logging line when MS can connect and when it cannot:
FAIL --> osmo-bsc/src/osmo-bsc/system_information.c:691 Neighbour cells in different band: XYZ SUCCESS --> osmo-bsc/srcosmo-bsc/system_information.c:691 SI2 Neighbour cells in same band: XYZ
For instance, 511 (invalid) vs 512 (first valid in DCS1800):
511 (invalid): 20181115180254754 DRSL <0003> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 872 using MCC-MNC 234-70 LAC=5 CID=0 BSIC=63 20181115180254755 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:691 Serving cell: 872 20181115180254755 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:691 Neighbour cells in different band: 511 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:916 SI 2ter is included. 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI1: 55 06 19 8f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 04 00 2b 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2: 59 06 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2bis: OFF 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2ter: 59 06 03 8e ff 80 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2quater: OFF 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI3: 49 06 1b 00 00 32 f4 07 00 05 c9 03 05 27 47 40 e5 04 00 1c 2b 2b 2b 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI4: 31 06 1c 32 f4 07 00 05 47 40 e5 04 00 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181115180254756 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI13: 01 06 00 90 00 19 5a 6f c9 f2 35 01 08 21 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181115180254757 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI5: 49 06 1d 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181115180254757 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5bis: OFF 20181115180254757 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5ter: OFF 20181115180254757 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI6: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vs 512 (valid): 20181115180101129 DRSL <0003> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 872 using MCC-MNC 234-70 LAC=5 CID=0 BSIC=63 20181115180101129 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:691 Serving cell: 872 20181115180101130 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:691 SI2 Neighbour cells in same band: 512 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI1: 55 06 19 8f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 04 00 2b 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2: 59 06 1a 8f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2bis: OFF 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2ter: OFF 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2quater: OFF 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI3: 49 06 1b 00 00 32 f4 07 00 05 c9 03 05 27 47 40 e5 04 00 3c 2b 2b 2b 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI4: 31 06 1c 32 f4 07 00 05 47 40 e5 04 00 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI13: 01 06 00 90 00 19 5a 6f c9 f2 35 01 08 21 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI5: 49 06 1d 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5bis: OFF 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5ter: OFF 20181115180101131 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI6: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
Interestingly, according to http://niviuk.free.fr/gsm_arfcn.php ARFCNs in DCS1800 end in 885, but according to our code w find the boundary in 954->955:
954: 20181115175203205 DRSL <0003> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 872 using MCC-MNC 234-70 LAC=5 CID=0 BSIC=63 20181115175203205 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:691 Serving cell: 872 20181115175203205 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:691 SI2 Neighbour cells in same band: 954 20181115175203205 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI1: 55 06 19 8f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 04 00 2b 20181115175203205 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2: 59 06 1a 8f dd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00 20181115175203205 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2bis: OFF 20181115175203205 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2ter: OFF 20181115175203205 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2quater: OFF 20181115175203205 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI3: 49 06 1b 00 00 32 f4 07 00 05 c9 03 05 27 47 40 e5 04 00 3c 2b 2b 2b 20181115175203206 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI4: 31 06 1c 32 f4 07 00 05 47 40 e5 04 00 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181115175203206 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI13: 01 06 00 90 00 19 5a 6f c9 f2 35 01 08 21 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181115175203206 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI5: 49 06 1d 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181115175203206 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5bis: OFF 20181115175203206 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5ter: OFF 20181115175203206 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI6: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b vs 955: 20181115175405688 DRSL <0003> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 872 using MCC-MNC 234-70 LAC=5 CID=0 BSIC=63 20181115175405689 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:691 Serving cell: 872 20181115175405689 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:691 Neighbour cells in different band: 955 20181115175405689 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:916 SI 2ter is included. 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI1: 55 06 19 8f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 04 00 2b 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2: 59 06 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2bis: OFF 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2ter: 59 06 03 8f dd 80 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2quater: OFF 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI3: 49 06 1b 00 00 32 f4 07 00 05 c9 03 05 27 47 40 e5 04 00 1c 2b 2b 2b 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI4: 31 06 1c 32 f4 07 00 05 47 40 e5 04 00 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI13: 01 06 00 90 00 19 5a 6f c9 f2 35 01 08 21 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI5: 49 06 1d 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5bis: OFF 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5ter: OFF 20181115175405690 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI6: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2bSo there's 2 things to check here:
- See whether our code is correct and up to 954 correspon to DCS1800, or check wheter the web page I used is correct and DCS ends up at 885.
- See the difference in code were Neighbour cells are in same band and in different band, and see if announcing arfcn from different bands is actually allowed.
Updated by pespin over 5 years ago
- After quick look to Wikipedia it seems to agree with DCS finishing in 885, so it seems we have an issue in our code.
- I started looking at related code, but it's not well documented and seems complex
- Neighbor lists are also related to SI2, which is broadcasted in BCCH.
Updated by pespin over 5 years ago
I submitted this patch to notify users they are passing wrong values to the gsm_arfcn2band API:
https://gerrit.osmocom.org/#/c/libosmocore/+/11789 gsm: Deprecate buggy gsm_arfcn2band API and introduce gsm_arfcn2band_rc
Next steps:
- Use gsm_arfcn2band_rc in osmo-bsc VTY to check for invalid arfcns in config
- It's now clear MS fails to register when arfcns from bands different than the one operating (or different than DCS1800) is announced, let's find why.
Updated by pespin over 5 years ago
Submitted:
https://gerrit.osmocom.org/#/c/osmo-bsc/+/11790 bsc: band_compatible: Return band non-compatible for invalid arfcn
https://gerrit.osmocom.org/#/c/osmo-bsc/+/11791 bsc: vty: Verify and warn on invalid arfcn passed
This way we don't send invalid arfcn 855-954 as being from same band when operating in DCS1800, and next commit warns about wrong arfcns being passed during VTY parsing.
TODO:- Submit same check for arfcn in VTY in osmo-bts (let's do this once libosmocore patch is merged).
- It's now clear MS fails to register when arfcns from bands different than the one operating (or different than DCS1800) is announced, let's find why.
Updated by pespin over 5 years ago
This patch/topic seems related to this issue: https://lists.osmocom.org/pipermail/openbsc/2014-January/006774.html
Updated by pespin over 5 years ago
- SI2: arfcns in same band
- SI2bis: arfcns in same band, but outside P-GSM range
- SI2ter: arfcns in different band.
Strangely enough, in current setup (ARFCN 872, DCS1800), neeighbor list 880 is added to SI2 and not to SI2bis, not sure why and if that's expected/correct.
neighbor 114 (GSM900) is added to SI2ter correctly.
More tests:
890 (invalid): 20181119130307214 DRSL <0003> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 872 using MCC-MNC 234-70 LAC=5 CID=0 BSIC=63 20181119130307215 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:696 Serving cell: 872 20181119130307216 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI1: 55 06 19 8f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 04 00 2b 20181119130307216 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2: 59 06 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2bis: OFF 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2ter: OFF 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2quater: OFF 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI3: 49 06 1b 00 00 32 f4 07 00 05 c9 03 05 27 47 40 e5 04 00 3c 2b 2b 2b 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI4: 31 06 1c 32 f4 07 00 05 47 40 e5 04 00 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI13: 01 06 00 90 00 19 5a 6f c9 f2 35 01 08 21 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI5: 49 06 1d 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5bis: OFF 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5ter: OFF 20181119130307217 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI6: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 880 (success): 20181119131037634 DRSL <0003> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 872 using MCC-MNC 234-70 LAC=5 CID=0 BSIC=63 20181119131037635 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:696 Serving cell: 872 20181119131037636 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:696 SI2 Neighbour cells in same band: 880 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI1: 55 06 19 8f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 04 00 2b 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2: 59 06 1a 8f b8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2bis: OFF 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2ter: OFF 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2quater: OFF 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI3: 49 06 1b 00 00 32 f4 07 00 05 c9 03 05 27 47 40 e5 04 00 3c 2b 2b 2b 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI4: 31 06 1c 32 f4 07 00 05 47 40 e5 04 00 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI13: 01 06 00 90 00 19 5a 6f c9 f2 35 01 08 21 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI5: 49 06 1d 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5bis: OFF 20181119131037637 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5ter: OFF 20181119131037638 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI6: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 880+114 (fail): 20181119131244166 DRSL <0003> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 872 using MCC-MNC 234-70 LAC=5 CID=0 BSIC=63 20181119131244167 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:696 Serving cell: 872 20181119131244167 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:696 SI2 Neighbour cells in same band: 880 20181119131244168 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:696 SI2ter Neighbour cells in different band: 114 20181119131244168 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:921 SI 2ter is included. 20181119131244168 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI1: 55 06 19 8f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 04 00 2b 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2: 59 06 1a 8f b8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2bis: OFF 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2ter: 59 06 03 8e 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2quater: OFF 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI3: 49 06 1b 00 00 32 f4 07 00 05 c9 03 05 27 47 40 e5 04 00 1c 2b 2b 2b 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI4: 31 06 1c 32 f4 07 00 05 47 40 e5 04 00 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI13: 01 06 00 90 00 19 5a 6f c9 f2 35 01 08 21 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI5: 49 06 1d 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5bis: OFF 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5ter: OFF 20181119131244169 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI6: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 880+114 + force-combined-si (success): 20181119132024970 DRSL <0003> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 872 using MCC-MNC 234-70 LAC=5 CID=0 BSIC=63 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:696 Serving cell: 872 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=1, wk_len=10, offs=0:6, level=0, lvl_left=1 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=10, cur_bits=2, offs=0:6 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=72, slice=00/03, cl=00 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=8, cur_bits=8, offs=1:0 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=72, slice=72/ff, cl=72 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=2, wk_len=9, offs=2:0, level=1, lvl_left=2 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=9, cur_bits=8, offs=2:0 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=ff, slice=7f/ff, cl=7f 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=1, cur_bits=1, offs=3:0 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=ff, slice=01/01, cl=80 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=3, wk_len=9, offs=3:1, level=1, lvl_left=1 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=9, cur_bits=7, offs=3:1 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/7f, cl=00 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=2, cur_bits=2, offs=4:0 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/03, cl=00 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=4, wk_len=8, offs=4:2, level=2, lvl_left=4 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=8, cur_bits=6, offs=4:2 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/3f, cl=00 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=2, cur_bits=2, offs=5:0 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/03, cl=00 20181119132024971 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=5, wk_len=8, offs=5:2, level=2, lvl_left=3 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=8, cur_bits=6, offs=5:2 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/3f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=2, cur_bits=2, offs=6:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/03, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=6, wk_len=8, offs=6:2, level=2, lvl_left=2 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=8, cur_bits=6, offs=6:2 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/3f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=2, cur_bits=2, offs=7:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/03, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=7, wk_len=8, offs=7:2, level=2, lvl_left=1 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=8, cur_bits=6, offs=7:2 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/3f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=2, cur_bits=2, offs=8:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/03, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=8, wk_len=7, offs=8:2, level=3, lvl_left=8 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=7, cur_bits=6, offs=8:2 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/3f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=1, cur_bits=1, offs=9:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/01, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=9, wk_len=7, offs=9:1, level=3, lvl_left=7 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=7, cur_bits=7, offs=9:1 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/7f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=10, wk_len=7, offs=10:0, level=3, lvl_left=6 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=7, cur_bits=7, offs=10:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/7f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=11, wk_len=7, offs=10:7, level=3, lvl_left=5 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=7, cur_bits=1, offs=10:7 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/01, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=6, cur_bits=6, offs=11:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/3f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=12, wk_len=7, offs=11:6, level=3, lvl_left=4 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=7, cur_bits=2, offs=11:6 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/03, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=5, cur_bits=5, offs=12:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/1f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=13, wk_len=7, offs=12:5, level=3, lvl_left=3 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=7, cur_bits=3, offs=12:5 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/07, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=4, cur_bits=4, offs=13:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/0f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=14, wk_len=7, offs=13:4, level=3, lvl_left=2 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=7, cur_bits=4, offs=13:4 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/0f, cl=00 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=3, cur_bits=3, offs=14:0 20181119132024972 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/07, cl=00 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=15, wk_len=7, offs=14:3, level=3, lvl_left=1 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=7, cur_bits=5, offs=14:3 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/1f, cl=00 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=2, cur_bits=2, offs=15:0 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/03, cl=00 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:218 k=16, wk_len=6, offs=15:2, level=4, lvl_left=16 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:232 wk_left=6, cur_bits=6, offs=15:2 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/arfcn_range_encode.c:261 wk=00, slice=00/3f, cl=00 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/system_information.c:696 SI2 Neighbour cells in same band: 114 880 20181119132024973 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI1: 55 06 19 8f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 04 00 2b 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI2: 59 06 1a 80 72 7f 80 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2bis: OFF 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2ter: OFF 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI2quater: OFF 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI3: 49 06 1b 00 00 32 f4 07 00 05 c9 03 05 27 47 40 e5 04 00 3c 2b 2b 2b 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI4: 31 06 1c 32 f4 07 00 05 47 40 e5 04 00 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI13: 01 06 00 90 00 19 5a 6f c9 f2 35 01 08 21 2b 2b 2b 2b 2b 2b 2b 2b 2b 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI5: 49 06 1d 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5bis: OFF 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:83 SI5ter: OFF 20181119132024974 DRR <0002> /home/pespin/dev/sysmocom/git/osmo-bsc/src/osmo-bsc/bsc_init.c:81 SI6: 2d 06 1e 00 00 32 f4 07 00 05 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
So it seems the problem appears as soon as we enable SI2ter (to send arfcns from different band). If we use force-combined-si, then it works fine because all arfcs are put into SI2 instead of using SI2ter.
So there's 3 possibilites here:- We encode SI2ter incorrectly (or bits somewhere else announcing it is going to be transmitted)
- nanoBTS doesn't support it and behaves strangely when it is configured to use it.
- some modems are broken and don't like SI2ter. However, I think from ccch_scan pcap trace that SI2ter is never sent, so it could be modems failing to register are actually correct and expecting a message that never arrives, and modems registering don't care at all about that.
Updated by pespin over 5 years ago
Also related: https://lists.osmocom.org/pipermail/openbsc/2018-April/011874.html
And commit in osmo-bsc from ml link from previous post:
commit 65d114fe434ec4fff9b9abfedade05ce21da994e Author: Jacob Erlbeck <jerlbeck@sysmocom.de> Date: Thu Jan 16 11:02:14 2014 +0100 si: Add a config option to disable SI2ter/SI2bis/SI5ter/SI5bis messages The iPhone5 (US) appears to have some issues with the SIs generated, or the nanoBTS is not sending them correctly. Add a configurable hack to put all bands into the SI2/SI5 message. It is enabled by the bts VTY command 'force-combined-si'. This is a quick change without much reflection and watching for side effects. I have verfied that a network with ARFCN 134 and neighbors ARFCN 130 and 512 do not get generate the SI2ter and announce everything inside the SI2. This patch is conceptually based on 'si: Add a hack to disable SI2ter/SI2bis/SI5ter/SI5bis messages' (692daaf2d2). Ticket: OW#1062 Sponsored-by: On-Waves ehf
Updated by pespin over 5 years ago
Some more patches submitted improving some stuff but not fixing the actual issue:
remote: https://gerrit.osmocom.org/#/c/osmo-bsc/+/11828 bsc: Prefix log string with related SI type during call to list_arfcn
remote: https://gerrit.osmocom.org/#/c/osmo-bsc/+/11829 bsc: si: Fix SI2bis L2 pseudo length
remote: https://gerrit.osmocom.org/#/c/osmo-bsc/+/11830 bsc: si: Fix SI2ter L2 pseudo length
Updated by pespin over 5 years ago
SI2ter use indication is signalled in SI3 "SI 3 Rest Octets", 1 bit stating whether it is available or not. It's specified in 04.08 "10.5.2.34
SI 3 Rest Octets".
In osmo-bsc, we set it in rest_octets_si3() based on bool si2ter_indicator.
In observed ccch_scan pcap file, the 2ter indication in SI3 is marked as "available", but no SI2ter is ever sent.
Furthermore, 05.02 sec 6.3.4 "Mapping of BCCH data" states:
TC = (FN DIV 51) mod (8) iii) System information type 2 bis or 2 ter messages are sent when needed, as determined by the system operator. If only one of them is needed, it is sent when TC=5. If both are needed, 2bis is sent when TC=5 and 2ter when TC=4. A SI 2 message will always be sent.
in the ccch_scan pcap file, we can see fr29 si2 being TC=4, which is fine because 2bis is not used. However, fr 33 in the pcap file (fn=2596769) equals TC=5, and we see a regular SI2 (no SI2ter) there, so now it's clear there's a misconfiguration that some MS don't like.
So far it seems nanoBTS doesn't indeed support SI2ter, and force-combined-si must be used.
Updated by pespin over 5 years ago
- Status changed from In Progress to Feedback
- % Done changed from 0 to 90
I submitted following patch to disable sending SI2ter by default with nanoBTS unless explicitly requested through VTY cmd:
https://gerrit.osmocom.org/#/c/osmo-bsc/+/11834 bsc: Enable force-combined-si on nanoBTS by default
With this patch and other arfcn2band patches waiting for review, this task should be done.
Updated by pespin over 5 years ago
- Status changed from Feedback to Resolved
- % Done changed from 90 to 100
All commits merged, closing.
Updated by pespin over 5 years ago
- Related to Bug #3707: nanoBTS fails to start added