Table of Contents

Radio scanning

Boot Noise Measurement

The BNM, which stand for Boot Noise Measurement, initiates a spectral scan at startup.

Configure BNM

These parameters can be changed by the user in the global configuration file /etc/bnm/bnm.conf. The BNM feature takes some time when the gateway is booting. To avoid Boot Noise Measurement, disable it in this file (Set disable in the field BNM_ENABLE).
The default configuration on iBTS (release 4.2) is the following:

bnm.conf
# BNM is executed at boot.
BNM_ENABLE="enable"
 
# Radio configuration.
STEP_FREQ_MHZ=1
BANDWIDTH_HZ=62500
BITRATE_BPS=600
RADIO_NB="1"
 
# Number of samples by frequency.
SAMPLES_NB=20
 
# Additional arguments for klk_spectral_scan.
ADDITIONAL_ARGS="--strip-zero"
 
# Number of seconds before scans timeout.
TIMEOUT_SEC=90
 
# Backup size in bytes.
BACKUP_SIZE=102400

RADIO_NB parameter is only available for Wirnet iBTS as this gateway owns 2 LoRa modems per LoRa module (up to 4 LoRaLOC modules). On Wirnet iFemtoCell, there is only one LoRa modem and no LoRa module.

SAMPLES_NB parameter is not taken into account for iFemtoCell-evolution and iStation product. Optimized kerlink spectral scan uses RSSI smoothing so SAMPLES_NB configuration parameter is ignored and RSSI smoothing is used instead of looping over frequencies (to have a quicker BNM).


The start frequency and the stop frequency are defined in the board-specific configuration file, in the directory /etc/bnm/. The board-specific configuration file name changes according to the region.

bnm-868.conf
# Radio configuration.
START_FREQ_MHZ=853
STOP_FREQ_MHZ=883

Example

The BNM is launched at startup

Starting BNM... done
Starting ifplugd: done
Starting Status manager
Starting System manager
Starting Time manager
Starting SMS manager
Starting Lighttpd Web Server: lighttpd.
Starting MonitStarting Monit 5.20.0 daemon with http interface at [localhost]:2812
.
Starting network management services: snmpd.
Executing network monitoring daemon...
Keros (Kerlink OS Distribution) 4.0.2 klk-lpbs-050789 /dev/console
klk-lpbs-050789 login: root

Get the result

The result of the measurement is available in the /var/log/bnm/ folder.

In this example, one LoRa module is connected. For each LoRa module, the spectral scan is done for the channel 1 and for the channel 2.
To configure the BNM to scan only one channel modify the field RADIO_NB=“1 2”.
RADIO_NB=“1”: Only channel 1 will be scan.
RADIO_NB=“2”: Only channel 2 will be scan.

Interpret the result

The following is the result of the spectral scan analysis on a Wirnet iBTS on the LoRa module located in slot 2 and for the radio channel 2.

The default configuration uses frequency steps of 1MHz on a 62500Hz bandwidth.
For each frequency, 20 samples are taken. For 868 MHz gateway, the start frequency is 853 MHz and the stop frequency 883 MHz. Thus 620 samples are measured. Former measurements are backuped in the directory /var/backups/bnm.

root@klk-lpbs-XXXXXXcat :~ # cat /var/log/bnm/bnm_slot2_radio2_180823093716.csv 
853000000,-129.0,1,-128.0,6,-127.0,13
854000000,-128.0,3,-127.0,14,-126.0,3
855000000,-128.0,1,-127.0,13,-126.0,6
856000000,-127.0,2,-126.0,16,-125.0,2
857000000,-127.0,9,-126.0,11
858000000,-127.0,2,-126.0,18
859000000,-126.0,14,-125.0,6
860000000,-125.0,9,-124.0,11
861000000,-125.0,4,-124.0,16
862000000,-125.0,1,-124.0,16,-123.0,3
863000000,-125.0,1,-124.0,16,-123.0,3
864000000,-116.0,3,-115.0,10,-114.0,7
865000000,-124.0,1,-123.0,15,-122.0,4
866000000,-123.0,8,-122.0,11,-121.0,1
867000000,-124.0,13,-123.0,7
868000000,-125.0,2,-124.0,10,-123.0,8
869000000,-126.0,1,-125.0,8,-124.0,11
870000000,-126.0,1,-125.0,5,-124.0,14
871000000,-126.0,2,-125.0,13,-124.0,5
872000000,-126.0,2,-125.0,5,-124.0,12,-123.0,1
873000000,-126.0,19,-125.0,1
874000000,-127.0,1,-126.0,18,-125.0,1
875000000,-127.0,19,-126.0,1
876000000,-128.0,8,-127.0,12
877000000,-129.0,2,-128.0,10,-127.0,8
878000000,-128.0,11,-127.0,9
879000000,-128.0,13,-127.0,7
880000000,-124.0,11,-123.0,9
881000000,-128.0,12,-127.0,8
882000000,-128.0,7,-127.0,13
883000000,-128.0,11,-127.0,9

