2.4GHz Configuration - MAC command pending error

Hi, I’m trying to utilize 2.4GHz band for communication with a STM32 based sensor and although I’m getting the data consistently, I’m still seeing this error in the network server logs:

I’m not well versed with GO language, so is it possible to point out where this error is originating from?

Also how to configure the CFList to include the extra channels based on my chirpstack network server configuration file?
This is my configuration file:

[network_server]
net_id=“000000”
[network_server.band]
name=“ISM2400”
uplink_dwell_time_400ms=false
downlink_dwell_time_400ms=false

uplink_max_eirp=-1
repeater_compatible=false

[network_server.network_settings]
installation_margin=10

rx_window=0
rx1_delay=1
rx1_dr_offset=0
rx2_dr=-1
rx2_frequency=-1
rx2_prefer_on_rx1_dr_lt=0
rx2_prefer_on_link_budget=false
gateway_prefer_min_margin=10

downlink_tx_power=-1

disable_mac_commands=false

disable_adr=true

max_mac_command_error_count=3

enabled_uplink_channels=[]

adr_plugins=[]

[network_server.network_settings]

[[network_server.network_settings.extra_channels]]
frequency=2403000000
min_dr=0
max_dr=5

[[network_server.network_settings.extra_channels]]
frequency=2425000000
min_dr=0
max_dr=5

[[network_server.network_settings.extra_channels]]
frequency=2479000000
min_dr=0
max_dr=5

#[[network_server.network_settings.extra_channels]]
#frequency=867700000
#frequency=2427000000
#min_dr=0
#max_dr=5

#[[network_server.network_settings.extra_channels]]
#frequency=867900000
#frequency=2429000000
#min_dr=0
#max_dr=5

#[[network_server.network_settings.extra_channels]]
#frequency=2431000000
#min_dr=0
#max_dr=5

#[[network_server.network_settings.extra_channels]]
#frequency=2479000000
#min_dr=0
#max_dr=5

[network_server.api]
bind=“0.0.0.0:8000”

type=“mqtt”

event_topic="gateway/+/event/+"
command_topic_template="gateway/{{ .GatewayID }}/command/{{ .CommandType }}"
server="tcp://localhost:1883"
username=""
password=""

This is a bug:

The frequency field is 24 bits, thus the max value is (2^24)-1) = 16_777_215. The actual channel freq (in Hz) is x 100, thus the max allowed value in Hz is 100 x 16_777_215 = 1_677_721_500.

What I missed is that for 2.4GHz, this is different:

For the ISM2400 region, the following encoding must be used: The frequency (Freq) field is a 24-bit unsigned integer. The actual channel frequency in Hz is (200 x Freq), whereby values representing frequencies below 200MHz are reserved for future use. This allows setting the frequency of a channel anywhere between 200MHz to 3.35GHz in 200Hz steps.

Could you please report this as a bug here: GitHub - brocaar/lorawan: Package lorawan provides structures and tools to read and write LoraWAN messages from and to a slice of bytes.? That is the library that handles the LoRaWAN frame encoding / decoding. I think what is needed is that depending the input freq, it is either divided by 100 or by 200.

Thanks @brocaar for the quick reply. I have reported the bug with the following name:
2.4GHz MAC-Command pending error, Frequency mismatching #65

2 Likes