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