LoRa Network Server Changelog

1.0.35 (May 2017)

Changes

  • EU868
    • Force 869.4 as additional frequency base if configured above 868.8
    • Configure only 4 channels when addition channels is set above 868.8
    • There are only 4 possible channels due to Alarm band restrictions in these frequencies
    • 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