In the above result, 20 measures have been done for 863 MHz frequency. 1 time the result was -125 dBm, 16 times -124 dBm and 3 times -123 dBm.

Known issues

Manual Spectral Scan

Operating principle

The lorascan script can be used to interact with lorad and request scans (only if LBT is not activated).

Only available with keros FW 5 and for iStation, iFemto, iFemto-evolution and iBTS (no spectralscan on iZeptoCells).

The script is packaged to include everything you need for simple installation via IPK:

Prerequisite

  1. Keros firmware must be 5.11.0
  2. lorad must be started for the script to work
  3. Gateway compatiblity:

Limitation

Not available for iZeptoCells (no sniffer).

Installation

Installation is performed via a magic link: curl –compressed -s https://upgrade.wanesy.com/spectralscan_fw5 | sh
or by installing the ipk package (in the /user/.updates directory, then kerosd -u && reboot).

Configuration

The script is configured in the /user/spectral/spectralscan.conf file:

spectralscan.conf
INTERVAL=10
STEP=20
TIMEZONE=0
CONFIGURATION_FILE=/etc/lorad/lorad.json
FREQ_MIN=
FREQ_MAX=

INTERVAL: Minutes between two scans

STEP: Number of measurements to complete the scan

TIMEZONE: Number of hours to add to timestamp (default 0)

CONFIGURATION_FILE: File to be used for scanning frequencies

FREQ_MIN/FREQ_MAX: If not, the values will be those of lorad.json

How it works

Scan at regular intervals

Activation

To start it up: /user/spectral/spectralscan –activate

To stop it: /user/spectral/spectralscan –deactivate

To uninstall it: /user/spectral/spectralscan –remove

After activation, a line is added to the crontab

*/10 * * * * /user/spectral/spectralscan --run >> /tmp/spectral.log 2>&1

In this example, scanning will take place every 10 minutes.

For manual triggering:

/user/spectral/spectralscan –run

/user/spectral/scan -periodicscan

Results

Each time the script is run, the results are stored in /var/log/spectralscan.log:

Date;863000000;863200000;863400000;863600000;863800000;864000000;864200000;864400000;864600000;864800000;865000000;865200000;865400000;865600000;865800000;866000000;866200000;866400000;866600000;866800000;867000000;867200000;867400000;867600000;867800000;868000000;868200000;868400000;868600000;868800000;869000000;869200000;869400000;869600000;869800000;870000000
2025-05-26T11:24:04+0000;-108.5;-108.5;-108.5;-108.5;-108.5;-106.0;-108.5;-109.0;-109.5;-109.5;-109.5;-109.0;-110.0;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.5;-110.5;-111.0;-111.0;-110.5;-110.0;-110.0;-109.5;-109.0;-108.5;-108.0;-108.0;-108.5;-108.0;-108.5
2025-05-26T11:36:04+0000;-109.0;-108.0;-108.0;-108.0;-108.5;-105.0;-109.0;-109.0;-110.0;-110.0;-109.5;-110.0;-110.0;-110.0;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.5;-110.0;-111.0;-111.0;-110.5;-110.0;-109.5;-109.5;-108.5;-108.5;-108.0;-108.0;-108.5;-108.5
2025-05-26T11:39:07+0000;-109.0;-108.5;-108.5;-108.0;-108.5;-106.0;-108.0;-108.0;-109.5;-109.5;-109.5;-110.5;-110.5;-110.5;-110.0;-110.5;-110.5;-111.0;-111.0;-111.0;-111.5;-111.0;-111.0;-111.0;-111.0;-110.5;-109.5;-109.0;-109.5;-109.5;-109.5;-109.0;-109.0;-108.5;-108.5;-108.0
2025-05-26T11:42:07+0000;-108.5;-108.5;-108.0;-108.0;-108.0;-105.5;-109.0;-108.5;-109.0;-109.5;-109.5;-109.5;-110.0;-109.5;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.5;-110.0;-110.5;-110.5;-110.0;-110.0;-109.5;-109.5;-108.5;-108.5;-108.0;-108.0;-108.5;-108.0
2025-05-26T11:45:07+0000;-108.0;-108.0;-108.0;-108.5;-108.5;-106.5;-108.5;-109.5;-109.5;-109.5;-109.5;-109.5;-109.5;-110.0;-111.0;-111.0;-111.0;-111.0;-111.5;-111.0;-111.0;-110.5;-110.5;-111.0;-111.0;-111.0;-110.5;-110.0;-110.0;-109.5;-108.5;-108.0;-108.5;-108.5;-108.5;-108.5
2025-05-26T11:48:07+0000;-108.0;-108.0;-108.5;-108.5;-108.5;-106.0;-109.0;-109.0;-109.0;-109.5;-109.5;-109.5;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.5;-110.5;-111.0;-111.0;-110.5;-110.5;-109.5;-109.5;-109.0;-108.5;-108.5;-108.5;-108.5;-108.5;-108.5
2025-05-26T11:51:07+0000;-108.5;-108.0;-108.0;-108.5;-108.5;-106.0;-108.5;-109.0;-109.5;-109.5;-109.5;-109.5;-109.5;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.0;-110.5;-110.0;-110.5;-110.0;-109.5;-110.0;-109.5;-109.0;-108.5;-108.0;-108.0;-108.5;-108.5

Scan with duration

Activation

To start it:

Manually: /user/spectral/scan -fullscan 30

If no value is entered for duration, the script scans for 120s.

Max value for duration is 300s

By Magic Link: curl –compressed -s https://upgrade.wanesy.com/spectralscan_90s | sh
The duration value is set to 90s.

Results
./scan -fullscan 10
Starting full scan from 863000000 to 870000000 Hz (36 steps) with duration 10s
Full scan CSV saved to /var/log/full_scan.20250526_115723.csv

