LoRa Network Server Changelog

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

      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

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