# Kerlink Setup
## Gateway Configurations
### lorad.json
```
{
"SX1301_conf": {
"lorawan_public": true,
"antenna_gain": 3,
"antenna_gain_desc": "Antenna gain, in dBi",
"insertion_loss": 0,
"insertion_loss_desc": "Insertion loss, in dB",
"radio_0": {
"enable": true,
"freq": 917200000,
"tx_enable": true,
"tx_freq_min": 923300000,
"tx_freq_max": 927500000
},
"radio_1": {
"enable": true,
"freq": 917900000,
"tx_enable": false
},
"chan_multiSF_0": {
"desc": "LoRa, 125 kHz, SF 7-12, 915.2 MHz",
"enable": true,
"radio": 0,
"if": -400000
},
"chan_multiSF_1": {
"desc": "LoRa, 125 kHz, SF 7-12, 915.4 MHz",
"enable": true,
"radio": 0,
"if": -200000
},
"chan_multiSF_2": {
"desc": "LoRa, 125 kHz, SF 7-12, 915.6 MHz",
"enable": true,
"radio": 0,
"if": 0
},
"chan_multiSF_3": {
"desc": "LoRa, 125 kHz, SF 7-12, 915.8 MHz",
"enable": true,
"radio": 0,
"if": 200000
},
"chan_multiSF_4": {
"desc": "LoRa, 125 kHz, SF 7-12, 916.0 MHz",
"enable": true,
"radio": 1,
"if": -300000
},
"chan_multiSF_5": {
"desc": "LoRa, 125 kHz, SF 7-12, 916.2 MHz",
"enable": true,
"radio": 1,
"if": -100000
},
"chan_multiSF_6": {
"desc": "LoRa, 125 kHz, SF 7-12, 916.4 MHz",
"enable": true,
"radio": 1,
"if": 100000
},
"chan_multiSF_7": {
"desc": "LoRa, 125 kHz, SF 7-12, 916.6 MHz",
"enable": true,
"radio": 1,
"if": 300000
},
"chan_Lora_std": {
"desc": "LoRa, 500 kHz, SF 8, 915.9 MHz",
"enable": true,
"bandwidth": 500000,
"spread_factor": 8,
"radio": 0,
"if": 300000
}
},
"gateway_conf": {
"beacon_enable": false,
"beacon_period": 128,
"beacon_freq_hz": 923300000,
"beacon_freq_nb": 8,
"beacon_freq_step": 600000,
"beacon_datarate": 10,
"beacon_bw_hz": 500000,
"beacon_power": 14,
"beacon_infodesc": [
{ "latitude": 0.0, "longitude": 0.0 },
{ "netid": "0" }
]
}
}
```
### lorafwd.toml
```
# The LoRa forwarder configuration file.
#
# This configuration file is formatted using the TOML v0.5.0 language:
# https://github.com/toml-lang/toml/blob/master/versions/en/toml-v0.5.0.md
[ gateway ]
# The gateway identifier. Used to identify the gateway inside the network. This
# identifier is 64 bits long. It could be expressed in hexadecimal for better
# readability.
#
# Type: integer
# Example: 1194684 or 0x123abc or 0o4435274 or 0b100100011101010111100
# Default: 0
#
#id = 0xFFFFFFFFFFFFFFFF
[ filter ]
# Whether or not an uplink message with a valid CRC will be forwarded.
#
# Type: boolean
# Example: false
# Default: true
#
#crc.valid = true
# Whether or not an uplink message with an invalid CRC will be forwarded.
#
# Type: boolean
# Example: true
# Default: false
#
#crc.invalid = false
# Whether or not an uplink message without CRC will be forwarded.
#
# Type: boolean
# Example: true
# Default: false
#
#crc.none = false
# Whether or not a LoRaWAN downlink will be forwarded as an uplink message.
#
# Type: boolean
# Example: true
# Default: false
#
#lorawan.downlink = false
# If defined, only uplink messages with devaddr matching this netid will be forwarded
#
# Type: string - CIDR notation
# Example: "0x24000000/7"
# Default: "" - Empty
#
#lorawan.netid = "0x24000000/7"
[ database ]
# Whether or not a persistent database will store the incoming messages until
# they will be sent and acknowledged.
#
# Type: boolean
# Example: true
# Default: false
#
#enable = true
# The maximum number of messages allowed to be stored in the database. When
# full the newest message will replace the oldest one.
#
# Type: integer
# Example: 20000
# Default: 200
#
#limit.messages = 200
# The minimum delay between two database fetch. To allow incoming messages
# to be aggregated before to be sent.
#
# Type: integer (in milliseconds)
# Example: 1000
# Default: 100
#
#delay.cooldown = 1000
[ gwmp ]
# The internet host where the gateway should connect. The node can be either a
# fully qualified domain name or an IP address (IPv4 or IPv6).
#
# Type: string
# Example: "myhost.example.com" or "123.45.67.89" or "2001:db8::1234"
# Default: "localhost"
#
node = "less.eu1.cloud.thethings.industries"
# The GWMP services can be a service name (see services(5)) or an integer and,
# in this case, refers to a network port.
# The service where the gateway should push uplink messages.
#
# Type: string or integer
# Example: "https" or 1234
# Default: 0
#
service.uplink = 1700
# The service where the gateway should pull downlink messages.
#
# Type: string or integer
# Example: "https" or 1234
# Default: 0
#
service.downlink = 1700
# The heartbeat period. Used to keep the firewall open.
#
# Type: integer (in seconds)
# Example: 30
# Default: 10
#
#period.heartbeat = 10
# The statistics period. Used to send statistics.
#
# Type: integer (in seconds)
# Example: 10
# Default: 30
#
#period.statistics = 30
# The number of timed out messages which will automatically trigger a network
# socket restart. Used to monitor the connection.
#
# Type: boolean or integer (false = 0 = disabled) (true = 10)
# Example: 3
# Default: true
#
#autorestart = false
# The maximum datagram size for uplink messages. The datagram includes the GWMP
# header and payload.
#
# Type: integer
# Example: 50000
# Default: 20000
#
#limit.datagram = 65507
# The endpoint to control the LoRa daemon. Used to request statistics.
#
# Type: string
# Example: "tcp://localhost:3333"
# Default: "ipc:///var/run/lora/lorad"
#
#lorad.control = "ipc:///var/run/lora/lorad"
[ api ]
# The API use ZeroMQ as transport layer. More informations about ZeroMQ
# endpoints format can be found here:
#
# http://api.zeromq.org/4-2:zmq-connect
# The endpoints for the uplink channel. Used to receive uplink messages.
#
# Type: string or array of strings
# Example: "tcp://localhost:1111"
# Default: "ipc:///var/run/lora/uplink"
#
#uplink = [ "ipc:///var/run/lora/uplink", "tcp://localhost:1111" ]
# The endpoints for the downlink channel. Used to send downlink messages.
#
# Type: string or array of strings
# Example: "tcp://localhost:2222"
# Default: "ipc:///var/run/lora/downlink"
#
#downlink = [ "ipc:///var/run/lora/downlink", "tcp://localhost:2222" ]
# The endpoints for the control channel. Used to receive control request.
#
# Type: string or array of strings
# Example: "tcp://eth0:4444"
# Default: "ipc:///var/run/lora/lorafwd"
#
#control = [ "ipc:///var/run/lora/lorafwd", "tcp://eth0:4444" ]
# The filters for the uplink channel. Used to subscribe to uplink messages.
#
# The filters can handle raw binary (by using unicode) or keywords. The special
# empty filter ("") subscribe to all incoming messages.
#
# Keywords are case-insensitive and are one of these:
# - "lora"
# - "gfsk" or "fsk"
# - "event" (for ease of use, lorafwd always subscribe to event messages)
#
# Type: string or array of strings
# Example: [ "\u000A", "keyword" ]
# Default: ""
```
## Endpoint's Configuration
Endpoint: Multitech XDOT L151CC,
firmware version: 4.0.4 - AU915 - mbed-os-6.1.0
Frequency plan AU_915_928_FSB_2
## Endpoint's Hardware
Device: MTXDOT-AU1-A00-1 (Multitech)
https://www.multitech.com/documents/publications/data-sheets/86002182.pdf
Antenna: MAF94300 (Laird Connectivity Inc.)
http://assets.lairdtech.com/home/brandworld/files/ANT-DS-Heptaband_100114.pdf
Adapter: CAB.011 (Taoglas)
https://cdn.taoglas.com/datasheets/CAB.011.pdf
## Gateway
Model: Wirnet-ifemtocell 923 (Kerlink)
Version: 4501021C
Firmware version: 4.3.3_20200803132042
Antenna: FG9023 (Laird Connectivity)
https://ar.mouser.com/datasheet/2/986/Datasheet_-_FG9023_1218_0-1590617.pdf
## Network Server Config
* LoraWan MAC 1.0.4
* LORAWAN Regional Parameters PHY v1.0.3 REV. A.
* Frequency plan AU_915_928_FSB_2