Skip to content

v1.0.1

Firmware Split

This version of firmware splits the full device functionality into two different firmware images: stack; and AT interface. The stack firmware contains the bulk of the network handling and base functionality, while the AT interface firmware contains the shipping front-end UART interface.

The AT interface firmware can now be overwritten by customers' own firmware built for the Skywire Nano platform.

Fixes/Changes from v0.8.7

  • Fixed potential silent errors in boot loader

  • Introduced new MQTT AT commands in the AT interface firmware

  • TLS session caching in the co-processor modem is now off by default, fixing potential lockups in connect()

  • Added the ability to save UART baud rate and flow control settings in Non-volatile

  • Added the ability to disable the secondary kernel logging UART entirely

  • Fixed co-processor firmware update URCs not being shown

  • Enabled MCUBoot's ‘boot strapping’ feature. The feature can be used at startup using a GPIO, and the update is done using the 128-byte XMODEM UART protocol

  • Fixed printing \r\r\n when an AT command is entered

  • AT commands are slightly stricter about matching entered commands

  • Packet domain notifications can now be turned on or off using the AT+CGEREP command

  • Improved handling of SIM caching, including better handling when a SIM is not present

  • Fixed various AT command test outputs, including:

    • Fixed mistakenly using [] to show available arguments instead of ()
    • Fixed showing a double ^Z in AT#XTCPSEND
    • Fixed not showing length as optional in AT#XUDPSENDTO
  • Fixed issue with large integer values causing issues with some AT commands such as AT+CFUN=65535

  • Two firmware versions will now be shown with AT#APPVER? when using the UART-based AT interface

  • Updated handling of AT+CLAC to leave AT commands that exist in the nRF9160 co-processor firmware in their original places

  • Fixed AT#SERNUM=? being treated like a read instead of a test

  • Fixed cases where settings saved in non-volatile memory weren't properly flushed to storage

  • Added a new AT#UART command for doing multiple UART operations at once and on any available UART port

    • This will allow combining AT+IPR and AT+IFC operations into a single AT command, and it will allow targeting either the UART-based AT interface port or the kernel logging port. A read with this command will show the current settings for both ports.
  • Added a new mailbox interface for debuggers

  • Improved kernel logging output by reducing unnecessary output messages, and added new meaningful output messages

  • Changed handling of AT%XSYSTEMMODE to permit usage of Narrow Band by users

  • Fixed potentially showing invalid sockets in AT#XSOCKET?

  • Made automatic socket closing slightly less aggressive

  • Fixed potential issues with binary data in socket reading and writing in both AT#XTCPRECV and AT#XTCPRECVFROM

  • XMODEM-based DFUs are now available in addition to the existing FOTA path with AT#FWUPD

  • Changed URCs shown during firmware updates -- both XMODEM-based and FOTA-based -- to use "DFU"

  • Added throttling DFU URC events to only occur every 5%

  • Added additional error numbers for DFU URCs

  • Added an additional parameter to AT#FOTA -- and included one in the new AT#FWUPD command -- to prevent automatic rebooting of the device when download complete

  • LWM2M will now start immediately upon boot, rather than being delayed 5 seconds

Known Issues

  • Using a hostname for a TLS secure socket will result in a memory leak in the Nordic co-processor firmware, resulting in a likely system hang after ~22 iterations of socket opening, connecting, and closing. The TLS credentials ("tags") can still be used.

  • There is no protocol available for turning the AT interface's UART back on when turned off using AT#UART=1,0

  • ".noinit" linker sections for RAM will not work properly in application firmware

  • The MQTT client in the AT interface firmware does not support hostname verification

  • No DFU URC is generated when stopping using either AT#XFOTA=0 or AT#FWUPD=0

  • The AT%XMAGPIO set command does not work and returns an error