Not Receiving Any Beacons in LoRaWAN Class B

Hi everyone,

I’m working with an STM32 B-L072Z-LRWAN1 board and a Lorank8 gateway (Beaglebone + iC880a concentrator), using the I-CUBE-LRWAN expansion software package.

I have successfully implemented Class A and Class C with Chirpstack and TTN, but I’m facing issues with Class B: I cannot receive any beacons at all.

This is what I get in the end-device logs:

========== MCPS-Confirm =============

1742226431s914:RX_BC on freq 869525000 Hz at DR 3
1742226432s132:MAC rxTimeOut

It seems that the device is trying to listen for beacons, but it never receives one.
This is the gateway log:

Mar 17 15:57:01 Lorank8 lorank8v1[1635]: ### [DOWNSTREAM] ###
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # PULL_DATA sent: 3 (100.00% acknowledged)
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # PULL_RESP(onse) datagrams received: 0 (0 bytes)
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # RF packets sent to concentrator: 1 (0 bytes)
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # TX errors: 0
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # TX rejected (collision packet): 0.00% (req:11, rej:0)
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # TX rejected (collision beacon): 0.00% (req:11, rej:0)
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # TX rejected (too late): 0.00% (req:11, rej:0)
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # TX rejected (too early): 0.00% (req:11, rej:0)
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # BEACON queued: 14
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # BEACON sent so far: 10
Mar 17 15:57:01 Lorank8 lorank8v1[1635]: # BEACON rejected: 0

The gateway global_conf.json:

{
“SX1301_conf”: {
“lorawan_public”: true,
“clksrc”: 1, /* radio_1 provides clock to concentrator /
“lbt_cfg”: {
“enable”: false,
“rssi_target”: -80, /
dBm /
“chan_cfg”:[ /
8 channels maximum /
{ “freq_hz”: 867100000, “scan_time_us”: 128 },
{ “freq_hz”: 867300000, “scan_time_us”: 5000 },
{ “freq_hz”: 867500000, “scan_time_us”: 128 },
{ “freq_hz”: 869525000, “scan_time_us”: 128 }
],
“sx127x_rssi_offset”: -4 /
dB /
},
“antenna_gain”: 0, /
antenna gain, in dBi /
“radio_0”: {
“enable”: true,
“type”: “SX1257”,
“freq”: 867500000,
“rssi_offset”: -166.0,
“tx_enable”: true,
“tx_notch_freq”: 129000, /
[126…250] KHz /
“tx_freq_min”: 863000000,
“tx_freq_max”: 870000000
},
“radio_1”: {
“enable”: true,
“type”: “SX1257”,
“freq”: 868500000,
“rssi_offset”: -166.0,
“tx_enable”: false
},
“chan_multiSF_0”: {
/
Lora MAC channel, 125kHz, all SF, 868.1 MHz /
“enable”: true,
“radio”: 1,
“if”: -400000
},
“chan_multiSF_1”: {
/
Lora MAC channel, 125kHz, all SF, 868.3 MHz /
“enable”: true,
“radio”: 1,
“if”: -200000
},
“chan_multiSF_2”: {
/
Lora MAC channel, 125kHz, all SF, 868.5 MHz /
“enable”: true,
“radio”: 1,
“if”: 0
},
“chan_multiSF_3”: {
/
Lora MAC channel, 125kHz, all SF, 867.1 MHz /
“enable”: true,
“radio”: 0,
“if”: -400000
},
“chan_multiSF_4”: {
/
Lora MAC channel, 125kHz, all SF, 867.3 MHz /
“enable”: true,
“radio”: 0,
“if”: -200000
},
“chan_multiSF_5”: {
/
Lora MAC channel, 125kHz, all SF, 867.5 MHz /
“enable”: true,
“radio”: 0,
“if”: 0
},
“chan_multiSF_6”: {
/
Lora MAC channel, 125kHz, all SF, 867.7 MHz /
“enable”: true,
“radio”: 0,
“if”: 200000
},
“chan_multiSF_7”: {
/
Lora MAC channel, 125kHz, all SF, 867.9 MHz /
“enable”: true,
“radio”: 0,
“if”: 400000
},
“chan_Lora_std”: {
/
Lora MAC channel, 250kHz, SF7, 868.3 MHz /
“enable”: true,
“radio”: 1,
“if”: -200000,
“bandwidth”: 250000,
“spread_factor”: 7
},
“chan_FSK”: {
/
FSK 50kbps channel, 868.8 MHz /
“enable”: true,
“radio”: 1,
“if”: 300000,
“bandwidth”: 125000,
“datarate”: 50000
},
“tx_lut_0”: {
/
TX gain table, index 0 /
“pa_gain”: 0,
“mix_gain”: 8,
“rf_power”: -6,
“dig_gain”: 0
},
“tx_lut_1”: {
/
TX gain table, index 1 /
“pa_gain”: 0,
“mix_gain”: 10,
“rf_power”: -3,
“dig_gain”: 0
},
“tx_lut_2”: {
/
TX gain table, index 2 /
“pa_gain”: 0,
“mix_gain”: 12,
“rf_power”: 0,
“dig_gain”: 0
},
“tx_lut_3”: {
/
TX gain table, index 3 /
“pa_gain”: 1,
“mix_gain”: 8,
“rf_power”: 3,
“dig_gain”: 0
},
“tx_lut_4”: {
/
TX gain table, index 4 /
“pa_gain”: 1,
“mix_gain”: 10,
“rf_power”: 6,
“dig_gain”: 0
},
“tx_lut_5”: {
/
TX gain table, index 5 /
“pa_gain”: 1,
“mix_gain”: 12,
“rf_power”: 10,
“dig_gain”: 0
},
“tx_lut_6”: {
/
TX gain table, index 6 /
“pa_gain”: 1,
“mix_gain”: 13,
“rf_power”: 11,
“dig_gain”: 0
},
“tx_lut_7”: {
/
TX gain table, index 7 /
“pa_gain”: 2,
“mix_gain”: 9,
“rf_power”: 12,
“dig_gain”: 0
},
“tx_lut_8”: {
/
TX gain table, index 8 /
“pa_gain”: 1,
“mix_gain”: 15,
“rf_power”: 13,
“dig_gain”: 0
},
“tx_lut_9”: {
/
TX gain table, index 9 /
“pa_gain”: 2,
“mix_gain”: 10,
“rf_power”: 14,
“dig_gain”: 0
},
“tx_lut_10”: {
/
TX gain table, index 10 /
“pa_gain”: 2,
“mix_gain”: 11,
“rf_power”: 16,
“dig_gain”: 0
},
“tx_lut_11”: {
/
TX gain table, index 11 /
“pa_gain”: 3,
“mix_gain”: 9,
“rf_power”: 20,
“dig_gain”: 0
},
“tx_lut_12”: {
/
TX gain table, index 12 /
“pa_gain”: 3,
“mix_gain”: 10,
“rf_power”: 23,
“dig_gain”: 0
},
“tx_lut_13”: {
/
TX gain table, index 13 /
“pa_gain”: 3,
“mix_gain”: 11,
“rf_power”: 25,
“dig_gain”: 0
},
“tx_lut_14”: {
/
TX gain table, index 14 /
“pa_gain”: 3,
“mix_gain”: 12,
“rf_power”: 26,
“dig_gain”: 0
},
“tx_lut_15”: {
/
TX gain table, index 15 */
“pa_gain”: 3,
“mix_gain”: 14,
“rf_power”: 27,
“dig_gain”: 0
}
},

