The LoRa Developer Forum is now in read-only mode and new content will not be added. If you require technical support related to LoRa, please contact our experts here. For sales enquiries, please contact us here.

FORUM

LoRa Picocell Gateway

Hi all,

I am new to LoRa. I started off by reading and following the lora picocell gateway manual [picocell_gateway_user_guide.pdf]. I am using Raspberry Pi and connected the STM32F401CD board through USB and I run the c files there through their terminal.
I am currently using lora-net packet forwarder codes from github [https://github.com/Lora-net/packet_forwarder] to send a data packet. While lora_pkt_fwd file is running, I tried sending a data packet using util_tx_test but there’s an error saying: Packet REJECTED, unsupported frequency - xxxxxxxxx (min:0, max:0). I tried finding another way to send a data packet with lora-net codes online without any success. Does anyone know another way to send a data packet?
I am also trying to find out how they format the data for each packet. I found a pattern on the data but I am still puzzled how they format it. Does anyone know which part of the codes they format it from? I found the codes below to be related to the data but I’m still lost on how it is formatted.
------------------------------------SOC-----------------------------------
char code_to_char(uint8_t x) {
if (x <= 25) {
return ‘A’ + x;
} else if ((x >= 26) && (x <= 51)) {
return ‘a’ + (x - 26);
} else if ((x >= 52) && (x <= 61)) {
return ‘0’ + (x - 52);
} else if (x == 62) {
return code_62;
} else if (x == 63) {
return code_63;
} else {
DEBUG(“ERROR: %i IS OUT OF RANGE 0-63 FOR BASE64 ENCODING\n”, x);
exit(EXIT_FAILURE);
} //TODO: improve error management
}
-----------------------------------EOC-------------------------------------
Below are examples on the sent data packet
“data”:“AAAAAABQRVLn”
“data”:“AAAAAAFQRVLo”
“data”:“AAAAAAJQRVLp”
“data”:“AAAAAANQRVLq”

Dear,

The PicoCell is not using regular Packet Forwarder and HAL. Please use:

Dear oliver,
I’ve been using those two codes you recommended and the problem I posted is what I’m still facing. I run the util_tx_test to send the data packet but they show the error.
Thanks!

Right, then could you please share the command line you are using to start util_tx_test and the global_conf.json you are using?

./util_tx_test -n 1681

--------------------------------global_conf.json----------------------------
{
“SX1301_conf”: {
“lorawan_public”: true,
“clksrc”: 1, /* radio_1 provides clock to concentrator /
“radio_0”: {
“enable”: true,
“type”: “SX1257”,
“freq”: 867500000,
“rssi_offset”: -166.0,
“tx_enable”: true
},
“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": {
    /* change with default server address/ports, or overwrite in local_conf.json */
    "gateway_ID": "393733334e005e00",
    /* node server */
    "server_address": "localhost",
    "serv_port_up": 1680,
    "serv_port_down": 1681,
    /* node servers for poly packet server (max 4) */
    "servers":
    [ { "server_address": "localhost",
        "serv_port_up": 1680,
        "serv_port_down": 1681,
        "serv_enabled": true },
      { "server_address": "localhost",
        "serv_port_up": 1680,
        "serv_port_down": 1680,
        "serv_enabled": true } ],
    /* 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,

Dear,

You need to provide the downlink frequency you want to use with the -f switch, for example -f 868.1.
Then your config.json file does not seems to be for picoGW_packet_forwarder but for a “poly packet forwarder”, this is not supported by Semtech, and I am not aware of a “poly packet forwarder” supporting the PicoGateway; please use the one from my previous link.
If you still have trouble with official Semtech packet forwarder for the PicoGateway, please share the logs from the packet forwarder and util_tx_test