Search Results

Keyword: ‘packet forwarder’

Configuring Two LoRa Cards on a Conduit

June 29th, 2017 Comments off
The following instructions are for use with AEP firmware 1.7.x, for mPower firmware there are UI options available for dual card configuration

Two LoRa cards can be installed on the same Conduit for the use cases listed below. Additional configuration is required.
Following these instructions will not allow further configuration through the AEP UI.

Important: The Conduit must be version MTCDT-24x or greater with MTAC-LORA-1.5 accessory cards. You cannot install two LoRa accessory cards on earlier versions of the Conduit.

SPI Device paths:

Set config key in “gateway_conf” section for each card. This will link the configuration to each physical card. If not supplied the default spi0.0 device in AP1 will be used.
AP1 => “spi_device”: “/dev/spidev32766.2”
AP2 => “spi_device”: “/dev/spidev32765.2”

Example Configurations

Packet forwarder configuration file examples can be found at the following links:

 

Diversity 8-channel operation

Run two packet forwarder instances with identical channel configurations. Make sure that the gateway_ID setting is changed for each card.

  • Card 1 – 902.3-903.7=>Radio 0 : 902.7 Radio 1: 903.5
  • Card 2 – 902.3-903.7=>Radio 0 : 902.7 Radio 1: 903.5

16-channel operation

 Run two packet forwarder instances with offset channel configurations. Make sure that the gateway_ID setting is changed for each card.

  • Card 1 – 902.3-903.7=>Radio 0 : 902.7 Radio 1: 903.5
  • Card 2 – 903.9-905.3=>Radio 0 : 904.3 Radio 1: 905.1

If you choose frequency subband 1 and 8 for card 1 and card 2 respectively, then the configurations are:

  • Card 1: frequency subband 1: radio_0: 902700000 ,radio_1: 903500000
  • Card 2: frequency subband 8: radio_0: 913900000, radio_1: 914700000

Reference modifications for AEP using angel process to monitor/restart packet forwarder

Init Script
Global Config

  • Disable network-server changing enabled in /etc/default/lora-network-server to “no”
  • Enable packet forwarder changing enabled in /etc/default/lora-packet-forwarder to “yes”
  • Copy init script to /etc/init.d/lora-packet-forwarder
  • Ensure init script has execute permissions $ chmod +x /etc/init.d/lora-packet-forwarder
  • Copy global config to /var/config/lora/global_conf_1.json and /var/config/lora/global_conf_2.json
  • Change global_conf_1.json and global_conf_2.json radio_0 and radio_1 as desired FSB1:902.7/903.5 FSB2:904.3/905.1

TTN Packet Forwarder with dual-cards

TTN Packet Forwarder installer
Download the following tarball and copy to the conduit. Script to modify the TTN installer files.
A README file can be found in the tarball.

TTN Dual Card MTS PKT FWD (1239 downloads )
Categories: Tags:

Spectral Scan

June 28th, 2017 Comments off

Spectral scan software scans the spectral band where the LoRa gateway operates. It computes a RSSI histogram on several frequencies that detects occupied bands and get interferer profiles. It then logs the histogram in a .csv file.

This utility program is meant to run on the LoRa gateway reference design SX1301AP2 (with FPGA and additional SX127x).

The background RSSI scan is a diagnostic tool and must be run on top of the gateway activity. Also, the two SX1257 radios have to be configured in RX mode to optimize the matching impedance with SX127x. The 32MHz clock provided to the SX127x is available once SX1301 has enabled the two SX1257 radios, so the background RSSI scan must be launched after the packet forwarder.

Note: If the FPGA running the spectral scan also supports the Listen Before Talk (LBT) feature, then the LBT feature has to be enabled and running before launching util_spectral_scan. For example, if the lora_pkt_fwd runs in background, then it has  to use a global_conf.json file with “lbt_cfg.enable” set to true.

The util_spec_scan utility is found in the /opt/lora/gateway-utils or /opt/lora/gateway-utils-geo directory depending on hardware capabilities.

Command Options for util_spectral_scan

Command Line Options Descriptions
-h Displays a short help
-f start:step:stop Frequency vector to scan in MHz: start:step:stop Valid range: Start>800, step>0.005, stop<1000
-b Channel bandwidth to be used to configure the SX127x radio for scanning in KHz Valid values: [25,50,100,125,200,250,500]
-n Total number of RSSI points. Valid range: [1…65535]
-1 Log file name
-o <int> Offset in dB to be applied to the SX127x RSSI [-128..127]

 

Note:  For FPGA image that provides LBT support, the spectral scan gets less flexible. The following parameters have constraints.

  • Frequency step: has to be a multiple of 100
  • Channel bandwidth: hardcoded to 200KHz
  • Number of RSSI points: 16641

Usage

The format of the log file is as follows: Freq_1, histo_1, …, RSSI_128, histo_128 Freq_2, RSSI_1, …, RSSI_128, histo_128 …

RSSI_n is the nth value of RSSI in dBm

Default setup:

  • freq 863 : 0.2 : 870
  • 65535 RSSI points in total at 32kHz rate
  • 125KHz channel bandwidth
  • -4 dB RSSI offset

Note: Example with frequencies from 865 MHz to 870 MHz, by step of 100KHz, BW 200KHz 10000 RSSI points processed at 10kHz rate, saved in “Log.csv”: ./util_spectral_scan -f 865:0.1:870 -n 10000 -b 200 -l "log"

Categories: Tags:

Conduit Access Point: Getting Started with LoRa

March 24th, 2017 Comments off
This topic applies only to MTCAP mLinux models.

For help setting up your hardware, refer to the MultiConnect Conduit Access Point User Guide.

To configure LoRa:

  1. Log in to the console, if you are not logged in. For help, refer to
    Accessing the Terminal Interface.
  2. Establish an Internet connection via Ethernet or cellular.
  3. Edit the packet forwarder configuration as necessary by modifying /opt/lora/local_conf.json with vi or nano.


    gateway_conf[“server_address”] Set your LoRa network server address
    gateway_conf[“serv_port_up”] Set the up port used by your LoRa network server
    gateway_conf[“serv_port_down”] Set the down port used by your LoRa network
    server
  4. Start the packet forwarder: $ /etc/init.d/lora-packet-forwarder start.
Categories: Tags:

mLinux Changelog

June 14th, 2016 Comments off

6.3.0 (2023-05-31)

Yocto Dunfell version of mLinux

  • 5.4.199 kernel version
  • 3.8.13 Python version
  • 5.64 Bluez
  • No package update from older versions of mLinux (< 6.3.0)
  • Yocto build was tested on Ubuntu 18.04
  • Busybox date command was replaced with coreutils data command
  • nftables was added for experimentation as iptables command  is deprecated.
  • No more Python 2.  Only Python 3 is available
  • No mono package for this release

Known Behavior

  • Frequently mlinux-version will not build, and in the error, a component of the path will be <unknown>.  For a workaround, before the build do:

git config --global --add safe.directory [OEROOT]

OEROOT is the directory which contains build, conf, downloads, layers, etc.

  • mLinux builds failing with Ubuntu running under Microsoft WSL2 or Oracle VirtualBox. Stable when using native VMWare or native Linux.

    • You may see failure in g++ building binutils-cross-arm:
| {standard input}: Assembler messages:
| {standard input}:48170: Warning: end of file not at end of a line; newline inserted
| {standard input}:48589: Error: unbalanced parenthesis in operand 1.
| {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
| g++: fatal error: Killed signal terminated program cc1plus
    • You may see failure in gcc building mariadb-native:
| {standard input}: Assembler messages:
| {standard input}:31990: Warning: end of file not at end of a line; newline inserted
| gcc: internal compiler error: Killed (program cc1)
    • This seems to be related to MS Windows builds done under Oracle VirtualBox or MS WSL2. Resuming the build seems to overcome the issue.  Simply re-enter the command line for the image to resume the build.  Example:

MACHINE=mtcdt bitbake mlinux-factory-image

    • The problem seems to occur less frequently under MS WSL2.
  • lora-packet-forwarder and lora-network-server are now automatically monitored by monit when configured.
  • Firmware updates still delete all passwords and put the device in commissioning mode

 

6.0.1 (2022-05-31, updated 2022-11-07)

Yocto Dunfell version of mLinux

  • Almost everything has changed, including the kernel.
  • No more Python 2.  Only Python 3 is available
  • No mono package for this release
  • 5.4 kernel version
  • 3.8.11 Python version
  • opkg updates on the device use https now
  • Most package builds use https rather than http
  • No package update from older versions of mLinux (< 6.0.0)
  • Corrected Verizon SMS messaging for some cellular modems
  • user overlay file system was added so factory reset now removes all installed software that is not in /var/config or /var/oem
  • Yocto build was tested on Ubuntu 18.04

Known Behavior

  • lora-packet forwarder must be stopped prior to stopping GPSD or the CPU overloads.
    • /etc/init.d/lora-packet-forwarder stop
    • /etc/init.d/gpsd stop
  • firmware updates still delete all passwords and put the device in commissioning mode
  • Bug in MTCDT slot AP2 when using MTAC-ETH.  This can be fixed via opkg by updating:
    • opkg update
    • opkg install libudev1 eudev

5.3.5a (2022-02-11)

Stability update from 5.3.5 for old hardware to match fixes in 5.3.31 images.

  • Available only as an incremental upgrade for 5.3.5
  • No images for 5.3.5a. This is a targeted list of packages.
  • This update has only been tested on 5.3.5.
  • The updated version does not include support for new versions of MTCDT and MTCDTIP, but MTCDT/MTCDTIP support is included on those new devices and will not need the update.
  • 5.3.0 versions must update to 5.3.5 first.

5.3.31 (2022-02-11)

Stability update from 5.3.5

  • Fixes related to AT&T Sunset of 3G
  • GPSD fixes related to satellite overflow problem and 19 year rollover issue
  • WiFi changes for European Conformance
  • L4G1 Support
  • Support for MTCDT devices with substitute components
  • LNS updated to v2.5.24. Includes support for channel plan AS923-4 LoRa Frequency Plan
    (Israel)
  • LPF updated to v4.0.14. Includes Listen-Before-Talk update
    • 128us scan time does not allow packets above aproximaely 370mS duration
  • LG updated to v5.0.10. Includes fix for class B beacon frequency error correction

Known Behavior

  • LG updated to v5.0.10. Issues identified in Class B deployments. Class B not recommended

5.3.0e (2021-06-24)

This version of mLinux is only available on git.multitech.net. It is a fix for 5.3.0d
because the build process broke sometime during the development of 5.3.5. This problem
only affects 5.3.0 builds done from git.multitech.net. The source tarball is unaffected.
If you have already retrieved mlinux from git.multitech.net, and you see that
your build is failing in mtac-gpiob due to undefined values, you may fix this as follows:

  • cd ../layers/meta-multitech-atmel
  • git fetch origin 5.3
  • git checkout 5.3.0e
  • cd ../../build
  • [bitbake command(s)]

5.3.5 (2021-06-22)

Features:

  • LoRa Packet Forwarder 4.0.10-r30
  • LoRa Network Server 2.5.1-r0
  • 2021-Jan-19 CA-Certificates
  • MTCAP images now support MTCDTIP2
  • gpsd is now in MTCAP images for MTCDTIP2 support

Major fixes:

  • Sometimes GPSD 3.16 no longer acquires satellites. This problem is fixed in GPSD 3.20.
  • Firmware update via SD card failed. This is fixed in initscripts 1.0-r155.47
  • New U-Blox initialization method to improve GPSD start-up

It is recommended that for new builds you should use 5.3.5. If you want to start a new build of
5.3.0, you will need to execute git checkout 5.3.0eto get working code.

5.3.0b (2021-01-08)

Note that the source image for this release is labeled 5.3.0d. This is because 5.3.0b had recipe issues that required special access to Multitech servers during the build. The resulting build output of 5.3.0b and 5.3.0d are identical in function.

node.js support was dropped. This is because Node.js has dropped support for the ARMV5 architecture.

Ruby language support was dropped. This is because Yocto/Open-Embedded dropped support of Ruby.

mLinux 5.3 uses Yocto 2.6/Thud. There were extensive library changes. Because of this, updating packages is not a viable way to upgrade the device. You must do a firmware image update.

Major fixes:

  • On rare occassions the modem was disabled with COPS=2. The COPS state is now verified before ppp starts
  • The administrator now has /usr/sbin and /sbin in the path. This was ommitted in 5.2.7, but was in the path in older versions of mLinux.

5.2.7 (2020-06-24)

Errata (2021-01-25)

The repository git.multitech.net module mlinux.git at the 5.2.7 tagged version does not retrieve the version of meta-openembedded that was used to build the images and source tarball. It is recommended that the tagged version 5.2.7a be used instead, so the correct version of Yocto Morty is used. Readme for 5.2.7a

Changes since 5.1.8

Commissioning

Commissioning mode has been added to mLinux. Devices must now undergo a first time
setup to create a username and password. This can be executed via a webUI by browsing
to 192.168.2.1 while networked locally to the device via Ethernet. Additionally,
commissioning may be completed via a curl interface described here.

MTCAP
  • lighttpd 1.4.48
MTCDT
  • lighttpd 1.4.48

Known Issues

  • PATH for Commissioned users does not initially include /sbin or /usr/sbin

5.1.8 (2019-11-08)

Changes since 5.0.0

Cellular

Registration with carrier is now dropped before an APN change, which is required
by some newer modems (LNA4, L4E1).

Support for LNA4, L4E1, LEU7.

LAP3 APN changes now work correctly (carrier registration is dropped).

mtadm added to the dialout group to implement carrier disconnect on modem APN change.

MTCAP
  • sudo 1.8.27
MTCDT
  • sudo 1.8.27
  • lldpd
  • flush debug port buffer on boot before read to prevent boot hangs
  • Various support programs for Redpine WiFi/Bluetooth in /opt/rs9113 directory which were mistakenly removed from mLinux 5.0.0

Known Issues

  • Log rotate will cause the packet forwarder to quit when using the LoRa Network Server, install lora-logging-1.0-r2

5.0.0 (2019-07-02)

Changes since 4.1.9

MTCAP
  • Linux 4.9.87
  • LoRa Packet Forwarder 4.0.1
  • AT91Bootstrap 3.8.12-m2 with support for ONFI flash, improved GNSS reset handling
  • U-Boot 2016.09.01 with USB removed for improved GNSS reset handling
  • Upgraded packages
MTCDT
  • Linux 4.9.87, which allows BLE GATT Server, better GNSS reset handling
  • LoRa Packet Forwarder 4.0.1-r17
  • LoRa Geolocation 5.1.0-r6
  • MTAC 4.0.1 which reads the EEPROM when the driver loads
  • rs9113-autostart package so RS9113 (WiFi/BT) is disabled without this package.
  • mtd-utils 2.0.2 with Linux 4.9 support
  • AT91Bootstrap 3.8.12-m2 with support for ONFI flash, improved GNSS reset handling
  • U-Boot 2016.09.01 with USB removed for improved GNSS reset handling
  • U-Blox GNSS is now held in reset until the device comes up, which prevents lock-ups in the GNSS
  • Upgraded packages

Known Issues

  • Hardware watchdog cannot be turned off, and the device will reset if an attempt is made to halt. This is considered a feature.
  • The example files from Redpine used to configure WiFi were left off of the device (such as /opt/rs9113/hostapd_open.conf). They are contained in the package rs9113-misc_1.6.1-r10.4.9.87r9.0_all.ipk. To obtain this file it will be necessary to open a support ticket .

Support tickets to obtain Redpine Drivers
mLinux source code

4.1.9 (2019-05-13)

Changes since 4.1.7

MTCDT Only

It was found that gpsctl does not reliably set the baud rate and message mode of the GPS. In some circumstances, messages with latitude and longitude were shut off which caused there to be no location in some software. For this reason, all gpsd packages except libgps24 (to provide compatibility) were downgraded to 3.16. This issue has existed since 4.0.0.

Changed software components

4.1.7 (2019-04-23)

Changes since 4.1.6

MTCDT Only

Bootstrap, U-Boot, and the kernel were revised to hold the U-Blox GNSS reset line high during most of the boot. This is to correct an unresponsive GPS, which happens rarely on some units. The same treatment was also given to the USB Hub reset.

Upgraded software components

4.1.6 (2019-03-26)

Changes since 4.0.1

MTCAP
  • Sprint Cellular Modem LSP3 support
  • Australia Cellular Modem LAP3 support
  • Radio reset package, which is configurable via /etc/default/radio-reset
  • ifplugd package, which starts DHCP when a network becomes available
  • IPV6 is enabled by default in ppp, required by some carrier accounts
  • LoRa Network Server 2.2.18 is included on the image, but is inoperable, except on mPower hardware.
  • LoRa Packet Forwarder 4.0.1
  • Upgraded packages
MTCDT
  • MTAC-XDOT support
  • MTAC-PULSE support
  • The mts-io driver (mts_io.ko) was split into separate modules to make mtac card development easier.
  • New gpsd 3.18.1 with ubxtool
  • New LoRa packet forwarder compatible with gpsd and ntp usage of the GPS,except on MTCDTIP with LoRa geolocation
  • Removed gpsd-udev USB GPS package which caused issues on some Conduits® with certain cellular modems
  • LoRa Network Server 2.2.18
  • LoRa Packet Forwarder 4.0.1
  • Upgraded packages

Known Issues

  • gpsd cannot be used with MTCDTIP with LoRa geolocation

mtac driver change

    The mtac accessory cards for MTCDT now each have separate loadable modules. There is a new driver module, mtac.ko, which is the mtac card supervisor. It maintains a list of which cards are inserted into the Conduit. The init script, /etc/init.d/mts-io, now attempts to load each mtac card driver module. If the correct mtac card is not found, the module will not load. The mtac card is identified through its EEPROM on the i2c bus on the card itself. The source code for the various mtac drivers can be found in the mts-io section at the bottom of this page:

mLinux source code

4.0.1 (2018-08-01)

Changes since 3.3.24

  • mLinux 4 is based on Yocto 2.2. mLinux 3 was based on Yocto 1.6
  • OpenJDK was removed from the image. Still available from feeds or build your own image
  • The new kernel fixes write hangs when doing high volume writes to jffs2 file system or SD card
  • Enhanced security. Root user logins are removed. New admin is mtadm, and is not root. Root privilege is accessed via sudo
  • Default login on MT provided images is mtadm/root
  • Support for LoRa 2.1
  • Support for address ranges in firewall settings
  • Bluez5 replaces Bluez4
  • ifplugd to bring up connections and restart DHCP
  • kernel support for Cat M Cellular radios
  • U-Boot password protection
  • php-fpm replaces fastcgi on the images
  • eudev replaces udev
  • Upgraded packages

Known Issues

  • sms does not work with LNA3 Cellular Modem on Verizon with MTCAP
  • Radio reset does not work with LNA3 and MTCAP with firmware 20.00.522 (AT&T) or 20.00.12 (Verizon). The solution is to upgradethe firmware to 20.00.524/20.00.14.
  • Upgrading Telit firmware
  • In mLinux 3, libcurl4 was mistakenly called libcurl5. This was a bug in Yocto 1.6. This bug has since been corrected, and libcurl4 is now called libcurl4 as it should be. However, old programs linked by the toolchain for mLInux 3 will not be able to find libcurl4. This can probably be fixed with a symlink, but this solution needs testing.
  • libcurl5 issue

3.3.24 (2018-04-09)

Changes since 3.3.22

  • Lora Network Server 2.0.19
  • Add kernel revision to revision of vizzini and mts-io pacakges
  • Correct revision of kernel-module-bluetooth
  • Fix gpsd scripts used by ntpd to prevent possible boot hangs

3.3.22 (2018-03-05)

Changes since 3.3.15

  • dnsmasq security fixes:
  • CVE-2017-13704
  • CVE-2017-14491
  • CVE-2017-14492
  • CVE-2017-14493
  • CVE-2017-14494
  • CVE-2017-14495
  • CVE-2017-14496
    Fixed package:
  • dnsmasq_2.78-r0.0
  • Bluetooth Blueborne security fixes
  • CVE-2017-1000250
  • CVE-2017-1000251
    Fixed packages:
  • kernel-module-bluetooth-3.12.27-r14.m1.1
Requires kernel 3.12.27r15
  • bluez4-4.101-r10.m1.0
  • WiFi (hostapd and wpa_supplicant)
  • CERT case ID: VU#228519
  • CVE-2017-13077
  • CVE-2017-13078
  • CVE-2017-13079
  • CVE-2017-13080
  • CVE-2017-13081
  • CVE-2017-13082
  • CVE-2017-13086
  • CVE-2017-13087
  • CVE-2017-13088
    Fixed packages:
  • hostap-daemon-2.6-r0.0
  • wpa-supplicant-2.6-r0.0
  • wpa-supplicant-cli-2.6-r0.0
  • wpa-supplicant-passphrase-2.6-r0.0
  • RS9113 driver 1.5.6 update for new revision RS9113 part. New devices are not compatible with older versions of this driver.Old devices are compatible with the new driver.
    Package upgrade:
  • rs9113-1.5.6-r0.3.12.27r15.0
  • Failure to complete boot in certain newer devices:
  • gpsd-3.16-m5.0
  • mts-io-1.5.16-r10.0-3.12.27r15.0
  • Do not do Radio Reset of Cellular modem when the modem is not on the device.
    mts-io-1.5.16-r10.0-3.12.27r15.0
  • Build the /run/config directory during boot for Lora software to make it easier to discoverdevices. This does not include cellular radio information.
    get-eeprom-device-config – 1.1.0-r1.0
  • Preserve hostapd and dnsmasq (if installed) files across installations.
    config-2.1-r1.0
  • Allow radio reset of cellular modem despite backoff timer restrictions.
    mts-io-1.5.16-r10.0-3.12.27r15.0
  • Support for LDC3 radio (Japan)
    libmts-io0-1.0.3-r0.0
  • Support for network bonding
  • kernel-3.12.27r15
  • kernel-module-bonding-3.12.27-r15.1
  • Netfilter additional support:
  • kernel-3.12.27r15
  • kernel-module-xt-tproxy-3.12.27-r15.1
  • kernel-module-xt-hashlimit-3.12.27-r15.1
  • kernel-module-xt-tee-3.12.27-r15.1
  • mts-fpga-loader for Lora firmware updates.
    mts-id-eeprom-0.3.3-r1.0.0
  • Support for IP67:
  • mts-io-1.5.16-r10.0-3.12.27r15.0
  • allow upgrades for IP67 (no downgrades to prior levels of mLinux)
  • LNS 2.0.16
    See additional LoRa notes below
  • Don’t allow mPower version to be overwritten by mLinux version.
    Lora Query 1.0.4
  • New channel plans
    LPF 3.1.0-r11
  • NodeJS 0.10.48-r1.7
  • Allow for an install script in an upgrade package.
    config-2.1-r1

Additional LoRa Notes

    LoRa Network Server v2.0.16
    Class C scheduling up to 5 seconds out, instead of failing schedule call multiple times
    Set default join delay to 5 seconds, if null was provided OTA join was not possible
    Fix sample config file JSON error comma at end of list
    Add app port to application MQTT topic for up and packet_sent events
    Allows for application specific filtering such as Multicast or Multipart
    mosquitto_sub -v -t lora/+/+/+/+
    mosquitto_sub -v -t lora/<APP-EUI>/<DEV-EUI>/<APP-PORT>/<EVENT>
    Add some time randomization for class C downlink rescheduling
    Fix for US/AU private mode Rx2, frequency was not correct
    Emit queue_full message if no room left, check of queue size was added before making a call to add the packet
    Add timeout if packet forwarder is not seen in 10 minutes the network server will restart all lora services (network-server, lens-server and packet-forwarder)
    Add support for Network Modes: 0:Private MTS, 1:Public LoRaWAN and 2:Private LoRaWAN
    Private MTS is the previous default to work with Dots with AT+PN=0
    Public LoRaWAN is the new default for LoRaWAN 1.0.2 compatible end-devices, Dots AT+PN=1
    Private LoRaWAN is a new mode for LoRaWAN 1.0.2 compatible end-devices in a private network, Dots AT+PN=2
    Join Delay defaults to 5 seconds
    Add “lora” > “joinDelay” setting to adjust to 1 second for Private MTS mode.
    Affects only mLinux, mPower has UI/API controlling the configuration.

3.3.15 (2017-10-30)

Changes since 3.3.13

      • Lora Network Server 1.0.43-r1.0.
      • Lora Packet Forwarder 3.1.0-r10.0.
  • adjust the MTAC_LORA_1_0 default min/max US915 frequencies
  • update 1.0 MTAC-LORA default global_conf.json file for consistency sake
  • MTAC_LORA 1.5 US915. Default frequency offset for DR4 channel was misconfigured
  • update global_conf.json file for +13dBm output according to Japan certification testing
      • Bluez4 Blueborne fix 4.101-r10.m1.0
      • Bluetooth kernel module Blueborne fix, kernel-module-bluetooth 3.12.27-r14.2, srcversion: A663C5831F3BBA8C48735E5
      • gpsd script could cause hang in ntpd start-up, gpsd-conf 3.16-m4.0
      • /etc/init.d/umountfs allows for package updates rather than just image replacement, mlinux-scripts 1.1-r3.0
      • Lora eprom burning tool, mts-fpga-loader, for mtcdt, mts-id-eeprom 0.3.3-r1.0.0

3.3.13 (2017-09-27, revised 2017-10-23)

Features since 3.3.9

      • Remove radio reset from MTCAP units with no cellular radio.
      • Support for MTCDTID harware version
      • Support for LNA3 radio option
      • Support for Netfilter TEE available in kernel module xt_TEE.ko.
      • ppp waits for SIM registration before starting. Seehttps://www.multitech.net/developer/software/mlinux/using-mlinux/start-cell-connection-on-boot/
      • International dialing support in sms-utils
      • When umountfs attempts an upgrade, first clean up /var/volatile of unneeded files
      • New Lora calibration data in /opt/lora/global_conf.json.MTCAP_LORA_1_5.US915.

Known Issues

When building an upgrade file for MTCDTIP, you must update the model file after the build.

cd /tmp

mkdir mlinux-3.3.13

cd mlinux-3.3.13

tar -xf ~/Downloads/mlinux-base-image-mtcdt-upgrade-withboot.bin

sed -i 's/mtcdt/mtcdt|mtcdtip/' model

tar -cf /tmp/mlinux-base-image-mtcdt-upgrade-withboot.bin *

3.3.9 (2017-08-10)

Features since 3.3.7

      • gethostbyname memory leak fix — libc6_2.19-r0.m1.0
      • MTCAP had an unusual password in 3.3.7. Set to root in 3.3.9
      • New Lora software related to support for Japan
        • Lora-gateway from 4.0.1-r9.0 to 4.1.3-r10.0
        • Lora-network-server from 1.0.26-r1.0 to 1.0.36-r1.0
        • Lora-packet-forwarder from 3.0.0-r9.0 to 3.1.0-r9.0

3.3.7 (2017-06-26)

Features

      • Support for LJP1 (LE866) Radio (Japan)
      • Support for LJP1 (LE910-JN1) (Japan)
      • Support for LNA3 (LE910-NA1)

Fixes

      • OPEN SSL Version 3 Support added for Python. New SSL package is openssl – 1.0.2k-bpo8.1m2.0
      • GPSD no longer will start if the GPS capability flag is not set by the MTS-IO driver.
      • When starting GPSD, a maximum of 20 seconds is allowed for changing the baud rate of the GPS. This will allow the boot to proceed if a baud rate change is not possible.
      • Eliminated setserial command invocation from udev which was producing error messages and not needed.
      • Bootstrap patch borrowed from MTR to lessen the likelihood of the Real Time Clock preventing boot when operating with a battery.
      • Build change: source control for 3.x.y above 3.3.6 was moved to git 3 branch from master. This was to prepare for mLinux release 4.0

See also

Using mLinux

3.3.6 (2017-04-21)

Changes

      • lora-network-server is at level 1.0.26.
      • Upgraded to openssl 1.0.2k-1~bpo8+1 from Debian backports to be compatible with mLinux 3.1 and 3.2 and provides security enhancements.
      • GPSD support for leap second on Conduits with GPS receiver feature.
      • NTPD starts by default if the GPS has a position fix. NTPD adjusts the system clock and sets the hardware clock.
      • To disable GPSD, set parameter /etc/default/gpsd: ENABLED="no". Reboot.
      • To disable NTPD, set parameter /etc/default/ntpd: ENABLED="no". Reboot.
      • To disable GPS requirement for NTP, set /etc/default/ntpd: GPSD_REQUIRED=0.
      • To check GPSD when it is running, type gpsmon.
      • Ethernet Bonding feature added.

Known Issues

      • Lora only supports 915MHz, 868MHz, and AU915MHz channel plans.

See also

Using mLinux

3.2.0 (2016-05-18)

Changes

      • Updated openembedded-core with latest security fixes from Yocto 1.6
      • Fixed monit building issue with 3.1.0
      • lora-network-server 1.0.8
      • Added support for LTE radio models: LVW2, LEU1, LAT1
      • mts-io 1.1.4 — fix possible kernel crash in driver
      • node.js 0.10.44
      • Added strongswan to images
      • Fix sms bugs where some characters wouldn’t be sent or received correctly

Known Issues

      • Will not build on Ubuntu 14.04/16.04 with kernel 4+

3.1.0 (2015-05-27)

    • First official release!
Categories: Tags:

MQTT Messages

April 1st, 2016 Comments off

An MQTT broker is provided on the device to handle messaging between the network server and applications. This provides an easy interface for an application to subscribe to relevant topics. Applications can be written in any language supported by the image installed on the device, MQTT libraries are available for most languages.

 

Input Topics

  • down – submit a packet to be queue for a device
    • topic: lora/<DEV-EUI>/down
    • message – JSON packet info
    • JSON fields
      • deveui – DevEUI of destination end device
      • data – base64 encoded data to be sent in downlink packet payload.
      • port – AppPort, 8-bit integer value to send packet, use 0 to send MAC commands.
      • ack – optional, request ACK of receipt of packet by end device. If enabled the end device should send an ACK in its next uplink packet after receiving the downlink. If the ACK is not seen in the uplink the same downlink packet may be sent again, depending on retry settings. In Class C the ACK will be expected soon after the downlink is transmitted, i.e. five seconds, otherwise a retry will be sent.
      • ack_retries – optional, number of re-transmissions to perform in sending the downlink. If network server is unable to schedule the downlink it will not be counted against the retries.
      • rx_wnd – optional, specify Rx window downlink should be scheduled for values (0, 1 or 2). If provided, and not 0, the network server will wait until the packet can be scheduled for the specified window before sending the packet to the radio for transmission. The packet will remain in the queue until scheduled. Set to 0 for Class C devices.
  • clear – clear the downlink queue for an end device
    • topic: lora/<DEV-EUI>/clear
    • message – none or empty string

 

 

Output Topics

Device Specific Messages

Events for specific DevEUI values can be subscribed to, useful for filtering. Messages published by the network server use QOS level 1.

Match all topics: lora/+/+

Fields: lora/<DEV-EUI>/<EVENT>

Event Topics

        • up – occurs when a packet is received and authenticated. Will be sent to application only once for each frame counter. Duplicate or retransmitted packets will be filtered by the network server. Payload has been decrypted with the Application Session Key.
        • down – occurs when an application submits a packet for downlink using MQTT
        • joined – occurs when an end-device join request is received, validated and join response is queued. If join request was serviced by remote join server “remote_js” in JSON will be set true.
        • join_request – occurs when a join request is received.
        • join_rejected – occurs when join request is denied due to a mismatched AppKey, UnknownDevEUI or Gateway Mismatch.
        • join_accept – occurs when a join request is valid and a response is ready to be sent.
        • down_queued – occurs when a downlink packet is successfully queued by an application.
        • down_dropped – occurs when a packet cannot be queued
        • mac_sent – occurs when a set of MAC commands are sent to the end device in a downlink packet
        • mac_recv – occurs when a MAC command is received in an uplink packet
        • packet_sent – occurs when a packet is sent to the radio for transmission
        • packet_ack – occurs when the network server receives an uplink with acknowledgement of successful receipt of a downlink packet.
        • packet_drop – occurs when a packet could not be scheduled for transmission in an Rx Window and cannot be resent later, i.e. join request cannot be rescheduled or ACK retries have been exhausted.
        • packet_missed – occurs when gap is detected in the frame counter of received frames. A count of the detected missed packets will be provided in the message.
        • packet_recv – occurs when a packet is received and authenticated. Duplicate packets will appear, data payload is encrypted.
        • queue_full – occurs when space is not available to queue a downlink for the end device
        • class – occurs when an end device operating class is updated.
        • clear – command sent to clear an end device downlink queue
        • cleared – occurs when an end device downlink queue is cleared.
        • gw_rejected – occurs when a UDP packet is received from an unknown gateway and a new record could not be created due to currently installed license information

Fields in up messages

  • time – UTC time of pkt RX, us precision, ISO 8601 ‘compact’ format
  • tmst – Internal timestamp of “RX finished” event (32b unsigned)
  • freq – RX central frequency in MHz (unsigned float, Hz precision)
  • chan – Concentrator “IF” channel used for RX (unsigned integer)
  • rfch – Concentrator “RF chain” used for RX (unsigned integer)
  • stat – CRC status: 1 = OK, -1 = fail, 0 = no CRC
  • modu – Modulation identifier “LORA” or “FSK”
  • datr – LoRa datarate identifier (eg. SF12BW500)
  • datr – FSK datarate (unsigned, in bits per second)
  • codr – LoRa ECC coding rate identifier
  • rssi – RSSI in dBm (signed integer, 1 dB precision)
  • lsnr – Lora SNR ratio in dB (signed float, 0.1 dB precision)
  • size – RF packet payload size in bytes (unsigned integer)
  • data – Base64 encoded RF packet payload, padded
  • ack – Set to true if uplink frame is acknowledging last received downlink
  • adr – Set to true if end-device has ADR enabled bit set in uplink packet
  • data – Decrypted payload (BASE64)
  • mhdr – LoRaWAN packet header (HEX)
  • opts – MAC commands (HEX)
  • port – Application port
  • fcnt – Packet sequence number 16-bit
  • seqn – Packet sequence number 32-bit
  • size – Size of “data” field
  • time – time packet was received by network server or packet-forwarder
  • cls – class bit in frame control byte
  • deveui – device EUI
  • appeui – application EUI
  • gweui – gateway EUI
  • mPower 6.0.x will add the following fields if configured in the device record
    • name – device name
    • product_id – device product ID
    • serial_number – device serial number
    • hardware_version – device hardware versionm
    • firmware_version – device firmware version

 

Gateway Specific Messages

Events for specific Gateway EUI can be subscribed to, useful for filtering.

Fields: lora/<GW-EUI>/<DEV-EUI>/<EVENT>

Events:

      • packet_recv – occurs when a packet is received by the radio

Application Specific Messages

Events for specific Application EUI and Application Port values can be subscribed to, useful for filtering.

Fields: lora/<APP-EUI>/<DEV-EUI>/<EVENT>

Fields: lora/<APP-EUI>/<DEV-EUI>/<APP-PORT>/up

Events:

      • up – occurs when a packet is received and authenticated. Will be sent to application only once for each frame counter. Duplicate or retransmitted packets will be filtered by the network server. Payload has been decrypted with the Application Session Key.
      • packet_sent – occurs when a packet is sent to the radio for transmission

Subscribing to MQTT Messages

Below is an example of a device joining the network successfully. Then sending one uplink packet, receiving a confirmed downlink with MAC command requests and responding in a second uplink with MAC command answers and ACK set.

# mosquitto_sub -v -t lora/+/+

lora/00-80-00-00-00-00-e1-9c/join_request {"tmst":4167060148,"chan":7,...,"nonce":42137}
lora/00-80-00-00-00-00-e1-9c/class C
lora/00-80-00-00-00-00-e1-9c/joined {"remote_js":true}
lora/00-80-00-00-00-00-e1-9c/packet_sent {"appeui":"16-ea-76-...-3d-80","codr":"4/5",...,"powe":11,}
lora/00-80-00-00-00-00-e1-9c/packet_recv {"tmst":4237072364,..."data":"QFWKg1i...emStPVPg="}
lora/00-80-00-00-00-00-e1-9c/up {"tmst":4237072364,..."seqn":0,"appeui":"16-ea-76-...-3d-80"}
lora/00-80-00-00-00-00-e1-9c/packet_sent {"appeui":"16-ea-76...-80",...,"tmst":4238072364,"twnd":1}
lora/00-80-00-00-00-00-e1-9c/mac_sent {"deveui":"00-80-...-ee","opts":"0708f87d84...18477"}
lora/00-80-00-00-00-00-e1-9c/packet_recv {"tmst":4248407972,...,"data":"QFWKg1ikA...dgONV"}
lora/00-80-00-00-00-00-e1-9c/packet_ack {"seqn":0}
lora/00-80-00-00-00-00-e1-9c/mac_recv {"appeui":"1","data":"03","deveui":"2","gweui":"3","id":7}
lora/00-80-00-00-00-00-e1-9c/mac_recv {"appeui":"1","data":"03","deveui":"2","gweui":"3","id":7}
lora/00-80-00-00-00-00-e1-9c/up {"tmst":4248407972,...,"seqn":1,"appeui":"16-ea-76-...-3d-80"}
lora/00-80-00-00-00-00-e1-9c/packet_missed {"count":3}
lora/00-80-00-00-00-00-e1-9c/up {"tmst":4543408762,...,"seqn":5,"appeui":"16-ea-76-...-3d-80"}

Publishing MQTT Messages

# mosquitto_pub -t lora/<DEV-EUI>/down -m '{<JSON fields>}'
# mosquitto_pub -t lora/00-80-00-00-00-00-9d-b2/down -m '{"data":"dGVzdA=="}'

The “data” field of the message must be base64 encoded.
Commands can be issued through UDP on port 6677 or using the lora-query utility

Additional commands

Example returning the configuration settings of the Network Server:

# nc -u localhost 6677


config
{
"__v" : 3,
"addressRange" : {
"end" : "FF:FF:FF:FE",
"start" : "00:00:00:01"

# lora-query -x config


{
"__v" : 3,
"addressRange" : {
"end" : "FF:FF:FF:FE",
"start" : "00:00:00:01"

To list all commands

$ lora-query -x help

MTS Lora Server Command Help

Commands:

stats – list current stats

reset – reset stats for network, gateways and end-devices

gateway – gateway commands

list – list connected gateways

format: gateway list [json]

delete – remove a gateway from the list

format: device gateway <GW-EUI>

device – end-device commands

add – add a new end-device record

format: device add <DEV-JSON>

example: device add '{"deveui":"00-80-00-00-00-00-e1-9c","class":"C"}'

stats – show end-device statistics

update – update end-device configuration or session info

format: device update <DEV-EUI> <FIELD> <VALUE>

example: device update 00-80-00-00-00-00-e1-9c class C

fields: class, nskey, dskey, ulc, dlc

format: device update <DEV-JSON>

example: device update '{"deveui":"00-80-00-00-00-00-e1-9c","class":"C"}'

fields: deveui, class, name, serial_number, product_id, hardware_version, firmware_version, lorawan_version

delete – delete an end-device configuration, session and packet records

format: device delete <DEV-EUI>

config – show configuration for a specific device

reset – reset end-device session counters

format: device reset <DEV-EUI>

list – list end-devices configured in the network server

format: device list [json]

keygen – generate a unique end-device key using zero-touch settings

format: device keygen <DEV-EUI> [APP-EUI]

session – session commands

add – add a session for a device

format: session add <DEV-JSON>

example: session add '{"deveui":"008000000000e19c",...,"fnwk_sint_key":"531bd..ebe6"}'

JSON prettified:

{
"deveui":"00-80-00-00-00-00-e1-9c",
"dev_addr":"00112233",
"appeui":"00-88-88-88-00-00-e1-9c",
"joineui":"00-99-99-99-00-00-e1-9c",
"net_id":"000017",
"app_senc_key":"531bd9c5ec5d8ba5ef3b262cebfb3e66",
"fnwk_sint_key":"531bd9c5ec5d8ba5ef3b262cebfb3e66"
}

fields: deveui, appeui, joineui, dev_addr, net_id, app_senc_key, fnwk_sint_key

delete – remove a device session

format: session delete <DEV-EUI>

reset – reset session counters

format: session reset <DEV-EUI>

list – show current device sessions

format: session list [json]

packet – packet commands

join – list all validated join packets

format: packet join [json]

up – list all validated uplink packets

format: packet up [json]

down – list all downlink packets

format: packet down [json]

list – list all packets: join, up and down

format: packet list [json]

queue – list downlink queue packets to be sent to end-device

format: packet queue [json]

add – add a packet to the downlink queue

format: packet queue add <PACKET-JSON>

fields: deveui, data, ack, ack_retries, rx_wndMQ T T

delete – delete all downlinks for a specific device

format: packet queue delete <DEV-EUI>

delete – delete one downlink for a specific device

format: packet queue delete <DEV-EUI> <ID>

database – database commands

backup – backup database to flash memory

config – show network server configuration

debug – change debug level

ping – ping the network server command port

help – display this help

quit – command network server process to stop

– add ‘json’ modifier to request output in json

 

Message Format

Semtech Packet Forwarder Protocol
LoRaWAN 1.1

Packet forwarder message format for packet_recv and up topics

Name | Type | Function
:----:|:------:|--------------------------------------------------------------
time | string | UTC time of pkt RX, us precision, ISO 8601 'compact' format
tmst | number | Internal timestamp of "RX finished" event (32b unsigned)
freq | number | RX central frequency in MHz (unsigned float, Hz precision)
chan | number | Concentrator "IF" channel used for RX (unsigned integer)
rfch | number | Concentrator "RF chain" used for RX (unsigned integer)
stat | number | CRC status: 1 = OK, -1 = fail, 0 = no CRC
modu | string | Modulation identifier "LORA" or "FSK"
datr | string | LoRa datarate identifier (eg. SF12BW500)
datr | number | FSK datarate (unsigned, in bits per second)
codr | string | LoRa ECC coding rate identifier
rssi | number | RSSI in dBm (signed integer, 1 dB precision)
lsnr | number | Lora SNR ratio in dB (signed float, 0.1 dB precision)
size | number | RF packet payload size in bytes (unsigned integer)
data | string | Base64 encoded RF packet payload, padded

Additional info added by network server to up packets

{ ...
"ack": true,
"adr": false,
"data": "YWxzZGtqZg==",
"mhdr": "4006000000000100",
"opts": "",
"port": 1,
"seqn": 1,
"size": 12,
"timestamp": "2016-10-10T15:17:21.190132Z",
... }

      • ack – Set to true if uplink frame is acknowledging last received downlink
      • adr – Set to true if end-device has ADR enabled bit set in uplink packet
      • data – Decrypted payload (BASE64)
      • mhdr – LoRaWAN packet header (HEX)
      • opts – MAC commands (HEX)
      • port – Application port
      • fcnt – Packet sequence number 16-bit
      • seqn – Packet sequence number 32-bit
      • size – Size of “data” field
      • time – time packet was received by network server or packet-forwarder
      • cls – class bit in frame control byte
      • deveui – device EUI
      • appeui – application EUI
      • gweui – gateway EUI

 

Categories: Tags:

mPower Firmware Changelog

February 1st, 2016 Comments off
Upgrading to 5.0.x
Note: Backup your configuration before performing this upgrade. If the firmware
upgrade fails, or it does not show the login page again, wait an additional 10
minutes. Power off and on the device and web in to check the version. If the
version does not show the latest, then the upgrade was not successful. Try to
perform the firmware upgrade again by repeating all the steps.Signing Options:
MultiTech is offering an unsigned (“standard”) and a signed version of the AEP 5 firmware. From the factory and for upgrades from 1.x to 5.x, the “Firmware Validation” setting in AEP 5.0.0 and newer defaults to “Signed Firmware Validation” enabled (checked). If you have AEP 5.x and newer and this option is enabled, then choose the Signed firmware. If disabled (not checked), then you may choose the unsigned (“standard”) or the signed version.Upgrade Process:

  • To upgrade using the Web UI to the latest AEP 5.0.x, you must be running at
    least 1.6.4 firmware.
  • If older than 1.6.4, you must be running at least 1.4.4 to upgrade to 1.6.4.
  • With older firmware, it is necessary to be at 1.4.4 before upgrading to
    version 1.6.4 or 1.7.4.

5.3.5 (10/19/2021)

5.3.4

Known Issues

  • Packet forwarder can stop transmitting after several days, work-around using CRON job to killall -9 lora_pkt_fwd – mPower 5.3.5 has this fixed

5.3.3 (3/29/2021)

5.2.1 (6/10/2020)

Known Issues

  • Repeated valid join requests can cause the lora-network-server.db to fill the /var/config partition
  • Packet forwarder can stop transmitting after several days when LBT is enabled

5.1.6 (3/08/2020)

Bug Fixes

  • Web-UI clears local storage on signin to fix browser issues after upgrading

Known Issues

  • LoRaWAN FOTA should use non-default Rx2 datarate, US/AU DR10 and other plans DR2 or above. The session may expire and the end-device will return to Class A mode before the firmware has finished broadcasting over multicast.

5.1.5 (3/08/2020)

Bug Fixes

  • Fix logrotate issues when configured in packet forwarder mode

Known Issues

  • LoRaWAN FOTA should use non-default Rx2 datarate, US/AU DR10 and other plans DR2 or above. The session may expire and the end-device will return to Class A mode before the firmware has finished broadcasting over multicast.

5.1.2 (12/06/2019)

Changes

Known Issues

  • Packet forwarder logs not being rotated
    • FIX: Update lora-logging IPK to 1.0-r3
  • LoRaWAN FOTA should use non-default Rx2 datarate, US/AU DR10 and other plans DR2 or above. The session may expire and the end-device will return to Class A mode before the firmware has finished broadcasting over multicast.

5.0.1(09/04/2019)

Changes since 5.0.0

  • Add support for the L4E1 and L4N1 models

Bug Fixes since 5.0.0

  • Allow access to SD card, access was lost in 5.0.0.
  • Fix for LoRa Network Settings defaulted on upgrade from version <=1.7.4
  • Fix two race conditions in LoRa Network Server, one blocked MQTT output, the other would cause a crash on uplink
  • Disable node-red logging to /var/log/app/node-red.log, log was not rotating correctly causing RAM to be filled

Known Differences since 5.0.0

  • No Known Differences.

Known Behavior in 5.0.1

  • User must be at version 1.6.4 (or newer) before upgrading to 5.0.1.
  • Although not recommended, downgrading to a version before 5.0.0 will require a
    hard reset back to factory default settings.
  • A Hard Reset (or Factory Default) will force 5.0.1 firmware into Commissioning
    Mode to create a new Administrative Username and Password.
  • On LVW2, certain newer Verizon SIM’s do not support SMS. Contact Verizon.
  • On LVW2, received SMS’s greater than 140 characters may be truncated to 140.
  • Command AT+WS46 reverts to default after a power cycle which may affect a user
    that sets a non-default value.
  • SMS Command API ignores 6 character password limit, does not fail if SMS is
    longer than 160 characters, has issues depending on location of spaces and can
    not view/delete inbox/outbox.
  • Notifications API can delete existing alerts, add new alerts, modify with
    non-existing group, add two groups with same name and generate email with
    bad characters.
  • DHCP API can set invalid Gateway.
  • With SMS Commands, the Whitelisted numbers may need to be updated to include a +,
    a 1, or full phone number. Send a test SMS to the device to confirm.
  • Version 1 API call (/api/v1/whoami) does not respond.
  • Connecting OpenVPN Tunnels, user is unable to open WebUI of remote device.
  • If using Remote Management and you perform a manual check in to Device HQ, your
    device may show two check in’s based on your Check In Interval.
  • The lora-network-server should be updated to from v2.2.30 to v2.2.41 to address a possible deadlock issue

5.0.0 (07/03/2019)

Changes since 1.7.4

  • Migration of Web UI to vueJS. Look and Layout has changed.
  • Added RADIUS support.
  • DHCP Lease Time displays expiration date and time.
  • Firewall display/layout aligns more with Linux layout.
  • Implement X.509 Certificate support.
  • Eliminate Default Username and Password. User prompted to set up a Username and secure Password upon Factory Default/Hard Reset, Commissioning Mode.
  • The Logout option has changed to Door Exit icon.
  • The browser tab name references page name.
  • Changed LogIn screen to sign-in.
  • Page links have removed the .html extension.
  • Add IPSec certificate based authentication support.
  • Updated supported ciphers in multiple features (SSH, HTTPS, etc…).
  • Implement Trusted IP feature.
  • Implement Self-Diagnostics beta feature to check Resource Overuse and Security Violations.
  • Incorporated Signed Firmware support.
  • SNMPv3 advanced security settings enhancements and support for multiple trap destinations. Extended SNMP read parameters.
  • Usage Policy implementation in the Web UI.
  • Display Notifications sent via Email, SMS, or SNMP.
  • RADIUS Message Authenticator Attribute was added to all PAP requests.
  • Implement tunnel features.
  • Implementation of more Network Interface capabilities under Setup > Network Interfaces.
  • Updated Global DNS Configuration under Setup > Global DNS.
  • Added Bootloader password configuration to the Initial Setup Wizard.
  • LoRa Network Server updated to v2.2.27.
  • LoRa Packet Forwarder: Added duplicate packet filter, fix for GPS lock and time synchronization and increased radio lead time for better downlink success.
  • Updated Help Content.

Bug Fixes since 1.7.4

  • Add Statistics page for OpenVPN tunnel.
  • Populated leading 0’s in SMS #cellular Command, Uptime now reads 00:00:00 not 0:0:0.
  • Fixed “Invalid Date” issue when viewing Remote Management with Firefox 47.
  • Fixed SMS Command #cellular eliminating Uptime leading 0’s.
  • Fixed device position on GPS page map to not depend on NMEA configuration settings.
  • Fixed Generate Certificate so that the City value is not lost and set to empty when generating a new Web server certificate.
  • SMS Commands should work again for International numbers.

Known Differences from 1.7.4

  • A hard reset/factory default of the 5.0.0 will force Commissioning mode.
  • Security modifications may require “sudo” usage if using SSH or debug console.
  • Security modifications require a “sudo su” to log into root and adding the following “–unix-socket /var/run/api/http.sock” to existing curl commands.
  • Although not recommended, downgrading from 5.0.0 to a previous version will require a hard reset back to default settings. Very important to not downgrade when remote to the device or when using DeviceHQ (Remote Management) because access will be lost.
  • On WiFi models, the Dashboard WiFi MAC address now matches the WiFi hardware instead of matching the Ethernet MAC Address. This was improper reporting on the Dashboard only, the WiFi hardware was correct.
  • Because of additional GPS options, GPS may take longer to acquire satellites.
  • IP Defense options, DoS Prevention, Ping Limit and Brute Force Prevention are Enabled by default.
  • Under Adminstration > Access Configuration, SSH via LAN is disabled by default.
  • For security, Telnet Radio Access and Telnet have been removed.
  • The Clear History buttons have moved from Administration > Debug Options to the Ethernet, WiFi and Cellular tabs under Status & Logs > Statistics.
  • GPS NMEA options default with GGA, GSA, GSV and RMC enabled and GLL and VTG are disabled.
  • The code version has been removed from the log in screen, it is replaced with the new mPower Edge branding.
  • Dashboard banner and Firmware version includes “-AEP”, i.e. 5.0.0-AEP.

Known Behavior in 5.0.0

  • User must be at version 1.6.4 (or newer) before upgrading to 5.0.0.
  • Although not recommended, downgrading to a version before 5.0.0 will require a hard reset back to factory default settings.
  • A Hard Reset (or Factory Default) will force 5.0.0 firmware into Commissioning Mode to create a new Administrative Username and Password.
  • On LVW2, certain newer Verizon SIM’s do not support SMS. Contact Verizon.
  • On LVW2, received SMS’s greater than 140 characters may be truncated to 140.
  • Command AT+WS46 reverts to default after a power cycle which may affect a user that sets a non-default value.
  • SMS Command API ignores 6 character password limit, does not fail if SMS is longer than 160 characters, has issues depending on location of spaces and can not view view/delete inbox/outbox.
  • Nofications API can delete existing alerts, add new alerts, modify with non-existing group, add two groups with same name and generate email with bad characters.
  • DHCP API can set invalid Gateway.
  • With SMS Commands, the Whitelisted numbers may need to be updated to include a +, a 1, or full phone number. Send a test SMS to the device to confirm.
  • Version 1 API call (/api/v1/whoami) does not respond.
  • Connecting OpenVPN Tunnels, user is unable to open WebUI of remote device.
  • Firmware upgrade may revert LoRa Network settings to default. Network Mode set to Private LoRAWAN may change to Public LoRaWAN. Rx2 Datarate to 8 for 915 cards and 0 for 868 cards. Rx1 Delay to 1. Join Delay to 1 for Private MTS or 5 for Public LoRaWAN. Additional Channels setting for KR920 and AS923 to 922.9 or 922.6, respectively. MaxEIRP and DwellTime Up/Down for AS923 to 0. WorkAround is to modify /var/config/db.json “__v”: 1 setting in “loraNetwork” collection to “__v”: 18 before the upgrade to avoid reverting. Otherwise modify the above settings after the upgrade.
  • If using Remote Management and you perform a manual check in to Device HQ, your device may show two check in’s based on your Check In Interval.

1.7.4 (05/14/2019)

Bug Fixes

  • In MTCDT AEP 1.7.3, it was identified that when the Ethernet cable was unplugged and plugged back in, the IP address would revert to the factory default setting (192.168.2.1) instead of the customer-defined IP address. This issue has been corrected.
  • In MTCDT AEP 1.7.3, gpsctl occasionally fails to initialize the GPS module, so GPS information is not consistently sent. This has been corrected by downgrading gspd to an earlier and more reliable version (3.16) while continuing to use 3.18.1 libraries.

1.7.3 (04/18/2019)

Changes

  • Changes were made to reduce noise during bootstrap, bootloader (u-boot), and kernel device tree on pins connected to the usb hub and GNNS module.

1.7.2 (03/15/2019)

Changes

  • The LoRa Network Server has been updated to version 2.2.18.
  • The LoRa v2.1 AES key is set by network server for accessing fine-timestamps for geolocation

Bug Fixes

  • Fix: LoRaWAN Network Server – Send correct Channel Mask in first downlink for AU/US

1.7.0 (02/27/2019)

Changes

  • The LoRa Network Server has been updated to version 2.2.6.
  • The GPS functionality has been re-architected for better performance and consistency.
  • Configurations downloaded from the device now no longer contain the AppManager.json file. That behavior was found to be problematic, causing App versions to possibly be incorrect.
  • A radio reboot feature has been added to reboot the radio when ppp has been unable to connect after all backoff timers have been exercised or ping/tcp connect has failed for ~2 hrs.
  • Custom Apps install was enhanced: back up the current app if one exists, and restore it if the new app install fails.
  • Support for the MTAC-XDOT card has been added.
  • LoRa: Dual Card Support has been added.
  • LoRa: RU864 (864- 870 MHz)
  • LoRa: Class B support
  • LoRa: Class C Multicast

Bug Fixes

  • The ICCID on the Radio Status Page has been added back in.
  • Radio switching between AT&T and Verizon on the MTCAP models with the LNA3 radio has been fixed.
  • A number of help links in the Web UI have been fixed including SMS Configuration.
  • Custom Apps: Fixed a race condition between restoring Custom Applications and reboot in User-Defined-Defaults restore.
  • SMS issues with international numbers have been fixed.
  • LoRa Packet forwarder logs are disabled, the forwarder logging did not work well with logrotate

Known Issues

  • LoRaWAN Network Server – US/AU channel plan sends ADR MAC command in first downlink after join that disables all channels. Devices that do not reject it will be silenced. mDot/xDot 3.1.0 with ADR disabled accepts the channel mask and is affected. (Update is pending to repair)

1.6.4 (11/29/2018)

Bug Fixes

  • Fix remote management but related to GPS interval that prevents configuration of remote management on devices with no GPS capability

1.6.2 (08/29/2018)

Changes

  • Built with Yocto 2.2 (Morty) and mLinux 4.0
  • Radio FOTA for H5 and LTE radios
  • Enable/Disable call home feature
  • Monit added for custom application monitoring
  • Back-up custom applications with user-defined-defaults
  • Python support for MODBUS and SSL
  • LDC3 Radio support
  • Netfilter NFLOG, TRPROXY, XT_MATCH_IPRANGE and XT_MATCH_TIME in kernel
  • Added libnetnfnetlink and libnetfilter-log to the mPower Conduit® image to support applications
  • Increased RSA cert length to 2048-bits
  • SMS Commands
  • Firewall – user chanins processed first
  • DeviceHQ config upload controls
  • OpenVPN Upgrade to v2.4.2
  • Certificate upload support
  • Bootloader login support
  • LoRa Network Server v2.1.5
  • Support for LoRaWAN Multicast
  • Support for LoRaWAN FUOTA
  • Combined LoRaWAN > Devices Configuration and Device Sessions
  • Added LoRaWAN menu items
    • Devices
    • Device Groups
    • Profiles
    • Operations

Bug Fixes

  • WAN fail-over dnsmasq now updates resolv.conf correctly
  • LoRa Network Server downlink queue allows delete through UI, lora-query and MQTT
  • Node-RED logs are not rotated
  • Packet forwarder manual mode maintained on upgrade from 1.4.3

Known Issues

  • GPS error when trying to enable Remote Management on non-GPS units. Workaround using API: https://192.168.2.1/api/remoteManagement?method=PUT&data={"accountKey":"<ACCOUNT-KEY>","enabled":true}

1.4.17 (07/16/2018)

Bug Fixes

  • Fix for watchdog when restarted by update from DeviceHQ – it should not monitor api, ppp, or lora
  • Fix for WAN manager to setup DNS resolve paths when interface changes are detected
  • Firewall – Apply custom user rules first

Known Issues

  • Packet forwarder manual mode is not maintained on upgrade from 1.4.3
  • IN865: Rx2 frequency for downlink is not set by network server.
    • Workaround by fixing the Rx2 Frequency through the API
      • curl 127.0.0.1/api/loraNetwork -X PUT –data ‘{“lora”:{“rx2Frequency”:866550000}}’
      • curl 127.0.0.1/api/command/save_restart -X POST –data ”
    • If the channel plan is changed the Rx2 frequency setting should be unset
      • curl 127.0.0.1/api/loraNetwork -X PUT –data ‘{“lora”:{“rx2Frequency”:0}}’
      • curl 127.0.0.1/api/command/save_restart -X POST –data ”

1.4.16 (03/29/2018)

Bug Fixes

  • Fix for some JoinEUI values creating invalid Join Accept messages to be transmitted
  • Fix db migration from AEP 1.4.3/1.4.14 for lora database path

Known Issues

  • IN865: Rx2 frequency for downlink is not set by network server.
    • Workaround by fixing the Rx2 Frequency through the API
      • curl 127.0.0.1/api/loraNetwork -X PUT –data ‘{“lora”:{“rx2Frequency”:866550000}}’
      • curl 127.0.0.1/api/command/save_restart -X POST –data ”
    • If the channel plan is changed the Rx2 frequency setting should be unset
      • curl 127.0.0.1/api/loraNetwork -X PUT –data ‘{“lora”:{“rx2Frequency”:0}}’
      • curl 127.0.0.1/api/command/save_restart -X POST –data ”

1.4.14 (03/21/2018)

Changes

  • Increase the RSA key length in server.pem (the default self-signed certificate) to 2048 bits.
  • Upgrade to wpa_supplicant 2.6
  • Upgrade pyserial to version 3.4
  • Display LoRa Server and Packet Forwarder versions in web UI.
  • Be able to use the lora network server without a mtac-lora card installed
  • Update Node-RED to version 0.15.3
  • Add support for LDC3 radio
  • Custom Apps: Update user defined defaults to backup and restore custom apps installed in /var/config/app. Custom Apps are not uploaded with configuration to Device HQ.
  • Add libnfnetlink and libnetfilter-log to AEP 1.4.x and turn on CONFIG_NETFILTER_XT_TARGET TPROXY and NFLOG in kernel
  • lora-network-server now version 2.0.18
  • Add LoRaWAN Private mode for LoRaWAN compatible network using 0x12 syncword
  • Restart lora services if a packet forwarder has not been seen in 10 minutes
  • Class C scheduling up to 5 seconds out, instead of failing schedule call multiple times
  • Set default join delay to 5 seconds, if null was provided OTA join was not possible
  • Fix sample config file JSON error comma at end of list
  • Add app port to application MQTT topic for up and packet_sent events
  • Allow for application specific filtering such as Multicast or Multipart
    • mosquitto_sub -v -t lora/+/+/+/+
    • mosquitto_sub -v -t lora/<APP-EUI>/<DEV-EUI>/<APP-PORT>/<EVENT>
  • PUT update to LENS cloud for end-device class, name, hardware or firmware version if changed on Conduit
  • Add some time randomization for class C downlink rescheduling
  • Fix for US/AU private mode Rx2, frequency was not correct
  • Emit queue_full message if no room left, check of queue size was added before making a call to add the packet
  • Lora:
    • show join request result description in hover over
    • statistics for dropped packets has changed
    • add gateway card info to packet forwarder config section
    • do not hide Command to restart lora services based on capabilities.
  • LoRaWAN Changes
    • Removed Setup > Lora menu item
    • Added LoRaWAN menu group
    • Added LoRaWAN menu items
    • hide menu items if network server is not enabled.
    • Network Settings
    • Key Management
    • Gateways
    • Device Configuration
    • Device Sessions
    • Packets
    • Downlink Queue
    • Added restart lora services command to commands menu
    • Backup lora database before creating config download
    • Added Packet Forwarder mode configuration UI
    • Updated to Network Server to v2.0.11
    • Added multiple gateway support
    • Added LENS cloud join server support
    • Added LENS cloud statistics support
    • Command API updates to add devices, sessions and downlink packets
    • Added json output options
    • lora-query interface changed to pass commands to network server
    • MQTT event updates for applications

Bug Fixes

  • lora-in node fix to reconnect if disconnected from MQTT broker
  • Disabled logging on LoRa Packet Forwarder in forwarder only mode to prevent filling up /var/log
  • Node-RED LoRa node fixes [IN002602] lora-out node UI cannot be overridden.
  • Node-RED mCard and lora node fixes handling lora nodes and new rev of LoRa network server
  • Support Portal Case #5084641: Device GPS position data not displaying
  • dnsmasq: Starting too early causes it to point to stale empty resolv.conf file
  • SNTP: SNTP server settings don’t transfer after device firmware upgrade
  • WAN priority defaults after upgrade
  • Logging: Setting Debug Options syslog level to INFO doesn’t allow INFO
  • Make firmware upgrade error message stay displayed on mPower web UI
  • Support #5085601: Lora networking disables if device config from template is used for device config upgrading
  • lora packet forwarder does not run after clicking submit button
  • ntp_sync: update to call ntpdate with both the -u and -b options
  • Radio Firmware upgrade using mPower web UI fails
  • Turn off Server Cert Validation in URLopener call for Node-RED app download
  • network configuration: Cannot configure the eth0 interface with very restrictive subnet mask
  • PPP up and down Verizon (ppp-check process was trying to use ppp0 before it was up – race condition)
  • Help link broken for OpenVPN

Known Issues

  • Some JoinEUI values sent in the OTA Join Request can cause an invalid Join Accept response, this is fixed in lora-network-server v2.0.19 which is available for download
    • 12-00-00-01-00-00-00-00 is an example value
    • If the last half of 4th byte is greater than zero and the first byte is less than 0x14 an invalid Join Accept may be created
    • If the last half of 4th byte is zero there is no issue with the remaining bytes of any value like this example
    • 12-FF-FF-F0-FF-FF-FF-FF
  • Lora end-devices will not be saved over reboot for some configurations. See LoRaWAN > Network Settings > Database > Database Path set to /var/config/lora/lora-network-server.conf or click Reset To Default and reconfigure.

1.4.4 (09/29/2017, released for Conduit IP67 only)

Changes

  • LoRa Network Server updated to 1.0.41
  • Updates to radio-query and radio-cmd for support of new radios
  • Upgrade from mLinux 3.3.6 to mLinux 3.3.12, including MTCDTIP support (mLinux Changelog)

Bug Fixes

1.4.3 (06/09/2017)

Changes

  • Update OpenSSL to be in sync with the mLinux version of OpenSSL for backwards compatibility of applications.
  • Update LoRa Network Server to version 1.0.31.  The latest version is available on multitech.net.

Bug Fixes

  • Fixed SNTP feature upgrade to preserve non-default configurations.  This bug was introduced in AEP-1.4.1.
  • Fixed eglibc memory leak with gethostbyname

Known Issues

  • When upgrading to AEP 1.4.3 from a firmware level older than AEP 1.3.2 it is necessary to upgrade to AEP 1.3.3 first and then to AEP 1.4.3 in order to retain the LoRa configuration settings. If it does not matter whether the LoRa configuration settings are retained or not, then it is possible to upgrade from any firmware older than AEP 1.3.2 to AEP 1.4.3.
  • Node-Red lora-in node may become disconnected from the broker and not connect again. Edit /opt/node-red/nodes/core/lora/lora.js and move the following code.
    client.subscribe(mqttTopic);

    To the inside of the ‘connect’ handler function.

        }).on('connect', function() {      
          node.log("Connected to MQTT for LoRa in node.");
          setStatus(node, "connected");                                  
          client.subscribe(mqttTopic);                                           
        })

1.4.1 (04/20/2017)

Changes

  • WiFi AP and Client support
  • Bluetooth IP and BLE support
  • Custom Application installation in flash (SD Card no longer required)
  • GNSS support (GPS NMEA support)
  • WAN failover
  • Ethernet Card support
  • LoRa support for US915, AU915, and EU915 channel plans
  • LoRa network server upgraded to version 1.0.26

Bug Fixes

  • The app-manager utility now sets the environment variables correctly for the “Start reload” command after a config file install from Device HQ.
  • The size of the fields for the rx_bytes and tx_bytes sent to Device HQ for Cellular stats has been increased and should support far larger values.
  • A bug preventing disabling of the LoRa Network Server after it was enabled has been fixed.
  • The Multi-Serial Node in Node-RED has been fixed so that RS-485 Half Duplex works and no longer continuously displays “disconnected”.
  • The level of OpenSSL has been upgraded to 1.0.2k to address multiple CVE’s.
  • An issue has been fixed where the DHCP client would not renew the lease on an Ethernet interface when cable was unplugged for a time and then plugged back in.
  • The DHCP server gateway address now gets updated when the IP on the Conduit interface is changed.
  • A bug when resetting to User Defined Defaults not working with non-default IP address has been fixed.
  • Installing a custom application from Device HQ, deleting it on Device HQ, adding the app back on Device HQ, and then re-installing the app to the Conduit no longer shows two of the same application in the app-manager DB.
  • A bug in the Inbound Forwarding Rule menu’s Input Filter Rule not showing the External IP address has been fixed.
  • A bug has been fixed involving mPower set for 868, LoRa setting Rx 1 DR Offset drop down menu adds values after changes are submitted.
  • A bug has been fixed involving LNS not sending LoRa downlinks with CRC disabled.
  • A bug has been fixed involving AS923, join on Rx2 NS uses DR0.

Known Issues

  • When upgrading to AEP 1.4.1 from a firmware level older than AEP 1.3.2 it is necessary to upgrade to AEP 1.3.3 first and then to AEP 1.4.1 in order to retain the LoRa configuration settings. If it does not matter whether the LoRa configuration settings are retained or not, then it is possible to upgrade from any firmware older than AEP 1.3.2 to AEP 1.4.1.
  • There is limited support fro running Wi-Fi Access Point and Client Mode concurrently at 2.4GHz. When concurrent mode is configured, the channel is not configurable because the channel is restricted to be the same as the channel the Wi-Fi client mode gets. To perform a Wi-Fi scan for access points when Wi-Fi client is connected, all “Saved Wi-Fi Networks” must be disabled.
  • It is not recommended to use Wi-Fi 5GHz in concurrent mode with Access Point and Client modes both enabled.
  • The version of mLinux stated on the mPower Conduit firmware 1.4.1 is 3.3.5. The mLinux version contains every commit for mLinux 3.3.6 except the commit that updates the revision and got tagged. So, in essence it is the same as mLinux 3.3.6.

1.3.3 (11/17/2016)

Changes

Bug Fixes

  • Leave Node-RED enabled on upgrade

1.3.2  (9/15/2016)

Changes

  • Custom Application Support
  • Configuration File Management for Custom Applications
  • Partial Configuration Download
  • LoRa network server upgraded to version 1.0.13
  • LoRa Web UI changes adding ADR support
  • Updated and new help content

Bug Fixes

  • Fix: Add support for decoding GSM PDU encoding characters
  • Do not set or allow setting LVW2 APN -> provider automatically sets APN
  • ppp doesn’t connect after the SIM card is ejected and inserted again
  • LEU1: Ping feature not working, increase ping data size due to provider/SIM limitation on minimum ICMP data size
  • Diversity gets disabled on LTE models – Initial Setup Wizard was defaulting diversity to false for LTE models
  • lora: query MTAC-LORA card frequency band on set defaults.
  • lora_pkt_fwd logging is disabled, process can be run manually to debug issues

Known Issues

  • Node-RED will be disabled after upgrading to 1.3.2, but you can re-enable it in the UI or through DeviceHQ (this will be fixed in the next release)
  • With 868 MTAC_LORA card installed, LoRa Network Server configuration must be set to EU868 channel plan after update.

1.2.2  (6/8/2016)

Changes

  • Upload LoRa stats to DeviceHQ
  • Upload system logs to DeviceHQ
  • Upload Node-RED application status to DeviceHQ
  • Make Node-RED settings.js modifiable. You can now modify this file without it being overwritten each time node-red restarts.
  • Add LoRa support for ADR (Adaptive Data Rate)
  • Improve Node-RED serial card performance by 10x
  • Added support for LTE radios
  • Improve LoRa config UI
  • Upgrade help content framework and theme
  • Upgrade lora network server to 1.0.8

Bug Fixes

  • Fix IE11 save & restart
  • Fix LTE radio RSSI isn’t updated after removing antenna
  • Fix only update system time in initial setup wizard if user is changing it
  • Fix sms send truncation on C2 radio SMS messages
  • Fix C2 receive SMS being truncated.
  • Fix for sms: characters like @ $ not working on CDMA & LVW2 multi-part sms
  • Fix Issue where “broken” tar files for apps were still “installing” the app though it could not run and was effectively broken.
  • Fix for updating time in the initial setup wizard -> only updates time when user has changed it in the wizard.
  • Fixed a bug in the jsparser that should resolve the DHCP lease expiration time issue.
  • Add npm utility back in, got removed because openEmbedded moved npm utility to a different package than nodejs.
  • Fingerprint assets (js/css) to fix caching issues
  • Fix restart page to redirect to login.html instead of dashboard.html
  • Remove password from lighttpd & api logging
  • Fix don’t validate DHCP form if not enabled
  • Fix app upload input fields too narrow
  • Fix LTE PPP doesn’t work when SIM requires PIN
  • Fix lora address range can’t be lowercase
  • Fix redirect to login page after factory default goes to wrong IP
  • Fix firewall rule description hover help not working
  • Fix initial setup wizard: change to LAN lost when backing through wizard
  • Fix sms characters = + and ` (but ` doesn’t work with all carrier combinations)
  • Fix Remote Management – device not consistently checking into DHQ at scheduled interval
  • Fix LoRa stats and nodes to DeviceHQ: reset appears to cause API to not return anything for node list on the Conduit.
  • Fix when Node-RED restarted, serial streamer instances not getting killed
  • Fix cases where firmware upgrade would fail
  • Fix LoRa logging: lora-pkt-fwd-1.log not getting rolled and keeps on growing.

Known Issues

  • lora-pkt-fwd-1.log still not being rotated. Will consume all RAM if unchecked.

1.1.2  (1/27/2016)

Changes

  • Add LoRa Packet Forwarder Mode
  • Upgrade Nodejs to 0.10.40
  • Upgrade Node-RED to 0.11.1
  • Make LoRa logging level configurable through the UI.
  • Update Node-RED SMS node to use only HTTP instead of HTTPS to conserve memory.
  • Change Node-RED log to always be /var/log/app/node-red.log
  • Improve Time Configuration UI
  • Improve Initial Setup Wizard
  • Feature: On Install Apps page, change “options” to “actions” and use better icon.
  • Add support for no-radio and LTE models.
  • Add Node-RED LoRa out support for requesting ACKs and setting the LoRaWAN FPort
  • Add Node-RED M2X node.
  • Improve stability & UI of multi-serial card nodes in Node-RED. Remove option for DTR/DSR flow control and 5 and 6 data bit options.
  • Add popup prompt if configuring lora network server without enabling it
  • Update LoRa Network Server to 0.0.9-2
  • Update LoRa packet forwarder to 1.4.1-r9

Bug Fixes

  • Fix Node-RED gpio node error message
  • Fix Node-RED sms UTF8 support.
  • Fix can’t browse to Node-RED via WAN port.
  • Fix sms to correctly handle characters like @ $ etc.
  • Fix firewall – lost access to box after enabling NAT Loopback on Prerouting Rule
  • Make default LoRa log level to be 30 instead of 100
  • Fix “SIM card is locked. Requires SIM Pin” message after enabling Dial-on-Demand
  • Fix can’t save default lora configuration
  • Fix Save & Restart not red after adding fixed DHCP address
  • Fix can’t add DHCP fixed address when using non-default subnet
  • Fix can’t configure DHCP infinite lease time
  • Fix can’t login to web interface with password containing ‘&’

Known Issues

  • npm is no longer in this version (unintended), but will be added back in the next release.
  • DHCP Server does not respond to requests if lease time is set to 11-13-47 or higher. Will be fixed in next release

1.0.33  (9/2/2015)

  • First official release!
Categories: Tags:

Conduit AEP 1.1.2 Firmware Released!

February 1st, 2016 Comments off

New firmware for the AEP Conduit model is now available on the Downloads page.

Significant changes include:

  • Upgrade Node-RED to 0.11.1 and Nodejs to 0.10.40
  • Upgrade LoRa Network Server and add Packet Forwarder Mode
  • Numerous bug fixes and improvements

See the mPower Firmware Changelog for details.

Categories: AEP, Conduit Tags:

LoRa Network Server Changelog

September 17th, 2015 Comments off

2.5.4 (July 2021)

  • lora-network-server v2.5.4
  • lora-lens-server v2.5.4
  • lora-query v1.0.6

General Changes

  • Add support for jsoncpp 1.9.2

Bug Fixes

  • Default frequency 922.9 MHz in JSON config for packet forwarder updated for KR920 when dual cards are installed
  • Default App downlink publishing to network server is fixed, MQTT messages were not passed through properly

2.4.22 (Jan 2021)

  • lora-network-server v2.4.22
  • lora-lens-server v2.4.22
  • lora-query v1.0.6

General Changes

  • Packets with proprietary MType are output to the MQTT/UDP
  • Added support for AS923 country selection: JAPAN1, JAPAN2
  • Set PKF antenna gain and adjust tx power with antenna gain

2.4.12 (Oct 2020)

  • lora-network-server v2.4.12
  • lora-lens-server v2.4.12
  • lora-query v1.0.6

General Changes

  • Support for LoRaWAN 1.0.2, 1.0.3 and 1.0.4
  • ISM2400 dual card support
  • Duty-cycle settings available for all channel plans
  • Added AS923-1, AS923-2 and AS923-3 channel plan support
  • Allow payload with first downlink is space is available to send with MAC commands

2.3.8 (2020)

  • lora-network-server v2.3.8
  • lora-lens-server v2.3.8
  • lora-query v1.0.6

General Changes

  • Added ISM2400 ChannelPlan

Bug Fixes

  • Fixes for LoRaWAN 1.0.4
    • AppNonce was transmitted with incorrect endianness
    • Save multicast session flag to database
    • Include 1.0.4 devices with 1.0.3 and 1.1 features (US/AU-CFLIST, ADR, DwellTime, MaxEIRP, TxParam)
  • FSK packet crash during geo-location MQTT emit

2.3.0 (Dec 2 2019)

  • lora-network-server v2.3.0
  • lora-lens-server v2.3.0
  • lora-query v1.0.6

General Changes

  • Added file output options to packet commands

Bug Fixes

  • BugFix: Correct global_conf.json generation when LBT is enabled in packet forwarder mode

Known Issues

  • Local JoinServer: Join Nonce endianness is reversed, will not work with LoRaWAN 1.0.4 counter validation at end-device

2.2.41 (Nov 18 2019)

  • lora-network-server v2.2.41
  • lora-lens-server v2.2.41
  • lora-query v1.0.6

General Changes

  • Added spectral scan support with reporting to Lens
  • Added option to send payload data to Lens
  • Added multicast support for Class B
  • Added multicast field to device session: 0:none, 1:ClassB, 2:ClassC
    • No longer need to set Uplink Counter to 1 for multicast sessions to schedule downlinks
    • Session can be modified for managing Multicast sessions
  • Add LoRaWAN 1.0.4 support
    • Added Join Server nonce counters
      • Includes validation of end-device DevNonce counter if LoRaWAN 1.0.4 support is specified in Device Profile
    • Use AU/US LinkAdrReq sub-band channel mask commands if LoRaWAN 1.0.4 support is specified in Device Profile
    • Network profile redundancy is used to track the number of allowed downlinks per uplink FCnt
      • If the expected number of duplicates has already been received no further downlinks will be scheduled

Bug Fixes

  • BugFix: deadlock would occur when an MQTT Downlink message was processed while sending a frame to gateways via UDP.

2.2.30 (Aug 2019)

  • lora-network-server v2.2.30
  • lora-lens-server v2.2.30
  • lora-query v1.0.4

General Changes

  • Added RSSI and SNR to the geolocation MQTT message
  • AS923 – do not add disabled channels to LBT list

Bug Fixes

  • Fix MQTT race-condition in keep-alive and queue push
  • Fix MQTT reset, add disconnect if keep-alive expires
  • Fix MQTT queue lock

Known Issues

  • AU/US Downlink sent in response to uplink using DR6/DR4 uses incorrect datarate if Rx1 Offset > 1
  • Deadlock can occur when an MQTT Downlink message was processed while sending a frame to gateways via UDP.

2.2.27 (Jul 2019)

Component Versions

  • lora-network-server v2.2.27
  • lora-lens-server v2.2.27
  • lora-query v1.0.4

General Changes

  • Added MQTT keepalive pub/sub testing and connection repair
  • Added LENS check-in on startup to retrieve Traffic Management Policy
  • Added reset to gateway cached TMST/TMMS values if IP/Port change is detected cause would be packet forwarder restart
  • Check for TxDwellTime=1 before sending TxParam setup for DR below minimum
  • Reject messages from Gateways reporting all 0’s or F’s as gateway ID
  • AS923 Remove 923.6 if TxDwellTime=0 and LBT is enabled, cannot be used in Japan with dwelltime=0
  • IN865 FSK frequency did not match channel sent do end-device after joining
  • EU868 Adjust tx power output maximum levels to EIRP (14 ERP = 16 EIRP and 27 ERP = 29 EIRP)

Bug Fixes

  • Fixed datarate index calculation to incorporate packet direction to tell difference between AU/US DR4 and DR12
    affecting window priority scheduling between Rx1 and Rx2. Rx2 was being favored although using a slower datarate.
  • Fix 0,0,0 GPS location update sent to Lens
  • Fix for downlink scheduling of packets to Class B/C with Rx1 or Rx2 specified. Class A Rx1 or Rx2 should be used if txwnd is not 0 when downlink is scheduled.
  • Fix for device update command to change device class with JSON input
  • Fix for Device Profile “preset frequencies” for defaulting device session
  • Fix server restarting every 10 minutes with USB card if TRACE logging is not enabled.

2.1.18 (Mar 2019)

Component Versions

  • lora-network-server v2.1.18
  • lora-lens-server v2.1.18
  • lora-query v1.0.4

General Changes

  • Do not DR6 and DR7 channels if Max ADR DR is lower
  • Do not send DeviceTimeAns to LW 1.0.2 devices in first downlink

Bug Fixes

  • AU/US fix: Send ADR command with correct channel mask on first downlink

2.1.12 (Feb 2019)

Component Versions

  • lora-network-server v2.1.12
  • lora-lens-server v2.1.12
  • lora-query v1.0.4

General Changes

  • LoRaWAN 1.0.3 – Enabled using Device Profiles
  • Class B support for GNSS enabled Conduits®
  • Added DeviceTimeReq MAC command support
  • RU864 Channel Plan
  • Dual-card support for additional channels or 16 channel mode in US/AU

Bug Fixes

2.1.5 (August 2018)

Component Versions

  • lora-network-server v2.1.5
  • lora-lens-server v2.1.5
  • lora-query v1.0.4

Bug Fixes

  • AS923 tx frequency allowed down to 915 MHz for New Zealand

2.1.4 (August 2018)

Component Versions

  • lora-network-server v2.1.4
  • lora-lens-server v2.1.4
  • lora-query v1.0.4

Notes

  • Included in upgrade to AEP 1.6.0 and not available for AEP v1.4.x systems
  • Upgrade to 2.1.4 cannot be rolled back. The database migration cannot be undone. Stop the network server and backup the database in /var/config/lora/lora-network-server.db if you want the possibility to go back to 2.0.19.

General Changes

  • Lens Check-ins
    • periodic check-in to lens for updates
  • Gateway Key authentication to Lens
  • End-Device Profiles
    • profile information provided on join
      • Conduit will request profile from Lens if it does not have the profile or has been updated
  • Network Profiles
    • profile information provided on join
      • Conduit will request profile from Lens if it does not have the profile or has been updated
    • Send MAC commands to configure end-devices to network profile settings after join
      • Ping Slot Datarate
      • Ping Slot Frequency
      • Beacon Frequency
      • Tx Param
      • Rx Param
      • Rx Timing
      • Duty Cycle
      • New Channel
      • Downlink Channel
      • Device Time
  • Policy Manager – update policies from Lens
  • Traffic Manager – filter for join requests based on deveui and joineui
  • Session Management – keep in sync with network profile
  • Channel Plan Support
    • IN865 – remove use of DR6 per LW 1.0.2
    • AS923 – reduced minimum frequency to 915 MHz for additional channels

 

Enhancements

  • Improved downlink scheduling using gateway clock (tmst)
  • Dual-card support, choose MTAC-LORA card based on selected channel plan if 868 and 915 cards are installed.
  • LoRa v2.1 Gateway support with geolocation MQTT messages to report fine timestamp, 3rd party service to resolve device location from timestamps required

Bug Fixes

  • Packets deleted from the downlink queue were still being sent to the end-device, the packet was only removed from the database – fixed to remove packets from the queue in memory and database
  • MQTT clear did not remove packets from the database queue – fixed to remove packets from database via MQTT message
  • MQTT null message was never popped from the queue causing tight loop and eventual crash, null message should only be caused by low system memory

Known Issues

    • AS923 gateway cannot transmit below 920 MHz

2.0.19 (March 2018)

Component Versions

      • lora-network-server v2.0.19
      • lora-lens-server v2.0.19
      • lora-query v1.0.4

General Changes

      • Support for 2000 devices and 10 remote gateways
      • Attempt to schedule class C downlink up to 5 seconds out
      • Move missed packets and acks from gateway stats to network stats

Enhancements

      • Restart lora services if a packet forwarder has not been seen in 10 minutes
      • Add ChannelMask config setting for use with multiple gateways on different FSB settings
      • Emit queue_full message via MQTT/UDP to applications
      • Publish application message with AppPort in topic for MQTT filtering.
      • New lora-query commands, see lora-query -x help See Lora Network Server

Bug Fixes

      • Create correct Join Accept for some JoinEUI values such as 1234567890abcdef, Join accept packets with invalid length were created
      • Application specific MQTT messages had devEUI output twice, lora/<APP-EUI>/<DEV-EUI>/<PORT>/up and lora/<APP-EUI>/<DEV-EUI>/up

Known Issues

      • Packets deleted from the downlink queue are still being sent to the end-device, the packet is only removed from the database.
      • MQTT clear does not remove packets from the database queue
      • MQTT null message are never popped from the queue causing tight loop and eventual crash, null message should only be caused by low system memory

1.0.43 (November 2017)

Changes

      • Add channel for 923.6 for AS923 in 3rd MAC command sent to end-device after join
      • Send AS923 commands after join in one downlink packet if downlink dwelltime is set to 0

Bug Fixes

      • Fix: Include 13 byte header size in max packet calculations to conform with regional time-on-air regulations
      • Fix: Send AS923 commands after join in three downlink packets if downlink dwelltime is set to 1 to fit in DR2

Known Issues

      • AS923 – ADR cannot be used with DR6 and DR7, incorrect channel mask is set to be able to use the max DR

1.0.42 (October 2017)

Changes

      • Update default LBT threashold to -80 for AS923 according to Japan regulations
      • Enforce downlink payload sizes according by datarate according to channel plan
      • One uplink packet must be receieved before scheduling Class C downlink after a join
      • Filter duplicate packets received on wrong channels by comparing RSSI/SNR. Duplicates were seen when end-devices are transmitting close to GW.

Bug Fixes

      • Fix: use byte copy routine to stop alignment trap logged on join
      • Fix: Calculation for max gateway tx power per channel plan with antenna gain. US915, AU915, IN865 plans

Known Issues

      • Downlink packet size is not including packet header, downlink packets can exceed regional time-on-air regulations

1.0.41 (September 2017)

Changes

      • Allow Class C packets to be sent without waiting for uplink after server reset
      • Add IN865 Channel Plan
      • MQTT username and password options

Bug Fixes

      • Fix: Only one packet will be scheduled with Channel Mask or Additional Channels in first downlink. This packet will be sent until device ACK’s receipt.

Known Issues

      • No enforcement of downlink payload sizes, work-around is to use lowest packet size of datarates used in selected Channel Plan

1.0.37 (June 2017)

Changes

      • GlobalConf: set sxOffset default to -162 according to MTAC-LORA-H calibration
      • AU915: Allow Datarates 0-6 for uplink according to LoRaWAN Regional Parameters 1.0.2 – Sec 2.7.7

Bug Fixes

          • Fix: AS923 downlink datarate constrained to max 5 and min according to downlink dwell time per LoRaWAN Regional Parameters 1.0.2 – Sec 2.7.7
          • Fix: If device class is configured in DB use class setting, default to class A if not found
          • Fix: Correct ADR channel mask, KR920 if LBT is enabled or default frequency used for additional channels only 7 channels are created

Known Issues

          • Multiple packets for first downlink to set end-device channels and datarates through ADR or AddChannel commands may be scheduled multiple times. Downlink packets will not be cleared until ACK’d by end-device

1.0.35 (May 2017)

Changes

          • EU868
            • Force 869.4 as additional frequency base if configured above 868.8
              • There are only 4 possible additional channels due to Alarm band restrictions in 868-870 MHz
              • 869.4 => Channels 868.8, 869.0, 869.525, 869.8
        • Use 1% duty-cycle if additional frequencies are between 865-868
      • MTAC-LORA: set default rssi_offset to -162 according to MTAC_LORA_H calibration testing

Bug Fixes

      • Fix: Allow disable duty-cycle when scheduling downlinks for testing

1.0.32 (May 2017)

Changes

      • EU868 Channels above 868.8 changed to avoid using alarm bands. Only two frequency settings will be possible 869.2 or 869.4. If setting is 869.1-869.2 then 869.2 will be used. If setting is above 869.2 then 869.4 will be used.
        • 869.2 => Channels 868.8, 869.0, 869.2, 869.525
        • 869.4 => Channels 869.0, 869.2, 869.525, 869.8
      • Add “database backup” command to command interface (UDP:6677) to force write of database to flash

Bug Fixes

      • Fix: Network server can schedule downlink in response to uplink with counter past 16-bit max, full support for 32-bit uplink/downlink counters
      • Fix: Allow negative antenna gain for long wire attenuation adjustments

1.0.31 (April 2017)

Changes

      • Add tx_notch_freq setting for EU868 and IN865 in global_conf.json
      • Add support for LBT configuration of packet forwarder
      • FSK report 10 for SNR

Bug Fixes

      • Fix: When additional channels is set to 0 do not set radio_1 to disabled, packet forwarder would not start
      • Fix: Link check answer compute margin from demodulation floor based on packet SF
      • Fix: Downlink scheduled to unknown dot was sent to last scheduled dot, downlink will be dropped

Known Issues

      • Bug: Downlink will not be scheduled with uplink counter rolls over 16-bit max
      • Bug: Negative Antenna gain are not accepted, network server cannot start with this configuration

1.0.26 (March 2017)

Changes

      • Add joinDelay and rx1Delay settings
      • Add support for AS923 and KR920 Channel plans
        • AS923 MaxEIRP and dwelltime settings
        • AS923 DL Channels are not configurable
        • KR920 LBT is not supported
      • Set channel mask in first downlink packet for AU915 and US915
      • Add zero touch activation option for unique appkeys without pre-registration
      • Add ‘device keygen [APPEUI]’ command for zero touch appkey generation
      • Reduce default database backup interval to 1 hour

Bug Fixes

      • Fix: Max lease-time max 49 days fixed to allow 64-bit value in ms
      • Fix: Use DR2 for AS923 RX2 join downlink
      • Fix: Fix CRC for lora packets broken in 1.0.25
      • Fix: FSK mode must enable CRC for end-device to receive
      • Fix: Remove override of JoinTime for private mode, it will already be set
      • Fix: seed RNG with current time
      • Fix: send downlinks with CRC disabled per LoRaWAN
      • Fix: Verify NetworkID is matched to AppEUI in Join Packet
      • Fix: Fail MIC check if invalidKey is set

Known Issues

      • Bug: Downlink scheduled to unknown dot will be sent to last scheduled dot
      • IPK install files to be used with mLinux 3.4 or AEP 1.4 or greater.

1.0.13 (Sep 8 2016)

Changes

      • Change duty-cycle algorithm to use sliding window with configurable window size from 1 minute to 24 hours default: 1 hour
      • Added support for LoRaWAN 1.0.1 AU915 channel plan
      • Beacon to use 16-bit CRC-CCITT
      • Accept messages from packet forwarder protocol v2, no handling of extra protocol messages
      • ADR use 0007 channel mask for when EU868 has only 3 channels enabled
      • Check global queue for scheduling conflicts and use Rx2 if possible
      • Remove separate settings for EU and US min/max datarates and create single min/max datarate setting

Bug Fixes

      • lost ack required downlink packets, ignore duplicate ack frames
      • ack required downlink data packets had incremented seqno when ack not received, do not increment seq no until ack received
      • crash after 65k packets due to stat counter rollover
      • crash in scheduling, added lock to downlink scheduling queue
      • crash on join, delete nodes from database properly add copy constructor to node info retrieved from database
      • downlink seqno not reset on join, uplink and downlink seqno are now reset to 0 on join
      • US915 responds to DR4 on wrong frequency in public mode, server now responds on correct frequency according to uplink frequency used

Known Issues

      • Maximum lease-time is ~49 days because of 32-bit rollover
      • Downlink packets are sent with CRC enabled, LoraWAN specifies CRC should not be used for downlink packets

1.0.8

Changes

      • ADR support with configuration of ADRStep as SNR difference between datarates (default:3dB)
      • Antenna gain is configurable to use none default antennas and adhere to regulations
      • Class C downlink scheduling
      • Node configuration with unique APP-EUI and APP-KEY settings
      • Test options to disable duty-cycle or rx windows
      • Added MQTT topics for joined, packet_recv, packet_sent, queue_full, clear events and commands

Bug Fixes

      • Downlink frame counter 16-bit rollover
      • Duplicate filtering
      • Backup database after network settings are changed

0.0.9

Changes

      • Configurable port for downstream packets
        • Queue data with {"port": 1, "data":"Q==="}
        • Also allows MacCommands to be sent on port 0
      • Port now in upstream packets from MQTT/UDP
      • Config allows disabling of Rx windows
      • Added configuration of ADR thresholds
      • LinkCheckAns now returns SNR margin based on received SF demod floor
      • ACK is sent on duplicate packet received

Bug Fixes

      • Node with address FFFFFFFF in database could cause segfault when node would join
        • Added code to remove all nodes with FFFFFFFF address on start-up
        • Added check to CommandParser to not allow adding node with this address
        • AppPortUp and AppPortDown defaults were set to opposite of documentation and mPower defaults

Known Issues

      • Manually joined nodes will not be reloaded from database after restart of network server or reboot of device
      • Downlink counter is not reset when device re-joins

 

0.0.8

Changes

      • Ack’s for downstream packets
        • Queue data with {"data":"Q===","ack":true}

Bug Fixes

      • Prepend NwkID before looking for existing address in database
      • Retransmit ack for duplicate packets
      • Response for US915 – DR4 follows Table 22: Data rate mapping in LoRaWAN r1.0
      • Duty Cycle time on air calculation matches mDot calculations

Known Issues

 

0.0.7

Changes

      • added “joined” and “class” topics for MQTT and UDP messages
      • use NetID 7 LSB for network address prefix

Bug Fixes

      • EU868 RX2 bandwidth 125 kHz
      • Use timeOnAir function for duty cycle

Known Issues

 

0.0.6

Changes

      • Save/load server stats on stop/start
      • Enforce 150 ms networkLeadTime

Bug Fixes

      • Mqtt downstream message non-json format does not crash server
      • Fixed alignment trap on join

Known Issues

 

0.0.5

Changes

      • LSB byte order for EUI in join packet
      • 915 RX windows use same datarate scheme as public
      • Rx1DatarateOffset and Rx2Datarate configurable and sent to mDot in join response
      • Public/Private setting changes sync word for packet-forwarder
      • Ping changed to MacCommand
      • Node list is cleared if network eui or key changes
      • Scheduler will look for room to fit a larger payload

Bug Fixes

      • Queued app data will only be popped off if sent in packet, was causing some data loss
      • Increased default network lead time to 150 ms, some packets were not sent to packet forwarder soon enough

Known Issues

      • Use only with mDot 0.0.15 and after
      • Breaks compatibility with mDot 0.0.14 and prior
      • mDot 0.0.14 can work partially in 868 mode or with 915 set to +TXDR=9

 

0.0.4

Changes

      • Allow variable band to ignore duty cycle if under 7dBm
      • Use NetID to compute session keys

Bug Fixes

      • Packet counting corrected
      • Full config is displayed by command port ‘config’ command
      • Zero out timestamp fields
      • Fixed

Known Issues

Categories: Tags:

Getting Started with LoRa Conduit AEP (LoRa Configuration)

June 22nd, 2015 Comments off

This section only applies to devices with mPower and LoRa. For the Conduit®, LoRa cards are typically sold separately.

https://www.youtube.com/watch?v=Q_25lZWcSWI&t=6s

Before setting up LoRa, your device should be connected and powered up. If not refer to installation information for your device.

Getting Started with LoRa

  1. Login to the web management interface. Refer to the software guide if needed.
  2. Access the LoRaWAN Network Settings by going to LoRaWAN > Network Settings on the left sidebar. See LoRaWAN Network Settings in the software guide for details.
  3. To modify advanced settings, click Show Advanced Settings. For more details, see LoRaWAN Network Settings in the software guide.
  4. For configuring as a Packet Forwarder, select Packet Forwarder from Mode under LoRa Mode. For more details, see LoRaWAN Network Settings in the software guide.

Setting Up an mDot

  1. Establish a serial connection to the mDot
    1. Connect your PC to the DB9 serial connector on the UDK
    2. Open a terminal session using an application such as TeraTerm with baud rate 115,200
  2. Issue these commands with the same values you set for the gateway:
    • AT+FSB=value (915 NA only | value = frequencySubBand from your LoRa gateway)
    • AT+NI=1,value (value = Network Name for your LoRa gateway)
    • AT+NK=1,value (value = Network Passphrase for your LoRa gateway)
    • AT&W (save settings)
    • ATZ (restart)
  3. Join the network: AT+JOIN
  4. Send data with ACK requested:
    • AT+ACK=1
    • AT+SEND=hello world

screenshot of mDot setup

Next Steps

Categories: Tags:

MTAC-LoRa Cards

March 27th, 2015 Comments off

The MTAC-LoRa accessory cards enable long range connectivity to distributed assets and sensors using an RF spread spectrum technology by Semtech®. MTAC-LoRa cards also have extended life due to a low power draw.

The MTAC-LoRa-H and MTAC-LoRa-F accessory cards feature:

  • ISM band scanning and asset management range with LoRa of up to 10 miles/15/km line of sight or 1-3 miles/2 km through buildings.
  • Listen Before Talk (LBT) capability.
  • Bi-directional communications from thousands of mDot or xDot® is long range RF modules to a single conduit.

MTAC-LoRa

Important: If migrating from MTAC-LoRa-1.0 hardware to MTAC-LORA-1.5 hardware (e.g. MTAC-LORA-H or MTCDTIP-x-26x or MTCAP): Update firmware to minimum mLinux 3.3.9 or AEP 1.4.3 (1.4.4 for MTCDTIP and MTCAP). The older firmware does not support the 1.5 hardware. This is true even if not migrating the Conduit® hardware itself (i.e. keeping MTCDT-x-210L but updating the MTAC-LORA card to the MTAC-LORA-H model). For additional information on firmware updates, see Downloads.

Updating MTAC FPGA firmware

MTAC-LORA-H-* or MTAC-LORA-HL-* hardware is needed to support LBT
Also v35 FPGA firware will need to be loaded on the card.


Check the currently loaded version when card is not being used
# mts-fpga-loader -c

To install the v35 FPGA image on Accessory Port 1
# mts-fpga-loader -i /usr/lib/mts-flash-binaries/mtcdt-fpga-v35.hex -p1

To install the v31 FPGA image on Accessory Port 1
# mts-fpga-loader -i /usr/lib/mts-flash-binaries/mtcdt-fpga-v31.hex -p1

Links

Categories: Tags: