Hi!
I have a RAK2245 Pi Hat, running on a RasPi 3B with current Raspbian (tested both with latest image as well as with clean Raspbian & rak_common_for_gateway).
The gateway is configured with TTN. Receiving of packets and forwarding them to TTN works without any issue.
However, I have a problem with the downlink. On my test setup I have three devices:
- the RAK2245 PiHat
- a LoRa Class A device (based on RFM95 and ATmega328p)
- a LoRa “sniffer” (based on TTGO LoRa32)
When my LoRa node (RFM95) sends a message, the message is received by the PiHat and forwarded to TTN. A downlink message then should be sent with RX1, but it actually is NOT sent from the PiHat.
When I run util_tx_test
to send a package, I can see it on both my sniffer and my LoRa node:
/opt/ttn-gateway/lora_gateway/util_tx_test/util_tx_test -r 1257 -f 867.3 -m LORA -b 125 -s 8 -c 4 -l 8 -z 10 -x 1
However, the downlink message from TTN is not sent…
This is some output from lora_pkt_fwd
:
./start.sh
*** Beacon Packet Forwarder for Lora Gateway ***
Version: 4.0.1
*** Lora concentrator HAL library version info ***
Version: 5.0.1;
***
INFO: Little endian host
INFO: found global configuration file global_conf.json, parsing it
INFO: global_conf.json does contain a JSON object named SX1301_conf, parsing SX1301 parameters
INFO: lorawan_public 1, clksrc 1
lgw_board_setconf:427: Note: board configuration; lorawan_public:1, clksrc:1
INFO: no configuration for LBT
INFO: antenna_gain 0 dBi
INFO: Configuring TX LUT with 16 indexes
INFO: radio 0 enabled (type SX1257), center frequency 867500000, RSSI offset -166.000000, tx enabled 1, tx_notch_freq 0
lgw_rxrf_setconf:476: WARNING: NOT A VALID TX NOTCH FILTER FREQUENCY [126000..250000]Hz
lgw_rxrf_setconf:488: Note: rf_chain 0 configuration; en:1 freq:867500000 rssi_offset:-166.000000 radio_type:2 tx_enable:1 tx_notch_freq:0
INFO: radio 1 enabled (type SX1257), center frequency 868500000, RSSI offset -166.000000, tx enabled 0, tx_notch_freq 0
lgw_rxrf_setconf:488: Note: rf_chain 1 configuration; en:1 freq:868500000 rssi_offset:-166.000000 radio_type:2 tx_enable:0 tx_notch_freq:0
INFO: Lora multi-SF channel 0> radio 1, IF -400000 Hz, 125 kHz bw, SF 7 to 12
lgw_rxif_setconf:607: Note: LoRa 'multi' if_chain 0 configuration; en:1 freq:-400000 SF_mask:0x7e
INFO: Lora multi-SF channel 1> radio 1, IF -200000 Hz, 125 kHz bw, SF 7 to 12
lgw_rxif_setconf:607: Note: LoRa 'multi' if_chain 1 configuration; en:1 freq:-200000 SF_mask:0x7e
INFO: Lora multi-SF channel 2> radio 1, IF 0 Hz, 125 kHz bw, SF 7 to 12
lgw_rxif_setconf:607: Note: LoRa 'multi' if_chain 2 configuration; en:1 freq:0 SF_mask:0x7e
INFO: Lora multi-SF channel 3> radio 0, IF -400000 Hz, 125 kHz bw, SF 7 to 12
lgw_rxif_setconf:607: Note: LoRa 'multi' if_chain 3 configuration; en:1 freq:-400000 SF_mask:0x7e
INFO: Lora multi-SF channel 4> radio 0, IF -200000 Hz, 125 kHz bw, SF 7 to 12
lgw_rxif_setconf:607: Note: LoRa 'multi' if_chain 4 configuration; en:1 freq:-200000 SF_mask:0x7e
INFO: Lora multi-SF channel 5> radio 0, IF 0 Hz, 125 kHz bw, SF 7 to 12
lgw_rxif_setconf:607: Note: LoRa 'multi' if_chain 5 configuration; en:1 freq:0 SF_mask:0x7e
INFO: Lora multi-SF channel 6> radio 0, IF 200000 Hz, 125 kHz bw, SF 7 to 12
lgw_rxif_setconf:607: Note: LoRa 'multi' if_chain 6 configuration; en:1 freq:200000 SF_mask:0x7e
INFO: Lora multi-SF channel 7> radio 0, IF 400000 Hz, 125 kHz bw, SF 7 to 12
lgw_rxif_setconf:607: Note: LoRa 'multi' if_chain 7 configuration; en:1 freq:400000 SF_mask:0x7e
INFO: Lora std channel> radio 1, IF -200000 Hz, 250000 Hz bw, SF 7
lgw_rxif_setconf:581: Note: LoRa 'std' if_chain 8 configuration; en:1 freq:-200000 bw:2 dr:2
INFO: FSK channel> radio 1, IF 300000 Hz, 125000 Hz bw, 50000 bps datarate
lgw_rxif_setconf:637: Note: FSK if_chain 9 configuration; en:1 freq:300000 bw:3 dr:50000 (50000 real dr) sync:0xC194C1
INFO: global_conf.json does contain a JSON object named gateway_conf, parsing gateway parameters
INFO: gateway MAC address is configured to DCA632FFFE0AFB72
INFO: server hostname or IP address is configured to "router.eu.thethings.network"
INFO: upstream port is configured to "1700"
INFO: downstream port is configured to "1700"
INFO: downstream keep-alive interval is configured to 10 seconds
INFO: statistics display interval is configured to 30 seconds
INFO: upstream PUSH_DATA time-out is configured to 100 ms
INFO: packets received with a valid CRC will be forwarded
INFO: packets received with a CRC error will NOT be forwarded
INFO: packets received with no CRC will NOT be forwarded
INFO: Reference latitude is configured to 49.XXXXXX deg
INFO: Reference longitude is configured to 10.XXXXXX deg
INFO: Reference altitude is configured to 299 meters
INFO: fake GPS is enabled
INFO: Auto-quit after 20 non-acknowledged PULL_DATA
INFO: found local configuration file local_conf.json, parsing it
INFO: redefined parameters will overwrite global parameters
INFO: local_conf.json does not contain a JSON object named SX1301_conf
INFO: local_conf.json does contain a JSON object named gateway_conf, parsing gateway parameters
INFO: gateway MAC address is configured to DCA632FFFE0AFB72
INFO: packets received with a valid CRC will be forwarded
INFO: packets received with a CRC error will NOT be forwarded
INFO: packets received with no CRC will NOT be forwarded
lgw_start:823: Note: calibration started (time: 2300 ms)
lgw_start:844: Note: calibration finished (status = 183)
WARNING: problem in calibration of radio A for image rejection
Info: Initialising AGC firmware...
Info: putting back original RADIO_SELECT value
INFO: [main] concentrator started, packet can now be received
INFO: Disabling GPS mode for concentrator's counter...
INFO: host/sx1301 time offset=(1578603135s:533906µs) - drift=790790994µs
INFO: Enabling GPS mode for concentrator's counter.
INFO: [down] PULL_ACK received in 47 ms
INFO: [down] PULL_ACK received in 44 ms
INFO: [down] PULL_ACK received in 44 ms
##### 2020-01-09 20:52:48 GMT #####
### [UPSTREAM] ###
# RF packets received by concentrator: 0
# CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
# RF packets forwarded: 0 (0 bytes)
# PUSH_DATA datagrams sent: 0 (0 bytes)
# PUSH_DATA acknowledged: 0.00%
### [DOWNSTREAM] ###
# PULL_DATA sent: 3 (100.00% acknowledged)
# PULL_RESP(onse) datagrams received: 0 (0 bytes)
# RF packets sent to concentrator: 0 (0 bytes)
# TX errors: 0
# BEACON queued: 0
# BEACON sent so far: 0
# BEACON rejected: 0
### [JIT] ###
# SX1301 time (PPS): 2562696
src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
### [GPS] ###
# GPS *FAKE* coordinates: latitude 49.XXXXXX, longitude 10.XXXXX, altitude 299 m
##### END #####
JSON up: {"stat":{"time":"2020-01-09 20:52:48 GMT","lati":49.XXXXXX,"long":10.XXXXX,"alti":299,"rxnb":0,"rxok":0,"rxfw":0,"ackr":0.0,"dwnb":0,"txnb":0}}
INFO: [up] PUSH_ACK received in 44 ms
INFO: [down] PULL_ACK received in 46 ms
INFO: [down] PULL_ACK received in 44 ms
INFO: [down] PULL_ACK received in 43 ms
lgw_receive:1155: FIFO content: 1 10 0 5 1c
lgw_receive:1174: [4 17]
Note: LoRa packet
INFO: Received pkt from mote: 2601110B (fcnt=0)
JSON up: {"rxpk":[{"tmst":56214804,"chan":4,"rfch":0,"freq":867.300000,"stat":1,"modu":"LORA","datr":"SF8BW125","codr":"4/5","lsnr":11.8,"rssi":-42,"size":28,"data":"QAsRASYAAAABVdGCoUCtlQr8JMBGiKzmziMIKw=="}]}
INFO: [up] PUSH_ACK received in 44 ms
INFO: [down] PULL_RESP received - token[234:114] :)
JSON down: {"txpk":{"imme":false,"tmst":57214804,"freq":867.3,"rfch":0,"powe":14,"modu":"LORA","datr":"SF8BW125","codr":"4/5","ipol":true,"size":15,"ncrc":true,"data":"YAsRASYAJgAB1Kl+nFRf"}}
src/jitqueue.c:140:jit_enqueue(): Current concentrator time is 56493146, pkt_type=0
src/jitqueue.c:117:jit_sort_queue(): sorting queue in ascending order packet timestamp - queue size:1
src/jitqueue.c:119:jit_sort_queue(): sorting queue done - swapped:0
src/jitqueue.c:452:jit_print_queue(): INFO: [jit] queue contains 1 packets:
src/jitqueue.c:453:jit_print_queue(): INFO: [jit] queue contains 0 beacons:
src/jitqueue.c:459:jit_print_queue(): - node[0]: count_us=57214804 - type=0
src/jitqueue.c:318:jit_enqueue(): enqueued packet with count_us=57214804 (size=15 bytes, toa=92000 us, type=0)
src/jitqueue.c:433:jit_peek(): peek packet with count_us=57214804 at index 0
src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
src/jitqueue.c:362:jit_dequeue(): dequeued packet with count_us=57214804 from index 0
INFO: tx_start_delay=1495 (1495.500000) - (1497, bw_delay=1.500000, notch_delay=0.000000)
Info: packet will be sent without CRC
INFO: Enabling TX notch filter
58.d3.33.3.69.1.7d.9.0.18.f.10.0.8.0.0.60.b.11.1.26.0.26.0.1.d4.a9.7e.9c.54.5f.end
src/lora_pkt_fwd.c:2643:thread_jit(): lgw_send done: count_us=57214804
INFO: Disabling GPS mode for concentrator's counter...
##### 2020-01-09 20:53:18 GMT #####
### [UPSTREAM] ###
# RF packets received by concentrator: 1
# CRC_OK: 100.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
# RF packets forwarded: 1 (28 bytes)
# PUSH_DATA datagrams sent: 2 (367 bytes)
# PUSH_DATA acknowledged: 100.00%
### [DOWNSTREAM] ###
# PULL_DATA sent: 3 (100.00% acknowledged)
# PULL_RESP(onse) datagrams received: 1 (184 bytes)
# RF packets sent to concentrator: 1 (15 bytes)
# TX errors: 0
# TX rejected (collision packet): 0.00% (req:1, rej:0)
# TX rejected (collision beacon): 0.00% (req:1, rej:0)
# TX rejected (too late): 0.00% (req:1, rej:0)
# TX rejected (too early): 0.00% (req:1, rej:0)
# BEACON queued: 0
# BEACON sent so far: 0
# BEACON rejected: 0
### [JIT] ###
# SX1301 time (PPS): 62563557
src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
### [GPS] ###
# GPS *FAKE* coordinates: latitude 49.XXXXX, longitude 10.XXXXX, altitude 299 m
##### END #####
INFO: host/sx1301 time offset=(1578603135s:533411µs) - drift=-495µs
INFO: Enabling GPS mode for concentrator's counter.
JSON up: {"stat":{"time":"2020-01-09 20:53:18 GMT","lati":49.XXXXX,"long":10.XXXXX,"alti":299,"rxnb":1,"rxok":1,"rxfw":1,"ackr":100.0,"dwnb":1,"txnb":1}}
INFO: [up] PUSH_ACK received in 43 ms
INFO: [down] PULL_ACK received in 43 ms
[...]
In the TTN Gateway console, I see both the received (uplink) packet as well as the downlink package to be sent. The “Event Data” of the downlink packet is:
{
"gw_id": "eui-dca632fffe0afb72",
"payload": "YAsRASYAJgAB1Kl+nFRf",
"f_cnt": 38,
"lora": {
"spreading_factor": 8,
"bandwidth": 125,
"air_time": 92672000
},
"coding_rate": "4/5",
"timestamp": "2020-01-09T20:53:12.008Z",
"dev_addr": "2601110B",
"frequency": 867300000
}
TX basically works (tested with util_tx_test). It even looks like lora_pkt_fwd sends the downlink message (src/lora_pkt_fwd.c:2643:thread_jit(): lgw_send done
). But there’s nothing on the air…
What else can I do for tracing down the reason? Did I miss something?
(GPS is temporarily disabled as I have no GPS signal on my desk; antenna is connected though)
Thanks for any hint!