TX_FREQ error when a new sensor want to join lora network

Hi everyone, when a new node need to be add to network

the lora server receive the join request and also accept a join accepted topic is sent, but from lora gateway bridge i found this information:

févr. 09 16:08:08 loraserv lora-gateway-bridge[649]: time=“2018-02-09T16:08:08+01:00” level=error msg=“gateway: tx ack received” error=“TX_FREQ” mac=7276ff000b030706 random_token=0

they said this problem appear when package is rejected because requested frequency is not supported by TX RF chain

Can anyone help me with this issue?
Thank you!

I think we need a little bit more information about your configuration. E.g. what is the region implemented of your device, what region does your gateway support and with which band is LoRa Server configured.

Thank you for your response,

My devices implement in France, and the gateway support RX : 863-873MHz and TX : 864-873MHz.
The band configuration of lora server is EU_863_870.

Could you inspect what TX frequency is requested when sending the downlink payload to the gateway? (e.g. subscribe to the “…/tx” MQTT topic).

When i try to add the new device to the network, i saw this information in gateway:

gateway/7276ff000b030706/tx {“txInfo”:{“mac”:“7276ff000b030706”,“immediately”:false,“timestamp”:3902684204,“frequency”:868100000,“power”:14,“dataRate”:{“modulation”:“LORA”,“spreadFactor”:12,“bandwidth”:125},“codeRate”:“4/5”,“iPol”:null},“phyPayload”:“IH/5tjWRIcKoeuCD7UOCH3c=”}

In fact no downlink command can be success.

That seems OK to me. Could you also post your packet-forwarder configuration?

this is the configuration file of gateway bridge, is this what you want? if not, could you please tell me where can i find the packet-forwarder configuration?

ip:port to bind the UDP listener to (default: “0.0.0.0:1700”)

UDP_BIND=0.0.0.0:1700

mqtt server (e.g. scheme://host:port where scheme is tcp, ssl or ws) (default$

MQTT_SERVER=tcp://127.0.0.1:1883

mqtt server username (optional)

MQTT_USERNAME=

mqtt server password (optional)

MQTT_PASSWORD=

debug=5, info=4, warning=3, error=2, fatal=1, panic=0 (default: 4)

LOG_LEVEL=4

skip the CRC status-check of received packets

SKIP_CRC_CHECK=true

thank you!

The packet-forwarder runs on your gateway, where its configuration is located is different per gateway / vendor. This you will probably find in your documentation.

It looks like: https://github.com/lora-net/packet_forwarder/blob/master/lora_pkt_fwd/global_conf.json#L24

Especially the tx_freq_min and tx_freq_max are important in your case as it seem the request TX frequency is not within that range. A second option you can debug is looking at the packet-forwarder log and see if it prints more information related to the TX_FREQ error.

I found the conf file like this i think it is good, and from the log of packet-forwarder i didn’n see more informations but the “TX_FREQ”

global.conf

{
    "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": "AA555A0000000000",
        /* change with default server address/ports, or overwrite in local_conf.json */
        "server_address": "localhost",
        "serv_port_up": 1680,
        "serv_port_down": 1680,
        /* 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
    }
}

log:

14:22:10.256440 IP biotope-kerlink.46673 > loraserv.1700: UDP, length 207
E.....@.?.C{..H...4..Q....I..7..rv......{"rxpk":[{"tmst":2479138044,"chan":5,"rfch":0,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":8.2,"rssi":-45,"size":23,"data":"APNJAPB+1bNwpgcQoIDVs3B1efe93nc="}]}
14:22:10.257270 IP loraserv.1700 > biotope-kerlink.46673: UDP, length 4
E.. ..@.@.$R..4...H....Q...
.7..
14:22:10.474216 IP loraserv.1700 > biotope-kerlink.38572: UDP, length 179
E.....@.@.#v..4...H.............{"txpk":{"imme":false,"tmst":2484138044,"freq":868.5,"rfch":0,"powe":14,"modu":"LORA","datr":"SF12BW125","codr":"4/5","ipol":true,"size":17,"data":"IP97a/ES7etPZ7z3l5h9688="}}
14:22:10.476556 IP biotope-kerlink.38572 > loraserv.1700: UDP, length 44
E..H..@.?.D...H...4......4......rv......{"txpk_ack":{"error":"TX_FREQ"}}
14:22:10.521513 IP biotope-kerlink.46673 > loraserv.1700: UDP, length 113
E.....@.?.C...H...4..Q...y[...T.rv......{"stat":{"time":"2018-02-12 13:20:04 GMT","rxnb":1,"rxok":1,"rxfw":1,"ackr":100.0,"dwnb":1,"txnb":0}}
14:22:10.522245 IP loraserv.1700 > biotope-kerlink.46673: UDP, length 4
E.. ..@.@.$#..4...H....Q...

I meant the log-output from the packet-forwarder process, not the UDP logging. Depending with which options the packet-forwarder is compiled, it could give you some extra hints that are not exposed over UDP.

Hello, sorry to reply late.
I just notice that you said the request TX frequency is not the range, what do you mean by this? Because the range of TX is 863-870MHz, and the request frequency is 868.1MHz.
And in fact the configuration file is not the good one, the one the gateway is using does actually not write the minimum and maximum frequency :

{
“SX1301_conf”: {
“lorawan_public”: false,
“antenna_gain”: 0, /* antenna gain in dBi /
“clksrc”: 1, /
which radio provides clock to concentrator */

	/* Listen Before Talk */
	"lbt_cfg": {
		"enable": false,
		"rssi_target": -91, /* dBm */
		"sx127x_rssi_offset": -4, /* dB */
		"chan_cfg": [ /* 8 channels maximum */
			{ "freq_hz": 867100000, "scan_time_us": 10000 },
			{ "freq_hz": 867300000, "scan_time_us": 10000 },
			{ "freq_hz": 867500000, "scan_time_us": 10000 },
			{ "freq_hz": 867700000, "scan_time_us": 10000 },
			{ "freq_hz": 867900000, "scan_time_us": 10000 },
			{ "freq_hz": 868100000, "scan_time_us": 10000 },
			{ "freq_hz": 868300000, "scan_time_us": 10000 },
			{ "freq_hz": 868500000, "scan_time_us": 10000 }
		]
	},

	/* Radio configuration */
	"radio_0": {
		"enable": true,
		"type": "SX1257",
		"freq": 868500000,
		"rssi_offset": -166,
		"tx_enable": true
	},
	"radio_1": {
		"enable": true,
		"type": "SX1257",
		"freq": 867500000,
		"rssi_offset": -166,
		"tx_enable": false
	},

	/* Lora MAC channels, 125kHz, all SF */
	"chan_multiSF_0": { "enable": true, "radio": 1, "if": -400000 },
	"chan_multiSF_1": { "enable": true, "radio": 1, "if": -200000 },
	"chan_multiSF_2": { "enable": true, "radio": 1, "if": 0 },
	"chan_multiSF_3": { "enable": true, "radio": 0, "if": -400000 },
	"chan_multiSF_4": { "enable": true, "radio": 0, "if": -200000 },
	"chan_multiSF_5": { "enable": true, "radio": 0, "if": 0 },
	"chan_multiSF_6": { "enable": true, "radio": 0, "if": 200000 },
	"chan_multiSF_7": { "enable": true, "radio": 0, "if": 400000 },

	/* Lora MAC channel */
	"chan_Lora_std": {
		"enable": true,
		"radio": 1,
		"if": -200000,
		"bandwidth": 250000,
		"spread_factor": 7
	},

	/* FSK channel */
	"chan_FSK": {
		"enable": true,
		"radio": 1,
		"if": 300000,
		"bandwidth": 125000,
		"datarate": 50000
	},

	/* TX gain table */
	"tx_lut_0":  { "pa_gain": 0, "mix_gain": 8,  "rf_power": -6, "dig_gain": 0 },
	"tx_lut_1":  { "pa_gain": 0, "mix_gain": 10, "rf_power": -3, "dig_gain": 0 },
	"tx_lut_2":  { "pa_gain": 0, "mix_gain": 12, "rf_power": 0,  "dig_gain": 0 },
	"tx_lut_3":  { "pa_gain": 1, "mix_gain": 8,  "rf_power": 3,  "dig_gain": 0 },
	"tx_lut_4":  { "pa_gain": 1, "mix_gain": 10, "rf_power": 6,  "dig_gain": 0 },
	"tx_lut_5":  { "pa_gain": 1, "mix_gain": 12, "rf_power": 10, "dig_gain": 0 },
	"tx_lut_6":  { "pa_gain": 1, "mix_gain": 13, "rf_power": 11, "dig_gain": 0 },
	"tx_lut_7":  { "pa_gain": 2, "mix_gain": 9,  "rf_power": 12, "dig_gain": 0 },
	"tx_lut_8":  { "pa_gain": 1, "mix_gain": 15, "rf_power": 13, "dig_gain": 0 },
	"tx_lut_9":  { "pa_gain": 2, "mix_gain": 10, "rf_power": 14, "dig_gain": 0 },
	"tx_lut_10": { "pa_gain": 2, "mix_gain": 11, "rf_power": 16, "dig_gain": 0 },
	"tx_lut_11": { "pa_gain": 3, "mix_gain": 9,  "rf_power": 20, "dig_gain": 0 },
	"tx_lut_12": { "pa_gain": 3, "mix_gain": 10, "rf_power": 23, "dig_gain": 0 },
	"tx_lut_13": { "pa_gain": 3, "mix_gain": 11, "rf_power": 25, "dig_gain": 0 },
	"tx_lut_14": { "pa_gain": 3, "mix_gain": 12, "rf_power": 26, "dig_gain": 0 },
	"tx_lut_15": { "pa_gain": 3, "mix_gain": 14, "rf_power": 27, "dig_gain": 0 }
},

"gateway_conf": {
	"gateway_ID": "AA555A0000000000",
	"server_address": "192.168.52.201",
	"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
}

}

Also, this is the log of packet forwarder:

Feb 27 13:42:25 Wirgrid local1.notice spf: # TX errors: 0
Feb 27 13:42:25 Wirgrid local1.notice spf: # BEACON queued: 0
Feb 27 13:42:25 Wirgrid local1.notice spf: # BEACON sent so far: 0
Feb 27 13:42:25 Wirgrid local1.notice spf: # BEACON rejected: 0
Feb 27 13:42:25 Wirgrid local1.notice spf: ### [JIT] ###
Feb 27 13:42:25 Wirgrid local1.notice spf: lora_pkt_fwd/src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
Feb 27 13:42:25 Wirgrid local1.notice spf: ### [GPS] ###
Feb 27 13:42:25 Wirgrid local1.notice spf: # GPS sync is disabled
Feb 27 13:42:25 Wirgrid local1.notice spf: ##### END #####
Feb 27 13:42:25 Wirgrid local1.notice spf: JSON up: {“stat”:{“time”:“2018-02-27 13:42:25 GMT”,“rxnb”:0,“rxok”:0,“rxfw”:0,“ackr”:100.0,“dwnb”:0,“txnb”:0}}
Feb 27 13:42:25 Wirgrid local1.notice spf: INFO: [up] PUSH_ACK received in 3 ms
Feb 27 13:42:26 Wirgrid local1.notice spf: INFO: Received pkt from mote: 066249D0 (fcnt=9)
Feb 27 13:42:26 Wirgrid local1.notice spf: JSON up: {“rxpk”:[{“tmst”:2749960844,“chan”:5,“rfch”:0,“freq”:868.500000,“stat”:1,“modu”:“LORA”,“datr”:“SF7BW125”,“codr”:“4/5”,“lsnr”:8.0,“rssi”:-26,“size”:20,“data”:“QNBJYgaACQADpamq47DKqIA5gWE=”}]}
Feb 27 13:42:26 Wirgrid local1.notice spf: INFO: [up] PUSH_ACK received in 0 ms
Feb 27 13:42:27 Wirgrid local1.notice spf: INFO: [down] PULL_RESP received - token[0:0] :slight_smile:
Feb 27 13:42:27 Wirgrid local1.notice spf: JSON down: {“txpk”:{“imme”:false,“tmst”:2750960844,“freq”:868.5,“rfch”:0,“powe”:14,“modu”:“LORA”,“datr”:“SF7BW125”,“codr”:“4/5”,“ipol”:true,“size”:16,“data”:“oNBJYgaAAgACaJoaIJXi4w==”}}

Feb 27 13:42:27 Wirgrid local1.notice spf: ERROR: Packet REJECTED, unsupported frequency - 868500000 (min:0,max:0)
Feb 27 13:42:28 Wirgrid local1.notice spf: INFO: [down] PULL_ACK received in 2 ms
Feb 27 13:42:37 Wirgrid local1.notice spf: INFO: Disabling GPS mode for concentrator’s counter…

thank you in advance for your help!

This is the radio used for TX, but there are no min / max frequencies configured. I guess this means the min/max is 0 Hz, meaning it will reject every TX request/

See the snipped from your fist config:

            "tx_freq_min": 863000000,
            "tx_freq_max": 870000000

You are right! I added the those two lines and it works!

Thank you very much!