“gateway_conf”: {
“gateway_ID”: “xxxxxxxx”,
/* change with default server address/ports, or overwrite in local_conf.json /
“server_address”: “xxxxx”,
“serv_port_up”: 1700,
“serv_port_down”: 1700,
/
adjust the following parameters for your network /
“keepalive_interval”: 10,
“stat_interval”: 30,
“push_timeout_ms”: 100,
/
forward only valid packets /
“forward_crc_valid”: true,
“forward_crc_error”: false,
“forward_crc_disabled”: false,
/
GPS configuration /
“gps_tty_path”: “/dev/ttyS4”,
/
GPS reference coordinates */
“ref_latitude”: 0.0,
“ref_longitude”: 0.0,
“ref_altitude”: 0,
/ Beaconing parameters /
“beacon_period”: 128,
“beacon_freq_hz”: 869525000,
“beacon_datarate”: 9,
“beacon_bw_hz”: 125000,
“beacon_power”: 14,
“beacon_infodesc”: 0
}
}

And my Chirpstack config:

Has anyone encountered this issue before? Could this be a problem with my gateway configuration, or am I missing something in my end-device setup?

Any help or suggestions would be greatly appreciated!

Thanks in advance!

Does this gateway have the GPS antenna connected, GPS device configured correctly and have line-of-sight with the sky? The stock UDP packet forwarder from Semtech was made to work with the GPS.

Yes, I am using GPS NEO-6M UBLOX:

root@Lorank8:~/lorank8v1# cat /dev/ttyS4
1.47,2.4104
$GPGSV,3,1,11,01,36,267,42,02,54,292,45,03,12,208,40,08,81,344,37
79
$GPGSV10,43,049,27,14,05,324,16,18,172,30,21,68,323,4170
$GPGSV,3,3,11,23,03,038,15,27,55,113,22,32,22,103,26
45