Date;863000000;863200000;863400000;863600000;863800000;864000000;864200000;864400000;864600000;864800000;865000000;865200000;865400000;865600000;865800000;866000000;866200000;866400000;866600000;866800000;867000000;867200000;867400000;867600000;867800000;868000000;868200000;868400000;868600000;868800000;869000000;869200000;869400000;869600000;869800000;870000000
2025-05-26T11:57:28+0000;-108.5;-108.0;-108.0;-108.5;-108.0;-106.0;-109.0;-109.5;-109.5;-109.5;-109.5;-109.5;-109.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.0;-110.5;-111.0;-111.0;-110.5;-110.0;-110.0;-109.5;-109.5;-108.5;-108.0;-108.5;-108.5;-108.0;-108.5
2025-05-26T11:57:29+0000;-108.5;-108.0;-108.0;-108.0;-108.5;-105.5;-109.0;-109.5;-109.5;-109.5;-109.0;-109.5;-110.5;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.0;-110.5;-111.0;-110.5;-111.0;-110.5;-109.5;-109.5;-109.5;-109.0;-108.5;-108.0;-108.0;-108.5;-108.5;-108.5
2025-05-26T11:57:30+0000;-108.0;-108.0;-108.0;-108.0;-108.5;-106.5;-108.5;-109.0;-109.5;-109.5;-109.5;-109.5;-110.0;-110.0;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.0;-111.0;-110.5;-110.0;-109.5;-109.5;-109.0;-109.0;-108.5;-108.0;-108.0;-108.5;-108.5
2025-05-26T11:57:31+0000;-108.0;-108.0;-108.5;-108.0;-108.5;-106.5;-109.0;-109.5;-109.5;-109.5;-109.5;-109.5;-109.5;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.0;-111.0;-111.0;-111.0;-110.5;-109.5;-109.5;-109.5;-109.0;-108.0;-108.5;-108.5;-108.5;-108.5
2025-05-26T11:57:32+0000;-108.0;-108.0;-108.0;-108.5;-108.0;-106.0;-109.0;-109.0;-109.5;-110.0;-109.5;-109.5;-110.0;-110.5;-111.0;-110.5;-111.0;-111.0;-111.0;-111.5;-111.0;-110.0;-111.0;-110.5;-111.0;-110.5;-109.5;-109.5;-109.5;-109.5;-108.5;-108.0;-108.0;-108.5;-108.5;-108.5
2025-05-26T11:57:33+0000;-108.5;-108.0;-108.5;-109.0;-108.5;-106.5;-108.5;-109.5;-109.5;-109.5;-109.5;-109.5;-110.0;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.0;-110.5;-110.0;-110.5;-110.5;-110.5;-110.5;-109.5;-109.5;-109.5;-108.5;-108.5;-108.5;-108.5;-108.5;-108.5
2025-05-26T11:57:34+0000;-108.5;-108.0;-108.5;-108.5;-108.5;-105.5;-109.0;-109.0;-109.5;-109.5;-109.5;-109.5;-110.0;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.5;-110.5;-111.0;-110.5;-110.0;-109.5;-109.5;-109.5;-108.5;-108.0;-108.5;-108.5;-108.5;-108.5
2025-05-26T11:57:35+0000;-108.5;-108.0;-108.5;-108.0;-109.0;-105.0;-108.5;-109.0;-109.0;-109.5;-109.0;-109.5;-110.0;-110.5;-111.0;-111.0;-110.5;-111.0;-111.0;-111.0;-110.5;-110.5;-110.0;-111.0;-111.0;-110.0;-110.5;-109.5;-109.5;-109.5;-109.0;-108.5;-108.0;-108.5;-108.5;-108.5
2025-05-26T11:57:36+0000;-108.0;-108.0;-108.0;-108.0;-108.5;-106.0;-108.5;-109.5;-109.5;-109.5;-109.5;-109.5;-109.5;-110.5;-111.0;-110.5;-111.0;-111.0;-111.0;-111.0;-110.5;-110.0;-110.5;-110.5;-110.0;-110.5;-110.0;-110.0;-109.5;-109.5;-108.5;-108.0;-108.0;-108.5;-108.0;-108.5
2025-05-26T11:57:37+0000;-108.5;-108.0;-108.0;-108.0;-108.5;-106.5;-108.5;-108.5;-109.5;-109.5;-109.5;-109.5;-109.5;-110.0;-111.0;-111.0;-111.0;-111.0;-111.5;-111.0;-111.0;-111.0;-109.5;-110.5;-110.5;-111.0;-110.0;-109.5;-110.0;-109.0;-108.5;-108.0;-108.0;-108.5;-108.5;-108.5
2025-05-26T11:57:38+0000;-108.5;-108.0;-108.0;-108.5;-108.5;-106.5;-108.5;-109.5;-109.5;-109.5;-109.5;-109.0;-109.5;-111.0;-110.5;-111.0;-111.0;-111.0;-111.0;-111.0;-111.0;-110.5;-110.5;-110.5;-110.5;-110.0;-109.5;-109.5;-109.5;-109.0;-109.0;-108.5;-108.0;-108.0;-108.5;-108.5
2025-05-26T11:57:39+0000;-108.5;-108.0;-108.0;-108.0;-108.5;-106.5;-109.0;-109.5;-109.5;-109.5;-109.5;-109.5;-109.5;-110.5;-111.0;-110.5;-111.0;-111.0;-111.0;-110.5;-110.5;-110.5;-110.5;-111.0;-111.0;-110.5;-110.5;-109.5;-109.5;-109.5;-109.0;-108.0;-108.0;-108.5;-108.5;-108.5

How to Exploiting results

If the scan has been launched with the ML, the result is automatically displayed in the cockpit logs.

In Scan at regular intervals case, files can be retrieved using the classic get_logs function.

Package

spectralscan_1.3.0_klkgw.ipk