Title: Issues Switching to Class B - STM32 B-L072Z-LRWAN1 + LoRaNK8 + ChirpStack
Hello everyone,
I’m trying to set up a Class B end-device using an STM32 B-L072Z-LRWAN1. I’m using the manufacturer-provided code to send Class B messages.
My gateway is a LoRaNK8, which consists of a BeagleBone Green and an iC880A concentrator. It is running the Semtech packet_forwarder and is configured to send beacons. Here is my gateway configuration:
"gateway_conf": {
"gateway_ID": "xxxxxxxxxx",
"server_address": "172.24.100.xx",
"serv_port_up": 1700,
"serv_port_down": 1700,
"keepalive_interval": 10,
"stat_interval": 30,
"push_timeout_ms": 100,
"forward_crc_valid": true,
"forward_crc_error": false,
"forward_crc_disabled": false,
"gps_tty_path": "/dev/ttyS4",
"ref_latitude": 0.0,
"ref_longitude": 0.0,
"ref_altitude": 0,
"beacon_period": 128,
"beacon_freq_hz": 869525000,
"beacon_datarate": 9,
"beacon_bw_hz": 125000,
"beacon_power": 14,
"beacon_infodesc": 0
}
My gateway service is running:
● lorank.service - Lorank activation
Loaded: loaded (/lib/systemd/system/lorank.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-03-13 10:11:27 UTC; 1h 44min ago
Main PID: 1194 (start)
Tasks: 8 (limit: 1010)
Memory: 572.0K
CPU: 3min 24.882s
CGroup: /system.slice/lorank.service
├─1194 /bin/bash /root/lorank8v1/start
└─1207 ./lora_pkt_fwd
Additionally, I can see beacon-related logs:
Mar 13 11:55:31 Lorank8 lorank8v1[1207]: src/jitqueue.c:453:jit_print_queue(): INFO: [jit] queue contains 3 beacons:
Mar 13 11:55:31 Lorank8 lorank8v1[1207]: src/jitqueue.c:456:jit_print_queue(): - node[0]: count_us=1983604652 - type=3
Mar 13 11:55:31 Lorank8 lorank8v1[1207]: src/jitqueue.c:456:jit_print_queue(): - node[1]: count_us=2111604967 - type=3
Mar 13 11:55:31 Lorank8 lorank8v1[1207]: src/jitqueue.c:456:jit_print_queue(): - node[2]: count_us=2238606344 - type=3
On the ChirpStack side, after the join, I receive the PingSlotChannelReq and PingSlotChannelAns MAC commands:
chirpstack_1 | 2025-03-13T12:01:27.569912Z INFO up{deduplication_id=1d7d059e-ab7c-4d88-8a65-8de794154564}:data_up{dev_eui="70b3d57ed006e410"}: chirpstack::storage::mac_command: Pending mac-command block deleted dev_eui=70b3d57ed006e410 cid=PingSlotChannelAns
chirpstack_1 | 2025-03-13T12:00:27.661970Z INFO up{deduplication_id=7696548c-fa76-4353-b429-02c1f2d610cf}:data_up{dev_eui="70b3d57ed006e410"}:data_down{downlink_id=470485088}: chirpstack::storage::mac_command: Pending mac-command block set dev_eui=70b3d57ed006e410 cid=PingSlotChannelReq
However, my uplink messages are still marked as Class A instead of Class B. I am unsure what additional steps are required to complete the transition to Class B.
Has anyone faced a similar issue? Any help or suggestions would be greatly appreciated!
Thanks!