User Tools

Site Tools


Sidebar

Kerlink Wiki Home Page

Home

Setups

General information

Wirnet™ iBTS information

Wirnet™ iFemtoCell information

Wirnet™ iFemtoCell-evolution information

Wirnet™ iStation information

System management

Network management

LoRa Features

KerOS customization

Support and resources



www.kerlink.com

wiki:lora:cpf_1.2.0

Common Packet forwarder 1.2.0 (December 2019)

This CPF can be used only on Wirnet iFemtocell-Evolution

New features from 1.1.6

  • Support of iFemtocell-Evolution
  • Spectral_scan quickscan (faster spectral_scan)

Bug fixes from 1.1.6

  • FPGA Spectral scan takes too much time on iStation

Restrictions

  • When changing the uplink and downlink port of lorafwd, the old firewall rules are not removed until next boot.
  • Beacon datarate for Australia is not correct in related configuration file

Compatibility

  • KerOS v4.2 and above
  • iFemtocell-Evolution Only

Download

Pre-compiled .ipk

Sources

Installation and configuration

  1. Download the “lorad” and “lorafwd” .ipk packages files (see above).
  2. Install the .ipk files using the instructions of the software updates page. Packages can be installed simultaneously.

The installation of the “lorad” and “lorafwd” packages adds the following content on the file system:

├── etc
│   ├── default
│   │   ├── lorad   # Overall lorad configuration
│   │   └── lorafwd # Overall lorafwd configuration
│   ├── init.d
│   │   ├── lorad   # Script to start/stop lorad
│   │   └── lorafwd # Script to start/stop lorafwd
│   ├── logrotate.d
│   │   ├── lorad   # Configuration file for lorad log rotation
│   │   └── lorafwd # Configuration file for lorafwd log rotation
│   ├── monit.d
│   │   ├── lorad   # Configuration of the lorad monitoring
│   │   └── lorafwd # Configuration of the lorafwd monitoring
│   ├── profile.d
│   │   ├── lorad   # Environment variables for lorad
│   │   └── lorafwd # Environment variables for lorafwd
│   ├── rcK.d
│   │   ├── K50lorad   # autostop of lorad
│   │   └── K51lorafwd # autostop of lorafwd
│   ├── rcU.d
│   │   ├── S40lorad-fpga
│   │   ├── S50lorad   # autostart of lorad
│   │   └── S51lorafwd # autostart of lorafwd
│   ├── rsyslog.d
│   │   ├── lorad   # Configuration file for lorad log
│   │   └── lorafwd # Configuration file for lorafwd log
│   └── sysupgrade.d
│       ├── lorad.conf
│       └── lorafwd.conf
└── user
    ├── etc
    │   ├── lorad
    │   │   ├── misc
    │   │   │   └── remote-api.json
    │   │   ├── ibts
    │   │   │   ├── AS923-JP_16CH.json  # Frequency plan template
    │   │   │   ├── AU915-AU_64CH.json  # ...
    │   │   │   ├── EU868-FR_16CH.json  # ...
    │   │   │   ├── EU868-FR_2x8CH.json # ...
    │   │   │   ├── IN865-IN_8CH.json   # ...
    │   │   │   ├── RU864-RU_16CH.json  # ...
    │   │   │   └── US915-US_64CH.json  # ...
    │   │   ├── fevo
    │   │   │   ├── AS923-JP_8CH.json        # Frequency plan template
    │   │   │   ├── AU915-AU_8CH.json        # ...
    │   │   │   ├── EU868-FR_8CH.json        # ...
    │   │   │   ├── IN865-IN_8CH.json        # ...
    │   │   │   ├── RU864-RU_8CH.json        # ...
    │   │   │   ├── RU864-RU_8CH_Legacy.json # ...
    │   │   │   └── US915-US_8CH.json        # ...
    │   │   ├── wifc
    │   │   │   ├── AS923-JP_8CH.json        # Frequency plan template
    │   │   │   ├── AU915-AU_8CH.json        # ...
    │   │   │   ├── EU868-FR_8CH.json        # ...
    │   │   │   ├── IN865-IN_8CH.json        # ...
    │   │   │   ├── RU864-RU_8CH.json        # ...
    │   │   │   ├── RU864-RU_8CH_Legacy.json # ...
    │   │   │   └── US915-US_8CH.json        # ...
    │   │   └── wiis
    │   │       ├── AS923-JP_8CH.json        # Frequency plan template
    │   │       ├── AU915-AU_8CH.json        # ...
    │   │       ├── EU868-FR_8CH.json        # ...
    │   │       ├── IN865-IN_8CH.json        # ...
    │   │       ├── RU864-RU_8CH.json        # ...
    │   │       ├── RU864-RU_8CH_Legacy.json # ...
    │   │       └── US915-US_8CH.json        # ...
    │   └── lorafwd
    │       └── lorafwd.toml # LNS configuration
    ├── sbin
    │   ├── lorad-ibts # lorad binary for iBTS
    │   ├── lorad-wifc # lorad binary for iFemtoCell
    │   ├── lorad-wiis # lorad binary for iStation
    │   ├── lorad-fevo # lorad binary for iFemtocell-Evolution
    │   ├── lorafwd    # lorafwd binary
    │   ├── lorafwdctl
    │   └── loramodem  # Only for Wirnet iBTS
    └── share
        └── lorad
            └── fpga_v61.bin # Only for Wirnet iBTS

