Before I go into the details of this issue, I’d like to mention that I’m well aware of Chirpstack v4, but would prefer to stay with v3 because I’ve had issue with getting v4 working properly. Here are the steps performed to get ChirpStack OS 3.6.0 working with the RPi4:
- Flashed chirpstack-gateway-os-full-raspberrypi4-20220802203912.rootfs.wic.gz into an SD card
- Updated the OS with chirpstack-gateway-os-full-update-raspberrypi4-20220802203912.swu
- Ran gateway-config and set the following:
Set concentrator shield to SX1302 CoreCell, US915, Channels 0-7 +64
Edited Concentratord config by modifying lorawan_public = true to false
Copied a modified version of chirpstack-network-server.toml into /etc/chirpstack-network-server/chirpstack-network-server.toml
- Pretty typical network server configuration, the only major thing to notice is ADR is disabled with “disable_adr=true”
Network-server, Service-profile, Device-Profile, Gateway, and Application are all created via the ChirpStack OS GUI
Installed a custom application in ChirpStack OS, which is responsible for automatically creating devices and sending downlinks to sensors.
In summary, the network is set up to be a private network with ADR disabled. As seen in device_data_RPi4 and device_lorawan_frames_RPi4 below, ChirpStack works beautifully:
The LoRa device (STM32WL) reliably joins the network, and two uplinks and downlinks are successfully achieved. Awesome! Now I want to migrate this exact same setup on a RPi0 W.
I repeated the steps above, but with chirpstack-gateway-os-full-raspberrypi0-wifi-20220803152030.rootfs.wic.gz and chirpstack-gateway-os-full-update-raspberrypi0-wifi-20220803152030.swu respectively.
I expected to get the same successful operation, but instead I receive a “frame-counter did not increment error” and I’m having a hard time resolving this:
The same exact device firmware that works for the RPi4 Chirpstack OS does not work for the RPI0-W ChirpStack OS even though I’ve verified that both gateway parameters are identical. The device is configured as a nucleo-wl55jc-profile-32.yaml device. From reading similar issues on the forum, I have a feeling that the argument “it’s something wrong with the sensor” will be made. I have a hard time agreeing with this, considering the device works fine on the RPI4 variant of ChirpStack OS. The changing variable is the gateway, not the sensor.
I wanted to attach the corresponding json files and chirpstack-network-server.toml, but unfortunately those extensions are not allowed to be uploaded here. Any insights towards resolving this would be greatly appreciated!