chirpstack-network-server

ChirpStack Network Server is an open-source LoRaWAN network-server.

MIT License

Stars
1.5K
Committers
41

Bot releases are hidden (Show)

chirpstack-network-server - 0.26.1

Published by brocaar over 6 years ago

Improvements:

  • HandleUplinkData API call to the application-server is now handled async.
  • Skip frame-counter check can now be set per device (so it can be used for OTAA devices).

Bugfixes:

  • storage.ErrAlreadyExists was not mapped to the correct gRPC API error.

Pre-compiled binaries are available at: https://www.loraserver.io/loraserver/overview/downloads/

chirpstack-network-server - 0.26.0

Published by brocaar over 6 years ago

Features:

  • (Gateway) channel-configuration has been refactored into gateway-profiles and
    configuration updates are now sent over MQTT to the gateway.

    • This requires LoRa Gateway Bridge 2.4.0 or up.
    • This requires LoRa App Server 0.20.0 or up.
    • This deprecates the LoRa Channel Manager service.
    • This removes the Gateway gRPC service (which was running by default on port 8002).
    • This removes the channel-configuration related gRPC methods from the NetworkServer gRPC service.
    • This adds gateway-profile related gRPC methods to the NetworkServer gRPC service.
  • FSK support when permitted by the LoRaWAN ISM band.

    • Note that the ADR engine will only use the data-rates of the pre-defined multi data-rate channels.

Bugfixes:

  • Fix leaking Redis connections on pubsub subscriber (#313.

Upgrade notes:

In order to automatically migrate the existing channel-configuration into the
new gateway-profiles, first upgrade LoRa Server and restart it. After upgrading
LoRa App Server and restarting it, all channel-configurations will be migrated
and associated to the gateways. As always, it is advised to first make a backup
of your (PostgreSQL) database.

Pre-compiled binaries are available at: https://www.loraserver.io/loraserver/overview/downloads/

chirpstack-network-server - 0.25.1

Published by brocaar over 6 years ago

Features:

  • Add RU_864_870 as configuration option (thanks @belovictor)

Improvements:

  • Expose the following MQTT options for the MQTT gateway backend:
    • QoS (quality of service)
    • Client ID
    • Clean session on connect
  • Add GetVersion API method returning the LoRa Server version + configured region.
  • Refactor lorawan/band package with support for max payload-size per
    LoRaWAN mac version and Regional Parameters revision.
    • This avoids packetloss in case a device does not implement the latest
      LoRaWAN Regional Parameters revision and the max payload-size values
      have been updated.

Bugfixes:

  • MQTT topics were hardcoded in configuration file template, this has been fixed.
  • Fix network_contoller -> network_controller typo (#302)
  • Fix typo in pubsub key (resulting in ugly Redis keys) (#296)
chirpstack-network-server - 0.25.0

Published by brocaar over 6 years ago

Features:

  • Class-B support! See Device classes
    for more information on Class-B.

    • Class-B configuration can be found under the network_server.network_settings.class_b
      configuration section.
    • Note: This requires LoRa Gateway Bridge
      2.2.0 or up.
  • Extended support for extra channel configuration using the NewChannelReq mac-command.
    This makes it possible to:

    • Configure up to 16 channels in total (if supported by the LoRaWAN region).
    • Configure the min / max data-rate range for these extra channels.
  • Implement RXParamSetup mac-command. After a configuration file change,
    LoRa Server will push the RX2 frequency, RX2 data-rate and RX1 data-rate
    offset for activated devices.

  • Implement RXTimingSetup mac-command. After a configuration file change,
    LoRa Server will push the RX delay for activated devices.

chirpstack-network-server - 0.24.3

Published by brocaar over 6 years ago

Bugfixes:

  • The uplink, stats and ack topic contained invalid defaults.
chirpstack-network-server - 0.24.2

Published by brocaar over 6 years ago

Improvements:

  • MQTT topics are now configurable through the configuration file.
    See Configuration.

  • Internal cleanup of mac-command handling.

    • When issuing mac-commands, they are directly added to the downlink
      context instead of being stored in Redis and then retrieved.
    • For API consistency, the gRPC method
      EnqueueDownlinkMACCommand has been renamed to CreateMACCommandQueueItem.

Bugfixes:

  • Fix typo in create_gateway_on_stats config mapping. (thanks @mkiiskila, #295)
chirpstack-network-server - 0.24.1

Published by brocaar over 6 years ago

Bugfixes:

  • Fix basing tx-power value on wrong SNR value (thanks @x0y1z2, #293)
chirpstack-network-server - 0.24.0

Published by brocaar over 6 years ago

Features:

  • LoRa Server uses a new configuration file format.
    See configuration for more information.
  • StreamFrameLogsForGateway API method has been added to stream frames for a given gateway MAC.
  • StreamFrameLogsForDevice API method has been added to stream frames for a given DevEUI.
  • Support MQTT client certificate authentication (#284).

Changes:

  • GetFrameLogsForDevEUI API method has been removed. The frame_log table
    will be removed from the database in the next release!

Upgrade notes:

When upgrading using the .deb package / using apt or apt-get, your
configuration will be automatically migrated for you. In any other case,
please see configuration.

chirpstack-network-server - 0.23.3

Published by brocaar over 6 years ago

Improvements:

  • Device-status (battery and link margin) returns 256 as value when battery
    and / or margin status is (yet) not available.
  • Extra logging has been added:
    • gRPC API calls (to the gRPC server and by the gRPC clients) are logged
      as info
    • Executed SQL queries are logged as debug
  • LoRa Server will wait 2 seconds between scheduling Class-C downlink
    transmissions to the same device, to avoid that sequential Class-C downlink
    transmissions collide (in case of running a cluster of LoRa Server instances).

Internal changes:

  • The project moved to using dep as vendoring
    tool. In case you run into compiling issues, remove the vendor folder
    (which is not part of the repository anymore) and run make requirements.
chirpstack-network-server - 0.23.2

Published by brocaar almost 7 years ago

Features:

  • Implement client certificate validation for incoming API connections.
  • Implement client certificate for API connections to LoRa App Server.

This removes the following CLI options:

  • --as-ca-cert
  • --as-tls-cert
  • --as-tls-key

See for more information:

chirpstack-network-server - 0.23.1

Published by brocaar almost 7 years ago

Features:

  • LoRa Server sets a random token for each downlink transmission.

Bugfixes:

  • Add missing nil pointer check for Time
    (#280)
  • Fix increase of NbTrans (re-transmissions) in case of early packetloss.
  • Fix decreasing NbTrans (this only happened in case of data-rate or TX
    power change).
chirpstack-network-server - 0.23.0

Published by brocaar almost 7 years ago

Features:

  • The management of the downlink device-queue has moved to LoRa Server.
    Based on the device-class (A or C and in the future B), LoRa Server will
    decide how to schedule the downlink transmission.
  • LoRa Server sends nACK on Class-C confirmed downlink timeout
    (can be set in the device-profile) to the application-server.

Changes:

Working towards a consistent and stable API, the following API changes have
been made:

Application-server API

  • HandleDataDownACK renamed to HandleDownlinkACK
  • HandleDataUp renamed to HandleUplinkData
  • HandleProprietaryUp renamed to HandleProprietaryUplink
  • GetDataDown has been removed (as LoRa Server is now responsible for the
    downlink queue)

Network-server API

  • Added

    • CreateDeviceQueueItem
    • FlushDeviceQueueForDevEUI
    • GetDeviceQueueItemsForDevEUI
  • Removed

    • SendDownlinkData

Note: these changes require LoRa App Server 0.15.0 or higher.

chirpstack-network-server - 0.22.1

Published by brocaar almost 7 years ago

Features:

  • Service-profile DevStatusReqFreq option has been implemented
    (periodical device-status request).

Bugfixes:

  • RX2 data-rate was set incorrectly, causing maximum payload size exceeded
    errors. (thanks @maxximal)
chirpstack-network-server - 0.22.0

Published by brocaar almost 7 years ago

Note: this release brings many changes! Make sure (as always) to make a
backup of your PostgreSQL and Redis database before upgrading.

Changes:

  • Data-model refactor to implement service-profile, device-profile and
    routing-profile storage as defined in the
    LoRaWAN backend interfaces.

  • LoRa Server now uses the LoRa App Server Join-Server API as specified by the
    LoRaWAN backend interfaces specification (currently hard-configured endpoint).

  • Adaptive data-rate configuration is now globally configured by LoRa Server.
    See configuration.

  • OTAA RX configuration (RX1 delay, RX1 data-rate offset and RX2 dat-rate) is
    now globally configured by LoRa Server.
    See configuration.

API changes:

  • Service-profile CRUD methods added
  • Device-profile CRUD methods added
  • Routing-profile CRUD methods added
  • Device CRUD methods added
  • Device (de)activation methods added
  • Node-session related methods have been removed
  • EnqueueDataDownMACCommand renamed to EnqueueDownlinkMACCommand
  • PushDataDown renamed to SendDownlinkData

How to upgrade

Note: this release brings many changes! Make sure (as always) to make a
backup of your PostgreSQL and Redis database before upgrading.

Note: When LoRa App Server is running on a different server than LoRa Server,
make sure to set the --js-server / JS_SERVER (default localhost:8003).

This release depends on the latest LoRa App Server release (0.14). Upgrade
LoRa Server first, then proceed with upgrading LoRa App Server. See also the
LoRa App Server changelog.

chirpstack-network-server - 0.21.0

Published by brocaar about 7 years ago

Features:

  • Implement sending and receiving 'Proprietary' LoRaWAN message type.
    LoRa Server now implements an API method for sending downlink LoRaWAN frames
    using the 'Proprietary' message-type. 'Proprietary' uplink messages will be
    de-duplicated by LoRa Server, before being forwarded to LoRa App Server.

  • ARM64 binaries are now provided.

chirpstack-network-server - 0.20.1

Published by brocaar about 7 years ago

Features:

  • Add support for IN_865_867 ISM band.

Bugfixes:

  • Remove gateway location and altitude 'nullable' option in the database.
    This removes some complexity and fixes a nil pointer issue when compiled
    using Go < 1.8 (#210).

  • Update AU_915_928 data-rates according to the LoRaWAN Regional Parameters
    1.0.2 specification.

  • Better handling of ADR and TXPower nACK. In case of a nACK, LoRa Server will
    set the max supported DR / TXPower to the requested value - 1.

  • The ADR engine sets the stored node TXPower to 0 when the node uses an
    "unexpected" data-rate for uplink. This is to deal with nodes that are
    regaining connectivity by lowering the data-rate and setting the TXPower
    back to 0.

chirpstack-network-server - 0.20.0

Published by brocaar about 7 years ago

Features:

  • LoRa Server now offers the possiblity to configure channel-plans which can
    be assigned to gateways. It exposes an API (by default on port 8002) which
    can be used by LoRa Gateway Config.
    An UI for channel-configurations is provided by LoRa App Server
    version 0.11.0+.

Note: Before upgrading, make sure to configure the --gw-server-jwt-secret
/ GW_SERVER_JWT_SECRET configuration flag!

chirpstack-network-server - 0.19.2

Published by brocaar over 7 years ago

Improvements:

  • The ADR engine has been updated together with the lorawan/band package
    which now implements the LoRaWAN Regional Parameters 1.0.2 specification.

Removed:

  • Removed RU_864_869 band. This band is not officially defined by the
    LoRa Alliance.

Note: To deal with nodes implementing the Regional Parameters 1.0 and
nodes implementing 1.0.2, the ADR engine will now only increase the TX power
index of the node by one step. This is to avoid that the ADR engine would
switch a node to an unsupported TX power index.

chirpstack-network-server - 0.19.1

Published by brocaar over 7 years ago

Improvements:

  • --gw-mqtt-ca-cert / GW_MQTT_CA_CERT configuration flag was added to
    specify an optional CA certificate
    (thanks @siscia).

Bugfixes:

  • MQTT client library update which fixes an issue where during a failed
    re-connect the protocol version would be downgraded
    (paho.mqtt.golang#116).
chirpstack-network-server - 0.19.0

Published by brocaar over 7 years ago

Changes:

  • NetworkServer.EnqueueDataDownMACCommand has been refactored in order to
    support sending of mac-command blocks (guaranteed to be sent as a single
    frame). Acknowledgements on mac-commands sent throught the API will be
    sent to the NetworkController.HandleDataUpMACCommandRequest API method.
  • NetworkController.HandleDataUpMACCommandRequest has been updated to handle
    blocks of mac-commands.
  • NetworkController.HandleError method has been removed.

Note: In case you are using the gRPC API interface of LoRa Server,
this might be a breaking change because of the above changes to the APi methods.
For a code-example, please see the Network-controller
documentation.

Bugfixes: