Table of Contents

Common Packet Forwarder: installation and configuration

How to install the Common Packet Forwarder?

  1. Choose the packet forwarder to install from the resource page. Choosing the latest version of the packet forwarder is recommended.
  2. Download the “lorad” and “lorafwd” .ipk packages files.
  3. Install the .ipk files using the instructions of the software updates page. Packages can be installed simultaneously.

The CPF installation on a Wirnet iBTS takes some time since the FPGA is updated during this process. Expect approximately 15 to 30 minutes, depending on the number of connected modems.

The installation of the “lorad” and “lorafwd” packages adds the following files on the 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
    │   │   ├── 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  # ...
    │   │   ├── misc
    │   │   │   └── remote-api.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
    │   ├── 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

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 configure the class B beacons.

Wirnet iBTS

Wirnet iFemtoCell and Wirnet iStation

lorafwd configuration

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

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 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 management

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:

lorafwd: