---
title: "LoRaWAN® Gateways"
canonical: "https://docs.loriot.io/space/NMS/6032611/LoRaWAN%C2%AE%20Gateways"
format: markdown
---
> ℹ️ In this page we try to answer your gateway based questions. If you can't find an answer to your question below, please use the **Get Support** option in the top navigation bar.


### General FAQ

---

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> A gateway is basically an embedded computer with a radio front-end.
> 
> The operating system is usually some variant of Linux, and Linux can run any number of processes, but because of hardware limitations the radio front-end can be controlled by only one process at a time.
> 
> This means that only **one packet forwarder can be run and access the radio front-end at a time** and if multiple packet forwarders are running at the same time various issues are going to pop up.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Please follow the steps provided in [Basic Installation](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6032553).
> 
> More details for the specific installation process for your gateway can be found in [LoRaWAN® Gateway Guides](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6032516).

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> A LoRaWAN® gateway is typically running a Linux distribution where the usual Linux commands will work.
> 
> 
> - Enabling autostart can be done with `update-rc.d` command
> - Disabling autostart can be done with:
> 
> For further explanation please refer to the documentation provided by the Gateway manufacturer.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> To uninstall the LORIOT Gateway Binary for most of the gateway models, please delete the `/opt/lrt` directory and the `/etc/init.d/loriot-gw` file.
> 
> 
> This can be done using the following commands:
> 
> ```plaintext
> rm -r /opt/lrt
> rm /etc/init.d/loriot-gw
> update-rc.d -f loriot-gw remove
> ```
> 
> 
> A factory reset or a firmware upgrade will also remove all LORIOT related files.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> To disable the automatic LORIOT Gateway Binary update feature for a gateway, select the **Software **menu when browsing to the gateway details page.
> 
> 
> Toggle the **Automatic Updates** button to disable.
> 
> ![image](media://30d8d3a9-2cb2-4d1d-9333-1a48beb8cbf0)
> 
> 
> When **Automatic Updates** is disabled, the latest LORIOT Gateway Binary version for that model will not be installed even if the version of the LORIOT Gateway Binary on the server is updated.
> 
> Backwards compatibility can be maintained but users may miss out on any new network server features added for this model.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> The TX Gain Adjustment field in the gateway detail allows you to reduce the output gain of the gateway in the case when a high-gain antenna is mounted to the gateway.
> 
> The TX Gain Adjustment should correspond to the gain that the antenna is adding.
> 
> 
> The purpose of the adjustment is to be compliant with the radio regulations in your country.
> 
> Our software by default instructs the gateway to send at the maximum allowed power in the specific band, so by mounting a high-gain antenna, you would be most likely violating the radio regulations.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> `ps ax | grep lora` # this should issue 1 line
> 
>  
> 
> 1. If the second command shows more than one lines then you can remove the "start on boot" for the packet forwarder like this:
> 2. Reboot the gateway to test it.
> 
> 
> > ℹ️ Depending on the gateway model the process name might be a slight variation of the example above. Make sure you use the right name by comparing with the running process.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> The SSH tunnel only works if the port 22 is set as the SSH port. 
> 
> This is not changeable because it is hard-coded in the binary.
> 
> 
> For more details please refer to the [SSH Tunnel Service](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6032523) article.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> LORIOT provides SSH tunnel command on the [Gateway Details](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6033573/Gateway+and+Base+Station+Detail#Gateway-Details) Page including all necessary parameters.
> 
> These parameters include the SSH token, and please be aware that the token can expire.
> 
> Within the user **Interface ➜ Account ➜ SSH-tokens** page you can check the creation and expiry date. You can also create a new token or revoke an existing one.
> 
> 
> Please note that the oldest token is used on the gateway page, even if it is already expired. It is advised to revoke the expired tokens.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> The certificate used by the server has a specified date range and the gateway's inner clock should be in this specified range. 
> 
> Also, the date (year, month, day) of the gateway should be match with the current date provided by the world clock.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> A step by step guide can be found in the [Accessing the Gateway Logs](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6037079) article.
> 
> If required as part of a LORIOT Support Ticket please send us the console output.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Upon gateway registration, a default channel plan is selected:
> 
> If that is not suitable for your use-case, you can change the channel plan by following the instructions in this [article](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6031381).

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> There are two main criteria for picking the right channel plan:
> 
> - Channel plan should use frequencies only which are permitted by the local government/regulator.
> - Gateway must be capable of working on the channel plans which are used by the channel plan.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> The Semtech Packet forwarder provides basic core features for a LoRaWAN® gateway to be able to forward uplink and downlink packets. 
> 
> LORIOT has significantly improved on this by creating the [LORIOT Gateway Binary](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6036241) which handles LoRa traffic and adds additional management and security features.
> 
> 
> For example:
> 
> ✔ SSH Tunnel
> 
> ✔ Latency information
> 
> ✔ Gateway system information
> 
> ✔ Ability to ping gateway
> 
> ✔ Cache uplinks
> 
> 
> For more details please check [Software Advantages](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6037067) article.
> 
> All these features need our integrated software running on the gateway side, which is not provided by the Semtech Packet Forwarder. This is why when using Semtech Packet Forwarder, these features are not available. 
> 
> If your gateway model is not already integrated with the LORIOT Gateway Binary please [contact us](https://loriot.io/contact.html) and we can discuss adding support for this model.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> The gateway firmware (aka operating system) is independent from LORIOT and separate credentials (typically provided by the manufacturer) must be used to access the gateway and upgrade the OS
> 
> Please contact the specific gateway manufacturer for more details.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> For the LORIOT Gateway Binary installation you can go to the **software **menu after registration of the gateway to get the necessary information.
> 
> In addition, there is a dedicated menu for LoRaWAN gateways in the [LoRaWAN® Gateway Guides](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6032516) page
> 
> 
> For physical installation, we recommend to visit the gateway vendor’s page and look for the installation guide.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> SSH into the gateway and change the date and time.
> 
> ```plaintext
> date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
> ```
> 
> 
> Recognized time formats are the following:
> 
> - `hh:mm[:ss]`
> - `[YYYY.]MM.DD-hh:mm[:ss]`
> - `YYYY-MM-DD hh:mm[:ss]`
> - `[[[[[YY]YY]MM]DD]hh]mm[.ss]`
> 
> 
> Examples:
> 
> ```javascript
>  # date -s 041911142022
> Tue Apr 19 11:14:00 UTC 2022
> 
> # date -s "2022-09-27 12:00:00"
> Tue Sep 27 12:00:00 UTC 2022
> ```

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Upon successful registration of the gateway, the GWEUI will be generated using the FFFF convention in the middle. The FFFE convention is used for the second radio board in a [2 LoRa board Multitech Gateway](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6033383/Multi-channel+plan+Configuration#Multi-channelplanConfiguration-V1-Gateways-with-two-card-slots).

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Duty cycle limitations in Europe are based on the ETSI rules and recommendations on using the ISM radio band.
> 
> In basic terms, the rules state that electronic instruments can only transmit over the air on a given frequency for a certain amount of time.  
> 
> 
> **Uplinks**
> 
> It is the device's responsibility not to exceed the limits, and typically devices can be configured for sending a number of uplinks per day. There are numerous online Time On Air calculators which can calculate the TOA based on the payload length and the used Data Rate.  
> 
> 
> **Downlinks**
> 
> The server calculates the Time On Air for every message and should distribute the message such that no gateway exceed the limits. With downlinks, no user interaction is required.

  


### FAQ for specific Gateway Models

---

#### Kerlink

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Run the following command:
> 
> ```plaintext
> cat /tmp/board_info.json
> ```
> 
> 
> The parameters in the "**radio**" section include the version info for FPGA
> 
> ```plaintext
> "radio": {             
>               "DSP_1": "OK",           
>               "DSP_2": "OK",         
>               "Sx1301_1_cid": "1",           
>               "Sx1301_1_ver": "103",           
>               "Sx1301_2_cid": "1",          
>               "Sx1301_2_ver": "103",     
>               "fpga_cid": "0x00F144003074060E",       
>               "fpga_swver": "58",              
>               "spectrum_1_ver": "V2.d (0x23)",          
>               "spectrum_2_ver": "V2.d (0x23)"        
>            },
> ```
> 
> 
> Based on this information you can select the right FPGA version for your gateway.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> If you load the binary as the **LORIOT Gateway binary only**, as described in the [Basic Installation](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6032553) section, the LORIOT Gateway Binary does not execute and drops an error message:
> 
> ```json
> ./loriot-gw: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
> ```
> 
> For a workaround solution, please follow these steps:
> 
> 1. If the KerOS is below version 4.0.4, update the KerOS. This will update the libssl version to 1.0.2.
> 2. SSH into the gateway and create a hardlink from` /usr/lib/libssl.so.1.0.0` to `/usr/lib/libssl.so.1.0.2` as the following:
> 3. The same applies to libcrypto from version 1.0.0 to version 1.0.2. in `ln /usr/lib/libcrypto.so.1.0.2/usr/lib/libcrypto.so.1.0.0`

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> <u>**KerOS >=4.3**</u>
> 
> 1. Run this command to deactivate the Kerlink CPF. Please mind your correct Server URL. In this example **eu4pro.loriot.io **
> 
> `klk_apps_config --deactivate-cpf --lns-server eu4pro.loriot.io --lns-uport 1780 --lns-dport 1780 `
> 
> 1. Reboot the gateway
> 
> 
> <u>**KerOS < 4.3**</u>
> 
> 1. Edit `/etc/default/lorafwd` and ensure that `DISABLE_LORAFWD="yes"`.
> 2. To prevent its auto start when the gateway restarts, edit `/etc/default/lorad` and ensure that `DISABLE_LORAD="yes"`.
> 3. Reboot the gateway and check  `ps | grep lor` , it should show one line, instead of three.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> <u>**KerOS >=4.3**</u>
> 
> 1. Run this command to activate the Kerlink CPF. Please mind your correct Server URL. In this example [http://eu4pro.loriot.io](http://eu4pro.loriot.io) ** **
> 
> `# klk_apps_config --activate-cpf --lns-server http://eu1.loriot.io  --lns-uport 1780 --lns-dport 1780`

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> 1. Run the command `ps -A | grep spf` to show all related processes and where they are being executed.
> 2. If the result is similar to the example values below, then proceed to stop the processes and remove the folder `/mnt/fsuser-1/spf`
> 
> |  |
> | --- |
> | ```plaintext
> 799 root 2576 S {execute_spf.sh} /bin/sh -e /mnt/fsuser-1/spf/bin/execute_spf.sh
> 834 root 44500 S /mnt/fsuser-1/spf/bin/spf
> 835 root 2704 S logger -p local1.notice -t spf
> ``` |

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> The Kerlink IoT station has a built in firewall which after a factory reset is activated with the default rules.
> 
> This rules blocks outgoing requests and new iptables rules must be added or the firewall can be fully disabled using the following method:
> 
> 1. In the `/etc/sysconfig/network` configuration file, change the “**firewall**” parameter to “**no**”.
> 2. Then restart the network script using the command `/etc/rc.d/init.d/network restart`
> 
> 
> Disabling the firewall can be done with the following command:` /etc/init.d/firewall stop`

  


#### Multitech

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Please SSH to the gateway and use the command to retrieve the version of the radio front-end:
> 
> ```plaintext
> sudo mts-io-sysfs show lora/hw-version
> ```

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> If you execute the binary as the LORIOT Gateway binary only, as described in the [Basic Installation](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6032553) section, the LORIOT Gateway Binary does not execute and drops one of the following error messages:
> 
> ```
> ./loriot-gw: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
> ./loriot-gw: error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory
> ```
> 
> 
> Please run the following script to the solve the aforementioned issues: [Multitech script](http://multitech.net/mlinux/feeds/5.0.0/arm926ejste/libssl1.0.0_1.0.2k-bpo8.1.0_arm926ejste.ipk).

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Hardware version:
> 
> ```plaintext
> mts-io-sysfs show product-id
> ```
> 
>  
> 
> LoRaWAN card version:
> 
> ```plaintext
> mts-io-sysfs show lora/hw-version
> ```
> 
> 
> mLinux version:
> 
> ```plaintext
> cat /etc/mlinux-version
> ```
> 
> 
> AEP version:
> 
> ```
> cat /etc/issue
> ```
> 
> 
> Does my gateway use SPI or USB?
> 
> ```
> ls -la /dev/spi*
> ```

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> There are 2 ways to SSH into Multitech Wifi gateway:
> 
> 
> - Static IP from LAN 192.168.2.1
> - wlan0 assigned IP address of 192.168.1.6.
> 
> 
> Running and installing LORIOT Gateway Binary from 192.168.2.1 port causing issues due that port doesn’t have internet access to connect to the LORIOT Network Server.
> 
> SSH in from wlan0 port into gateway using IP address of 192.168.1.6 and run LORIOT Gateway Biinary, and all should be working.

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Edit `/etc/default/lora-packet-forwarder` and set it to `ENABLED="yes"`

  


#### RAK Wireless

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Run `/etc/init.d/lora_pkt_fwd stop` to stop the `lora_pkt_fwd.` To prevent its auto start when the gateway restarts, run `/etc/init.d/lora_pkt_fwd disable`

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Run `/etc/init.d/packet_forwarder stop` to stop the `packet_forwarder.` To prevent its auto start when the gateway restarts, run `/etc/init.d/packet_forwarder disable`


#### Tektelic

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> <u>**SSH to the Gateway**</u>
> 
> Run this command `opkg remove kona-pkt-forwarder` and reboot the gateway.
> 
> 
> <u>**From KonaFT Application**</u>
> 
> Go to the **General **tab. In the **Packet Forwarder Application** section, it indicates the following: **Current pkt fwd: tektelic running. **Click **Stop **to disable the packet forwarder.
> 
> ![image-20240308-154739.png](media://2fae2fee-e7b4-42b5-b0e3-af2ab298276f)

  


#### Raspberry Pi

> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> Error:
> 
> ```plaintext
> loriot_rpi_spi: error while loading shared libraries: libssl.so.1.0.0
> ```
> 
> 
> Solution:
> 
> ```plaintext
> sudo wget http://ftp.nl.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u8_armhf.deb
> sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u8_armhf.deb
> ```