Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Channels are created using freq-off and radio's center-freq frequencies. Check Radios section below for more information about radiosTo view radios center frequencies use the command /iot lora radios print.

To understand how each channel's frequency is calculated, check the example below:

Code Block
languageros
Columns: NAME, TYPE, RADIO, FREQ-OFF, BANDWIDTH, FREQ, SPREAD-FACTOR, DATARATE
# NAME       TYPE  RADIO   FREQ-OFF  BANDWIDTH  FREQ   SPREAD-FACTOR  DATARATE
0 gateway-0  MSF   radio1  -400000   125_kHz    868.1                         

...

Info

To configure custom channels, select "custom" channel profle with the help of the command:

Code Block
languageros
/iot lora set [find] channel-plan=custom

Radios

Sub-menu: /iot lora radios

...

Join EUI

The gateway will forward to the server every single LoRaWAN payload it receives. That includes neighboring LoRaWAN node's payloads as well. It might not be ideal to forward everything, as, for example, it can increase the data amount used (and directly impact ISP plan cost).

The Join EUI menu allows you to specify a range of Join EUI's that the gateway will forward. After adding the range, make sure to apply it to the server settings.

If the Join EUI of the packet does not match the configuration, the packet is not forwarded to the server.


You can find the Join EUI used by your node with the help of RouterOS GUI. Go to the "LoRa" section and to the "Traffic" sub-menu (which is only available using the graphical interface). After you power your LoRaWAN node, the node should send a "Join-request" packet. Double-click on it to inspect it:

Image Added

Sub-menu: /iot lora joineui

PropertyDescription
joineui (string; Default: )

Define a range of Join EUI's.

name (string; Default: )Define the name for the range.

An example of Join EUI would look like this E0 E1 E2 01 02 03 04 05. It consists of 8 octets in HEX format.

To add a range that allows every possible Join EUI, add a filter like this:

Code Block
languageros
/iot lora joineui add name=ALL joineuis=0000000000000000-ffffffffffffffff

To add a range that allows "nothing" (basically "restrict" all Join EUI's), add a filter like this:

Code Block
languageros
/iot lora joineui add name=NONE joineuis=0000000000000000-0000000000000000

For a specific single Join EUI, add a filter like this:

Code Block
languageros
/iot lora joineui add name=SINGLE joineuis=E0E1E20102030405-E0E1E20102030405

Network ID

The gateway will forward to the server every single LoRaWAN payload it receives. That includes neighboring LoRaWAN node's payloads as well. It might not be ideal to forward everything, as, for example, it can increase the data amount used (and directly impact ISP plan cost).

The NetID menu allows you to specify a list of NetIDs that the gateway will forward. After adding the list, make sure to apply it to the server settings.

If the NetID (DevAddr range) of the packet does not match the configuration, the packet is not forwarded to the server.


NetIDs define the ranges of Device Addresses (DevAddr) that were assigned to different operators/servers by the LoRaWAN Alliance. A list with most ranges can be found in the TTN guide.

DevAddr is assigned to the LoRaWAN node by the LoRaWAN server after the communication with the server takes place. For example, TTN will assign your node an address from within the range 26000000 - 27FFFFFF. You can find it under the LoRaWAN server dashboard or using RouterOS GUI, under the "Traffic" sub-menu (after "join-request" and "join-accept" communication takes place) in the Dev Addr column/field.

Let's say TTN assigned 26 1B D8 D1 Dev Addr to your node. Based on the TTN guide, it falls under the 26000000 - 27FFFFFF DevAddr range and it belongs to the 000013 NetID.

Sub-menu: /iot lora netid

PropertyDescription
netids (string; Default: )

Define the NetIDs

name (string; Default: )Define the name for the ID.

To add a filter for a specific NetId, use the command (you can add more than one using a "comma" separator):

Code Block
languageros
/iot lora netids add name=TTN netids=000013

Servers

Sub-menu: /iot lora servers

There are a few predefined servers that can be used (it requires to make an The Things Network account to use them):

Code Block
languageros
[admin@MikroTik] /iot/lora/servers> print
Columns: NAME, UP-PORT, DOWN-PORT, ADDRESS
#  NAME              UP-PORT  DOWN-PORT  ADDRESS                                
0  TTN-EU               1700       1700  eu.mikrotik.thethings.industries       
1  TTN-US               1700       1700  us.mikrotik.thethings.industries       
2  TTS Cloud (eu1)      1700       1700  eu1.cloud.thethings.industries         
3  TTS Cloud (nam1)     1700       1700  nam1.cloud.thethings.industries        
4  TTS Cloud (au1)      1700       1700  au1.cloud.thethings.industries         
5  TTN V3 (eu1)

...

To view current radio settings, issue the command /iot lora radios print:

Code Block
languageros
/iot lora radios print           
Columns: NAME, TYPE, CENTER-FREQ, RSSI-OFF, TX-ENABLED, TX-FREQ-MIN, TX-FREQ-MAX
# NAME       TYPE    CENTER-FREQ  RSSI-OFF  TX-ENABLED  TX-FREQ-MIN  TX-FREQ-MAX
0 gateway-0  SX1257    867500000  -162      yes           863000000    870000000
1 gateway-0  SX1257    868500000  -162      no                    0            0

Join EUI

The gateway will forward to the server every single LoRaWAN payload it receives. That includes neighboring LoRaWAN node's payloads as well. It might not be ideal to forward everything, as, for example, it can increase the data amount used (and directly impact ISP plan cost).

The Join EUI menu allows you to specify a range of Join EUI's that the gateway will forward. After adding the range, make sure to apply it to the server settings.

If the Join EUI of the packet does not match the configuration, the packet is not forwarded to the server.

You can find the Join EUI used by your node with the help of RouterOS GUI. Go to the "LoRa" section and to the "Traffic" sub-menu (which is only available using the graphical interface). After you power your LoRaWAN node, the node should send a "Join-request" packet. Double-click on it to inspect it:

Image Removed

Sub-menu: /iot lora joineui

...

Define a range of Join EUI's.

...

An example of Join EUI would look like this E0 E1 E2 01 02 03 04 05. It consists of 8 octets in HEX format.

To add a range that allows every possible Join EUI, add a filter like this:

Code Block
languageros
/iot lora joineui add name=ALL joineuis=0000000000000000-ffffffffffffffff

To add a range that allows "nothing" (basically "restrict" all Join EUI's), add a filter like this:

Code Block
languageros
/iot lora joineui add name=NONE joineuis=0000000000000000-0000000000000000

For a specific single Join EUI, add a filter like this:

Code Block
languageros
/iot lora joineui add name=SINGLE joineuis=E0E1E20102030405-E0E1E20102030405

Network ID

The gateway will forward to the server every single LoRaWAN payload it receives. That includes neighboring LoRaWAN node's payloads as well. It might not be ideal to forward everything, as, for example, it can increase the data amount used (and directly impact ISP plan cost).

The NetID menu allows you to specify a list of NetIDs that the gateway will forward. After adding the list, make sure to apply it to the server settings.

If the NetID (DevAddr range) of the packet does not match the configuration, the packet is not forwarded to the server.

NetIDs define the ranges of Device Addresses (DevAddr) that were assigned to different operators/servers by the LoRaWAN Alliance. A list with most ranges can be found in the TTN guide.

DevAddr is assigned to the LoRaWAN node by the LoRaWAN server after the communication with the server takes place. For example, TTN will assign your node an address from within the range 26000000 - 27FFFFFF. You can find it under the LoRaWAN server dashboard or using RouterOS GUI, under the "Traffic" sub-menu (after "join-request" and "join-accept" communication takes place) in the Dev Addr column/field.

Let's say TTN assigned 26 1B D8 D1 Dev Addr to your node. Based on the TTN guide, it falls under the 26000000 - 27FFFFFF DevAddr range and it belongs to the 000013 NetID.

Sub-menu: /iot lora netid

...

Define the NetIDs

...

To add a filter for a specific NetId, use the command (you can add more than one using a "comma" separator):

Code Block
languageros
/iot lora netids add name=TTN netids=000013

Servers

Sub-menu: /iot lora servers

There are a few predefined servers that can be used (it requires to make an The Things Network account to use them):

Code Block
languageros
[admin@MikroTik] /iot/lora/servers> print
Columns: NAME, UP-PORT, DOWN-PORT, ADDRESS
#  NAME              UP-PORT  DOWN-PORT  ADDRESS                1700       1700  eu1.cloud.thethings.network       
0  TTN-EU   
6  TTN V3 (nam1)        1700       1700  eunam1.mikrotikcloud.thethings.industriesnetwork           
17  TTN-US V3 (au1)         1700       1700  au1.cloud.thethings.network        1700  us.mikrotik.thethings.industries       
2  TTS Cloud (eu1)      1700       1700  eu1.cloud.thethings.industries         
3  TTS Cloud (nam1)     1700       1700  nam1.cloud.thethings.industries        
4  TTS Cloud (au1)      1700       1700  au1.cloud.thethings.industries         
5  TTN V3 (eu1)         1700       1700  eu1.cloud.thethings.network            
6  TTN V3 (nam1)        1700       1700  nam1.cloud.thethings.network           
7  TTN V3 (au1)         1700       1700  au1.cloud.thethings.network          

Custom servers can be added as well. Data forwarding to multiple servers can work simultaneously if the first server does not change "DevAdress" part of the packet and under the condition that all servers are able to decode the packet.

  

Custom servers can be added as well. Data forwarding to multiple servers can work simultaneously if the first server does not change "DevAdress" part of the packet and under the condition that all servers are able to decode the packet.

Parameter that is used when CUPS protocol is selected. Specify the interval with which the LoRa Basics Station will query CUPS server for configuration updates/changes
PropertyDescription
address (domain name or IP address; Default: )Defines LoRaWAN Network server address.
name (string; Default: )Defines server name.
protocol (UDP | LNS | CUPS; Default: UDP)
Specify whether to use UDP, LNS or CUPS protocol for the communication with the LoRaWAN server.

down-port (integer [0..65535]; Default: 1700)

Parameter that is used when UDP protocol is selected. Defines port for down-link communication (from server to node) with LoRaWAN Network server. Most of known open source servers uses port 1700 as default, but it can change if multiple servers are configured on the same machine.
up-port (integer [0..65535]; Default: 1700)Parameter that is used when UDP protocol is selected. Defines port for up-link communication (from node to server) with LoRaWAN Network server. Most of known open source servers uses port 1700 as default, but it can change if multiple servers are configured on the same machine.
netid (list of string; Default: )Parameter that is used when UDP protocol is selected. Applies a filter to only send LoRaWAN payloads that match the Network ID (Net ID) filter configured.
joineui (list of string; Default: )
Parameter that is used when UDP protocol is selected. Applies a filter to only send LoRaWAN payloads that match the Join EUI filter configured.
port (integer [0..65535]; Default: 8887)Parameter that is used when LNS or CUPS protocol is selected. For LNS, defines the WSS (WebSocket) port and, for CUPS, defines HTTPS port.
key (string; Default: )Parameter that is used when LNS or CUPS protocol is selected. Specify the LoRa Basics Station LNS Authentication Key or CUPS API KEY (both generated on the server).
ssl (yes or no; Default: no)
Parameter that is used when LNS or CUPS protocol is selected. Specify whether to use or not to use SSL (if the server supports TLS server authentication). When this option is choosen, root SSL certificate(s) must be uploaded under the certificates menu.
certificate (list of string; Default: none)Parameter that is used when LNS or CUPS protocol is selected. Select an uploaded client certificate (if the server awaits TLS client authentication). If TLS client authentication is not required by the server, use the default "none" setting.
interval 
PropertyDescription
address (domain name or IP address; Default: )Defines LoRaWAN Network server address.
name (string; Default: )Defines server name.
protocol (UDP | LNS | CUPS; Default: UDP)
Specify whether to use UDP, LNS or CUPS protocol for the communication with the LoRaWAN server.

down-port (integer [0..65535]; Default: 1700)

Parameter that is used when UDP protocol is selected. Defines port for down-link communication (from server to node) with LoRaWAN Network server. Most of known open source servers uses port 1700 as default, but it can change if multiple servers are configured on the same machine.
up-port (integer [0..65535]; Default: 1700 )Parameter that is used when UDP CUPS protocol is selected. Defines port for up-link communication (from node to server) with LoRaWAN Network server. Most of known open source servers uses port 1700 as default, but it can change if multiple servers are configured on the same machine.
netid (list of string; Default: )Parameter that is used when UDP protocol is selected. Applies a filter to only send LoRaWAN payloads that match the Network ID (Net ID) filter configured.
joineui (list of string; Default: )
Parameter that is used when UDP protocol is selected. Applies a filter to only send LoRaWAN payloads that match the Join EUI filter configured.
port (integer [0..65535]; Default: 8887)Parameter that is used when LNS or CUPS protocol is selected. For LNS, defines the WSS (WebSocket) port and, for CUPS, defines HTTPS port.
key (string; Default: )Parameter that is used when LNS or CUPS protocol is selected. Specify the LoRa Basics Station LNS Authentication Key or CUPS API KEY (both generated on the server).
ssl (yes or no; Default: no)
Parameter that is used when LNS or CUPS protocol is selected. Specify whether to use or not to use SSL (if the server supports TLS server authentication). When this option is choosen, root SSL certificate(s) must be uploaded under the certificates menu.
certificate (list of string; Default: none)Parameter that is used when LNS or CUPS protocol is selected. Select an uploaded client certificate (if the server awaits TLS client authentication). If TLS client authentication is not required by the server, use the default "none" setting.
interval (integer [0..65535]; Default: )
Specify the interval with which the LoRa Basics Station will query CUPS server for configuration updates/changes.

Debugging

If you have issues with the connection, make sure to enable logs:

Code Block
languageros
/system/logging/add topics=debug,lora

This will enable debug logging and help you pin point where the potential issue could be. Logs can be viewed using:

Code Block
languageros
/log/print

A successful connection would look like this:

Code Block
languageros
 13:50:33 lora,info gateway-0 forwarder started
 13:50:38 lora,info [LNS] connecting to wss://eu1.cloud.thethings.network:8887/router-info
 13:50:39 lora,info [LNS] eu1.cloud.thethings.network discovered
 13:50:39 lora,info [LNS] eu1.cloud.thethings.network disconnected
 13:50:39 lora,info [LNS] connecting to wss://eu1.cloud.thethings.network:8887/traffic/eui-xxxx
 13:50:39 lora,info [LNS] eu1.cloud.thethings.network configured
 13:50:52 lora,info gateway-0 forwarder is ready

More logging information can be found in our Log guide.