nRF9151-DK – NCELLMEAS Command Returning Only a Single Cell

Hello,

I'm currently using the nRF9151-DK hardware to develop our product based on the nRF9151 SiP. We selected the ncs-serial-modem firmware, and the modem is controlled via AT commands by our main MCU.

We are evaluating the nRF Cloud Location feature to determine device position using cellular or Wi-Fi data. I have implemented and tested this functionality in multiple areas around Uberlândia, Brazil.

However, I’ve observed that Single Cell Location does not provide the accuracy we need, so I tried using the Multi-Cell Location service. According to the documentation (https://docs.nordicsemi.com/bundle/addon-serial_modem-latest/page/app/NRFCLOUD_AT_commands.html), the NCELLMEAS command should perform a neighboring cell scan.

During my field tests at over 15 different locations across the city, every NCELLMEAS scan returned only one cell after a few hundred milliseconds — as shown in the AT command output below. On the nRF Cloud Location web interface, my results always appear as Single Cell, never Multi-Cell.

[SER] 2023-01-01T00:00:15 TX Modem 14 bytes: AT%NCELLMEAS
[SER] 2023-01-01T00:00:15 RX Modem 6 bytes: OK
[SER] 2023-01-01T00:00:15 RX Modem 71 bytes: %NCELLMEAS: 0,"05314208","72405","9CC6",48,9610,411,71,26,7060,6733
[SER] 2023-01-01T00:00:15 TX Modem 21 bytes: AT#XNRFCLOUDPOS=2,0
[SER] 2023-01-01T00:00:15 RX Modem 6 bytes: OK
[SER] 2023-01-01T00:00:16 RX Modem 46 bytes: #XNRFCLOUDPOS: 0,-18.905003,-48.241289,546


In the coverage area of my residence, I have already observed the nRF9151 connecting to three different Cells, so I believe there is neighboring cell coverage available.

I also rebuilt and flashed the ncs-serial-modem firmware with trace logging enabled to analyze the behavior. The same issue persisted — only a single cell is reported in each scan. I’ve attached the trace log file for reference.

Could you please clarify if there are:

  1. Any specific commands or configuration parameters required to enable multi-cell scanning?

  2. Any known hardware limitations on the nRF9151 that prevent multi-cell measurements?

Thank you for your support.

trace-2025-11-18T12-54-25.346Z.mtrace

Parents
  • Even though the NCELLMEAS command works, the AT#XNRFCLOUDPOS=2,0 command is not working.
    I tested different parameters in the NCELLMEAS command, and only when I omit the search type (so it defaults to 0) does XNRFCLOUDPOS return a location—although with very poor accuracy. Sometimes it only uses the connected cell, and other times it reports just one neighbor cell. Below are some AT command examples.

    [SER] 2023-01-01T00:00:49 RX 13B:   +CSCON: 0 
    [SER] 2023-01-01T00:00:50 TX 14B: AT%NCELLMEAS  
    [SER] 2023-01-01T00:00:50 RX 6B:   OK  
    [SER] 2023-01-01T00:00:50 RX 90B:   %NCELLMEAS: 0,"05314208","72405","9CC6",48,9610,411,68,23,41732,9610,281,61,10,0,40158 
    [SER] 2023-01-01T00:00:51 TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:00:51 RX 6B:   OK  
    [SER] 2023-01-01T00:00:52 RX 46B:   #XNRFCLOUDPOS: 0,-18.905003,-48.241289,514 
    
    [SER] 2023-01-01T00:00:48 RX 13B:   +CSCON: 0  
    [SER] 2023-01-01T00:00:49 TX 14B: AT%NCELLMEAS  
    [SER] 2023-01-01T00:00:49 RX 6B:   OK  
    [SER] 2023-01-01T00:00:51 RX 73B:   %NCELLMEAS: 0,"05314208","72405","9CC6",49,9610,411,69,20,42770,39404
    [SER] 2023-01-01T00:00:51 TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:00:51 RX 6B:   OK  
    [SER] 2023-01-01T00:00:52 RX 46B:   #XNRFCLOUDPOS: 0,-18.905003,-48.241289,546  

    However, when I use search types 4 and 5 with NCELLMEAS, the scan works correctly and finds multiple cells, but XNRFCLOUDPOS always returns an “ERROR” message, as shown in these cases:

    [SER] 2023-01-01T00:01:09 RX 13B:   +CSCON: 0 
    [SER] 2023-01-01T00:01:10 TX 18B: AT%NCELLMEAS=5,8  
    [SER] 2023-01-01T00:01:10 RX 6B:   OK  
    [SER] 2023-01-01T00:01:20 RX 250B:   %NCELLMEAS: 0,"05314208","72405","9CC6",48,39738,9610,411,70,21,51695,1,0,"0530B70A","72405","9CC6",65535,0,9610,281,63,8,51
    695,0,0,"03BCF115","72423","CF8E",65535,0,1275,2,57,13,51752,0,0,"03BCF117","72423","CF8E",65535,0,1275,18,60,18,51752,0,0 
    [SER] 2023-01-01T00:01:20 TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:01:20 RX 9B:   ERROR
    
    [SER] 2023-01-01T00:02:07 RX 13B:   +CSCON: 0 
    [SER] 2023-01-01T00:02:08 TX 18B: AT%NCELLMEAS=5,5 
    [SER] 2023-01-01T00:02:08 RX 6B:   OK  
    [SER] 2023-01-01T00:02:19 RX 134B:   %NCELLMEAS: 0,"05314208","72405","9CC6",47,39410,9610,411,69,21,51660,1,0,"03BCF115","72423","CF8E",65535,0,1275,2,56,15,517
    17,0,0 
    [SER] 2023-01-01T00:02:19 TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:02:19 RX 9B:   ERROR
    
    [SER] 2023-01-01T00:00:48 RX 13B:   +CSCON: 0 
    [SER] 2023-01-01T00:00:49 TX 18B: AT%NCELLMEAS=4,5  
    [SER] 2023-01-01T00:00:49 RX 6B:   OK  
    [SER] 2023-01-01T00:00:51 RX 193B:   %NCELLMEAS: 0,"05314208","72405","9CC6",48,39357,9610,411,69,17,44018,1,0,"0530B70A","72405","9CC6",65535,0,9610,281,62,4,44
    018,0,0,"03BCF117","72423","CF8E",65535,0,1275,18,58,14,44123,0,0  
    [SER] 2023-01-01T00:00:51  TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:00:51  RX 9B:   ERROR

Reply
  • Even though the NCELLMEAS command works, the AT#XNRFCLOUDPOS=2,0 command is not working.
    I tested different parameters in the NCELLMEAS command, and only when I omit the search type (so it defaults to 0) does XNRFCLOUDPOS return a location—although with very poor accuracy. Sometimes it only uses the connected cell, and other times it reports just one neighbor cell. Below are some AT command examples.

    [SER] 2023-01-01T00:00:49 RX 13B:   +CSCON: 0 
    [SER] 2023-01-01T00:00:50 TX 14B: AT%NCELLMEAS  
    [SER] 2023-01-01T00:00:50 RX 6B:   OK  
    [SER] 2023-01-01T00:00:50 RX 90B:   %NCELLMEAS: 0,"05314208","72405","9CC6",48,9610,411,68,23,41732,9610,281,61,10,0,40158 
    [SER] 2023-01-01T00:00:51 TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:00:51 RX 6B:   OK  
    [SER] 2023-01-01T00:00:52 RX 46B:   #XNRFCLOUDPOS: 0,-18.905003,-48.241289,514 
    
    [SER] 2023-01-01T00:00:48 RX 13B:   +CSCON: 0  
    [SER] 2023-01-01T00:00:49 TX 14B: AT%NCELLMEAS  
    [SER] 2023-01-01T00:00:49 RX 6B:   OK  
    [SER] 2023-01-01T00:00:51 RX 73B:   %NCELLMEAS: 0,"05314208","72405","9CC6",49,9610,411,69,20,42770,39404
    [SER] 2023-01-01T00:00:51 TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:00:51 RX 6B:   OK  
    [SER] 2023-01-01T00:00:52 RX 46B:   #XNRFCLOUDPOS: 0,-18.905003,-48.241289,546  

    However, when I use search types 4 and 5 with NCELLMEAS, the scan works correctly and finds multiple cells, but XNRFCLOUDPOS always returns an “ERROR” message, as shown in these cases:

    [SER] 2023-01-01T00:01:09 RX 13B:   +CSCON: 0 
    [SER] 2023-01-01T00:01:10 TX 18B: AT%NCELLMEAS=5,8  
    [SER] 2023-01-01T00:01:10 RX 6B:   OK  
    [SER] 2023-01-01T00:01:20 RX 250B:   %NCELLMEAS: 0,"05314208","72405","9CC6",48,39738,9610,411,70,21,51695,1,0,"0530B70A","72405","9CC6",65535,0,9610,281,63,8,51
    695,0,0,"03BCF115","72423","CF8E",65535,0,1275,2,57,13,51752,0,0,"03BCF117","72423","CF8E",65535,0,1275,18,60,18,51752,0,0 
    [SER] 2023-01-01T00:01:20 TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:01:20 RX 9B:   ERROR
    
    [SER] 2023-01-01T00:02:07 RX 13B:   +CSCON: 0 
    [SER] 2023-01-01T00:02:08 TX 18B: AT%NCELLMEAS=5,5 
    [SER] 2023-01-01T00:02:08 RX 6B:   OK  
    [SER] 2023-01-01T00:02:19 RX 134B:   %NCELLMEAS: 0,"05314208","72405","9CC6",47,39410,9610,411,69,21,51660,1,0,"03BCF115","72423","CF8E",65535,0,1275,2,56,15,517
    17,0,0 
    [SER] 2023-01-01T00:02:19 TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:02:19 RX 9B:   ERROR
    
    [SER] 2023-01-01T00:00:48 RX 13B:   +CSCON: 0 
    [SER] 2023-01-01T00:00:49 TX 18B: AT%NCELLMEAS=4,5  
    [SER] 2023-01-01T00:00:49 RX 6B:   OK  
    [SER] 2023-01-01T00:00:51 RX 193B:   %NCELLMEAS: 0,"05314208","72405","9CC6",48,39357,9610,411,69,17,44018,1,0,"0530B70A","72405","9CC6",65535,0,9610,281,62,4,44
    018,0,0,"03BCF117","72423","CF8E",65535,0,1275,18,58,14,44123,0,0  
    [SER] 2023-01-01T00:00:51  TX 21B: AT#XNRFCLOUDPOS=2,0  
    [SER] 2023-01-01T00:00:51  RX 9B:   ERROR

Children
No Data
Related