Reinstal Lorank8 gateway, TTN console status remains "Disconnected"

Good evening all,

I had to re-flash Beaglebonegreen(host) and reinstalled the original firmware of a Lorank8, which used to run fine.
The global_conf.json and local_conf.json have been reconfigured.
In the TTN Console I deleted the old gateway and created a new one (with new gateway ID).

Via ssh I see that the packet forwarder starts properly and a little later the packets pass by. DNS seems good, eu1.cloud.thethings.network via port 1700 is available

Unfortunately the gateway status in the TTN console remains disconnected
What am I overlooking?

Are you seeing data in the application or device console pages? I.e. is the GW handling messages ok and passing them on for you(*) - if so nothing to worry about as it is doing its job :slight_smile: Disconnected message known to sometimes ‘get stuck’ or take time to fully update historically… (search forum)

(*)Click on an uplink for a device and you should see the GW ID called out if you are serviced by several GW’s in the area…

1 Like

Thank you for your response, when I send a package, the packet can be seen on this gateway and it is forwarded through other gateways in my area. Unfortunately I don’t see this gateway appearing in the Uplink > Event Details window of the sending device.

Can you post your global & local conf files (use </> to format please) - mask any keys used for privacy

Can you also copy/download and paste the global file created in the GW console for comparison…

Globa_conf.json:


{
    "SX1301_conf": {
        "lorawan_public": true,
        "clksrc": 1, /* radio_1 provides clock to concentrator */
        "lbt_cfg": {
            "enable": false,
            "rssi_target": 160, /* rssi in dBm = -lbt_rssi_target/2 */
            "nb_channel": 1,
            "start_freq": 869525000,
            "scan_time_us": 5000,
            "tx_delay_1ch_us": 4000000,
            "tx_delay_2ch_us": 4000000
        },
        "antenna_gain": 0, /* antenna gain, in dBi */
        "radio_0": {
            "enable": true,
            "type": "SX1257",
            "freq": 867500000,
            "rssi_offset": -166.0,
            "tx_enable": true,
            "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": {
        /* change with default server address/ports, or overwrite in local_conf.json */
        "gateway_ID": "1deexxxxxxxxd92d",
        /* Systems (set logger to true for logs per (!) packet) */
        "gps": true,
        "beacon": false,
        "monitor": false,
        "logger": false,
        /* Streams */
        "upstream": true,
        "downstream": true,
        "ghoststream": false,
        "radiostream": true,
        "statusstream": true,
        /* node servers for poly packet server (max 4 enabled, rest is ignored) */
        "servers":
        [ { "server_address": "eu1.cloud.thethings.network",
            "serv_port_up": 1700,
            "serv_port_down": 1700,
            "serv_max_stall": 0,
            "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,
        /* GPS configuration */
        "gps_tty_path": "/dev/ttyAMA0",
        "fake_gps": true,
        "ref_latitude": 0,
        "ref_longitude": 0,
        "ref_altitude": 0,
        /* Ghost configuration (for simulating nodes) */
        "ghost_address": "127.0.0.1",
        "ghost_port": 1918,
        /* Monitor configuration (for remote access through the firewall/nat) */
        "monitor_address": "127.0.0.1",
        "monitor_port": 2008,
        "ssh_path": "/usr/bin/ssh",
        "ssh_port": 22,
        "http_port": 80,
        "ngrok_path": "/usr/bin/ngrok",
        "system_calls": ["df -m","free -h","uptime","who -a","uname -a"],
        /* Performance updates (if empty, nothing is send/written) */
        "stat_format": "semtech",                 /* semtech or idee_verbose or idee_concise. */
        "stat_damping": 50,                       /* 1 for least damping up to 99 for most damping. */
        "stat_file": "stats.txt",                 /* Put or the whole path, or only a file name */
        /* For human communication */
        "platform": "*",                          /* Platform definition, put a asterix here for the system value, max 24 chars. */
        "contact_email": "",                      /* Email of gateway operator, max 40 chars*/
        "description": "Lorank 8"                         /* Public description of this device, max 64 chars */
    }
}

Local_conf.json:

{
/* Put there parameters that are different for each gateway (eg. pointing one gateway to a test server while the others stay in production) */
/* Settings defined in global_conf will be overwritten by those in local_conf */
    "gateway_conf": {
        "gateway_ID": "1deexxxxxxxxd92d", /* pick an unique 8 byte number */
        "fake_gps":true,
         "ref_latitude": ,   /* put your latitude here */
        "ref_longitude": ,  /* put your longitude here */
        "ref_altitude": ,   /* put your altitude here */
        "contact_email": "", /* Email of gateway operator, max 40 chars*/
        "description": "Lorank 8"    /* Public description of this device, max 64 chars */
    }
}


Global_conf.json console:

{
  "SX1301_conf": {
    "lorawan_public": true,
    "clksrc": 1,
    "antenna_gain": 0,
    "radio_0": {
      "enable": true,
      "type": "SX1257",
      "freq": 867500000,
      "rssi_offset": -166,
      "tx_enable": true,
      "tx_freq_min": 863000000,
      "tx_freq_max": 870000000
    },
    "radio_1": {
      "enable": true,
      "type": "SX1257",
      "freq": 868500000,
      "rssi_offset": -166,
      "tx_enable": false
    },
    "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
    },
    "chan_Lora_std": {
      "enable": true,
      "radio": 1,
      "if": -200000,
      "bandwidth": 250000,
      "spread_factor": 7
    },
    "chan_FSK": {
      "enable": true,
      "radio": 1,
      "if": 300000,
      "bandwidth": 125000,
      "datarate": 50000
    },
    "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": "1DEE482799B7D92D",
    "server_address": "eu1.cloud.thethings.network",
    "serv_port_up": 1700,
    "serv_port_down": 1700,
    "servers": [
      {
        "gateway_ID": "1DEE482799B7D92D",
        "server_address": "eu1.cloud.thethings.network",
        "serv_port_up": 1700,
        "serv_port_down": 1700,
        "serv_enabled": true
      }
    ]
  }
}

Seems OK to me, or did I catch myself with this, missing “eui” in the config files?

image

No need to mask EUI/GW ID these are sent in the clear in the public domain…its if running with secure connections protected by keys then you need to hide keys…cant check your config/typing if hidden.

WRT GW ID in the TTN console, as the notes tell you this can be free form text (lower case with limited character set) and whilst the system will suggest one based on the GW EUI (which is different from the GW EUI in system ters) you can over write. GW EUI can be (must be!) re-used, where GW ID cannot be re-used if deleted. NOte also GW ID in console is NOT GW ID in the gw firmware! GW ID in the GW firmware is actually the GW EUI - very confusing I know…

If GW ID is same as someone elses then system will object…e.g. GW ID = “myttngw” high chance of being used by someone else and likely rejected but GD=“marcosttnlorank8” probably ok

Perhaps tr deleing existing and re-registering with a GW ID (Console!) meanful to you?

Will pour through the code later to look for gatchas - if any…

1 Like

Which packet forwarder are you using?

Your

File looks lite on details - did you grab that using the “Download global_conf.json” button as in your last pic above?

1 Like

Gateway EUI are not state secrets, please provide it (no Spanish inquisition needed)

https://mapper.packetbroker.net/api/v2/gateways

If I check this and just use search ‘d92d’, I doubt your gateway is connected.

The GW ID = 1DEE482799B7D92D.
This new gateway ID was created with a tool on the webpage that is available after installing the Lorank8 .
I start the GW with the lora_pkt_fwd packet forwarder.

I already suspected this but have no idea what it is.

I’ll do that soon

Take it paste it into you browser and see what happens

https://mapper.packetbroker.net/api/v2/gateways

Sorry I was wrong (but I’ve edited it now in the post above) and posted the Local_conf.json instead of the Global_conf.json from the GW console.

Question:
In the global_conf.sjon which I created from the TTN GW console I see two entry’s for the GW. Why that?

image

1 Like

Great, it’s working now. Packages are forwarded :+1:
I have removed the GW from the console and created a new GW, with a new ID but with the same EUI.
Using the button in the GW console I downloaded a new global_conf.json and put it on the GW.
The global_conf.json (with double entry*) I’m using now, is generated with the button in the GW console.

So my original global_conf.json was not complete, some of the server data was missing.

1 Like

However unexpected, I think there is a need:

2 Likes

Great

{"netID":"000013","tenantID":"ttn","id":"lorank-8","eui":"1DEE482799B7D92D","clusterID":"eu1.cloud.thethings.network","updatedAt":"2022-09-24T21:22:35.856029Z","online":true}
Sir Lancelot please mount, the Spanish are on the horizon

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.