I’ve just released LoRa App Server 0.15.0 and LoRa Server 0.23.0. This release includes a downlink device-queue refactor (the downlink queue is now stored by LoRa Server).
As always, make a backup before upgrading
Changelogs
LoRa App Server
0.15.0
Changes:
Downlink device-queue
Downlink device-queue has been moved from the LoRa App Server database to
the LoRa Server database.
LoRa App Server sends nACK when no confirmation has been received on
confirmed downlink transmission. See ACK notifications.
LoRa App Server will not re-try transmitting a confirmed downlink anymore.
ACK and error notifications now contain the fCnt to which the notification is related.
The downlink-queue is now flushed on a (re)activation.
Downlink device-queue API (/api/devices/{devEUI}/queue)
Removed DELETE /api/devices/{devEUI}/queue/{id} endpoint (as removing
individual device-queue items will give fCnt gaps).
Added DELETE /api/devices/{devEUI}/queue to flush the whole device-queue.
Class-C
Class-C timeout (see device-profiles)
has been implemented for confirmed downlink transmissions. Make sure to
update this value for existing Class-C device-profiles to a sane value.
Use RFC1945 Authorization header format (thanks @fifthaxe)
LoRa Server
0.23.0
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.
As a side-note: these changes will also make it much easier to implement your own application-server for LoRa Server, as more LoRaWAN logic has been moved to LoRa Server
Could you start loraserver manually? It seems that journalctl somehow does not show the last logs before error (this has been reported before). You will probably get more info when you run:
the device_queu_mapping is not created at startup. The migrations exit at nr 0021_user_email_and_note so the 0022_add_device_queue_mapping is not executed
following this problem I discover that in the actual repository there is no more migrations package in internal directory even if there is an import in main.c
The migrations exit at nr 0021_user_email_and_note so the 0022_add_device_queue_mapping is not executed
With an error?
following this problem I discover that in the actual repository there is no more migrations package in internal directory even if there is an import in main.c
There is no main.c Please note that the internal/migrations are generated during make.
Again the question, were you using your own compiled version of LoRa App Server, or are you using the pre-compiled binaries.
I run go bindata to generate correct sql files
I take that as you have your own compiled version? In that case it will be hard for me to tell what went wrong … Upgrading from pre-compiled binary to a new version of the pre-compiled binary should be without any issues. However when you compile your own binaries and make your own changes or are not strictly following the master branch, then there are a lot of things that could mess up the data.
That should be fine However it is still hard for me to give feedback at what went wrong (I’m doing a lot of testing between tagged releases, however it could be that you migrated your database to an state in-between two tagged releases which messed up the migrations). What you could check is the gorp_migrations table in the database. That is the “checklist” of all applied migrations.