1. Doodle Labs Technical Library
  2. Software Guides
  3. SENSE - Central Configuration, ACS, and Link Recovery

Advanced Sense Debug Guide

April 2024 Sense Update

Introduction:

Sense is the name of our upgraded Central Con guration, Automatic Band / Channel / Bandwidth selection, and Link Recovery utility. Sense was introduced in the July 2023 Beta Resilience Release and it is an ongoing feature development. The April 2024 Sense Upgrade Release introduces updates in the way that Sense is configured. In particular, it is no longer necessary to set up the messaging system. The primary and secondary node automatically detect one another as long as they can connect to each other. Furthermore, Sense is now supported on the new C-Band Mesh Rider radios.

Updates Compared to the February 2024 Release:

  1. The Central Config messaging system was replaced by a new messaging system which does not require manual set up. There are differences in the ubus messaging system calls.
  2. The primary and secondary nodes detect each other automatically.
  3. C-Band Mesh Rider radios are supported.
  4. Some issues with the link recovery were fixed making it more reliable that in the February 2024 release.

General Sense Behavior

The Sense protocol can be broken down into a few subsystems:

  1. The messaging system
  2. The initial configuration
  3. The link monitoring
  4. The link recovery
  5. Manual channel/band/bandwidth switching

The Sense  protocol defines an ACS channel entry as a particular channel in a particular band with a particular bandwidth. e.g. channel 7 in the 2450-MHz band with a 10-MHz bandwidth. The  list of ACS channel entries is called the ACS channel list. Only ACS channel entries in the ACS  channel list are used by Sense. The radios can only perform automatic channel selection on a  maximum of 18 channels (more can be chosen through UCI). After the user configures Sense, each node constantly monitors the RF link using several metrics.  If any of these metrics crosses a user-defined threshold which indicates a bad link, the radios  will exchange messages indicating a switch to a new ACS channel entry. If the link is ever lost, the radios go into Link Recovery mode and attempt to recover the link as quickly as possible. It is also possible to manually force switch to a new ACS channel entry.

To start with Sense, navigate to Services -> Sense (Fig. 2) in the web GUI.

Manual Band/Channel/Bandwidth Switching:


It is possible to manually change the Band/Channel/Bandwidth while Sense is running. This is done in the Manual Band Switching tab shown in Fig. 1. Note, that if the link is lost, then the radios will attempt to recover the link using a channel ID in the ACS channel list.

 

Fig. 1 Sense Manual Band Switching

You can furthermore execute a manual band/channel/bandwidth switch using the ubus command located directly below.

Here we are switching to channel 50 with a bandwidth of 5-MHz, using the specific submodel RM-1675-2L-X . You can get a list of valid submodels by running the following command (output shown)

You can check the current band settings using

In the example above, you can see that the radio is on channel 51 (1675 MHz), with a bandwidth of 10 MHz. You can check the connectivity to other nodes using

In this case, there is one other radio in the network (00301a4ebb01), and the last packet received from it was 60ms ago. The transmit quality is 246/255 which is very good, and as it is the only other radio in the network, the Nexthop is directly to the other radio over the wlan0 interface.

 

Sense Configuration:

Pre-Configuration

Before setting up Sense, the two radios should ideally be in the same state. We recommend factory resetting the radios, and then applying the same configuration in the Simple Configuration -> Simple Configuration menu.

Setting up the messaging

It is no longer necessary to set up the messaging system in the April 2024 Sense upgrade release.

Automatic Channel/Band/Bandwidth Selection

Automatic Channel/Band/Bandwidth selection was added to get the best performance from our Mulitband Mesh Rider radios. This is configured in the Sense tab shown in Fig. 3.You can configure the Link Monitoring thresholds discussed earlier on this page.

  • The Packet Loss Ratio Threshold is based on the percentage of packets that were lost over the last interval (default 2000ms). Default 60 %.
  • The Busy Time Threshold is based on the percentage of airtime that is in use. Default 80%.
  • The Inactive Time Threshold is how long it has been since the radio received a packet. Default 1000ms.

Fig. 3 Automatic Channel/Band/Bandwidth Selection configuration

 

In order to configure Sense,

  • For a Secondary node,
    • Check the Enable Auto Channel Selection Multiband
      box to enable the feature.
    • Input the password, or upload a license (to be added)
    • click Save & Apply
  • For the Primary node,
    • Check the Enable Auto Channel Selection Multiband box to enable the feature.
    • Input the password, or upload a license (to be added)
  • Check the Is Main Peer box
  • Adjust the thresholds to your preference.
  • Choose your white listed bands and bandwidths OR manually add ACS Channels at the bottom of the page (this will become the ACS channel list).
  • Only No Scan is possible in the Noise Scan Type.

After clicking Save & Apply on the Master node, it will send the Sense configuration to the Secondary node.

ACS Channel List Configuration

As discussed earlier, the Sense  protocol uses a limited list of channels for automatic channel selection and link recovery called the ACS channel list. The ACS channel list can either be

  • Entered manually through the GUI.
    • The limit is 18 channels.
  • Entered manually through the CLI.
    • There is no limit, but we recommend a maximum of 18 channels.
  • Automatically chosen based on the white list.
    • For this option, clear all manual ACS channel list settings in the GUI, and then
      whitelist bands and bandwidths in the GUI.
    • The radio will always choose the lowest/middle/highest channel in each band up
      to a maximum of 18 channels.

The UCI parameters for a single ACS channel list entry are shown below

We discussed how to get a list of valid submodels here.

Link Recovery Setup

Link recovery is enabled automatically as long as Sense is enabled (in the Sense tab). There is no configuration for Link Recovery. If the link is lost, then the radios will search the ACS channel list until the link recovers.

 

Advanced Configuration and Debugging

Additional Sense Configuration

Sense can be configured over the CLI using UCI. The listing below shows an example configuration.

Note the following parameters on the primary node ...

... and the corresponding parameters on the secondary node

These parameters define the Sense node that each radio is associated to. This is automatically detected when Sense is started from the GUI, but they are changed in the CLI.

Advanced Debugging

You can make use of the syslog to log additional debugging information. For example, you  an create the following script at /opt/chan-debug.sh

... which adds the signal strength and channel setting to the syslog every 1 second.

This can be started automatically by creating the following init script at /etc/init.d/chan-debug

 

In order to get this working, remember to change the permissions on both files, andenable/start the script.