How to configure and monitor the packet forwarder?

The configuration is achieved in 3 steps:

  • lorad configuration
  • lorafwd configuration
  • monitoring and auto-start configuration

lorad configuration

The goal of the lorad configuration is to define the frequency plan that will be used to receive packets from the end-devices, to enable the LBT feature and to configure the class B beacons.

  • A few frequency plan templates are pre-installed on the gateway (under /user/etc/lorad/PLATFORM where PLATFORM equal to ibts, wifc, wiis or fevo): it is strongly recommended to copy the expected frequency plan templates in /user/etc/lorad/ directory and create symlink /user/etc/lorad/lorad.json to this copied file. The goal is to keep templates unmodified.
  • Edit /etc/default/lorad and make sure that the CONFIGURATION_FILE field links to the template you previously copied.
  • Edit the template you copied to adapt it to your needs. Since the hardware between gateways is different, the configuration on each gateway differs (although it is quite similar).

Wirnet iBTS

Wirnet iFemtoCell, iFemtocell-Evolution and Wirnet iStation

lorafwd configuration

The goal of the lorafwd configuration is mainly to define to which LNS LoRa packets will be forwarded to.

  • Edit /user/etc/lorafwd/lorafwd.toml. This configuration file is formatted using the TOML v0.5.0 language:
    • Most keys are pre-configured with correct values.
    • The description of each key is directly written in the configuration file.
    • Hereunder are the keys that must changed to chose your LNS:
      • gwmp.node = “localhost”: The address of the LNS.
      • gwmp.service.uplink = 20000: The uplink port of the LNS.
      • gwmp.service.downlink = 20000 : The downlink port of the LNS.

Monitoring and auto-start configuration

By default, both lorad and lorafwd are started at boot time. If for some reason, one of the daemons stops, it will be automatically restarted by monit.

  • The autostart behavior is handled by the symlinks /etc/rcU.d/S50lorad and /etc/rcU.d/S51lorafwd.
  • The monitoring behavior is handled by the /etc/monit.d/lorad and /etc/monit.d/lorafwd files.

The daemons can be started/stopped/rebooted and monitored with monit. See monit page for more details.

Both daemons are independent. If one is stopped/restarted, the other one does not need to be stopped/restarted.

Log managment

Both daemons generates logs in the /var/log/lora.log* files.

The verbosity of the daemons can be increased using the EXTRA_ARGS field under /etc/default/loradand /etc/default/lorafwd.

lorad:

  • NOTICE = -v: displays start and stop traces
  • INFO = -vv:
    • Displays the configuration of the hardware (frequencies, bandwidth, spreading factor, antenna, LBT, …)
    • Displays the number of uplinks and beacons sent.
    • Displays TAI/PPS info
  • DEBUG = -vvv: Displays the hexdump of the packets

lorafwd:

  • NOTICE = -v: displays start and stop traces
  • INFO = -vv:
    • Displays the configuration of the forwarder (gateway ID, LNS, uplink/downlink port, GWMP configuration, …)
    • Displays the uplinks and downlink meta-data
    • Displays the acknowledge / heartbeat / drop traces
  • DEBUG = -vvv: Displays the hexdump of the packets
wiki/lora/cpf_1.2.0.txt · Last modified: 2021/07/08 12:16 by ehe