Release Notes for Gecko OS Edition 2

Gecko OS 2 evolved from ZentriOS WL 1.5. To update from ZentriOS WL to Gecko OS, see Updating to Gecko OS . This page also lists differences between ZentriOS WL and Gecko OS 2 .

We recommend upgrading to the latest version of Gecko OS 2. See release notes for the latest version of Gecko OS 2 .

Version String

Note that the version string changes format in Gecko OS 2. The ZentriOS WL 1.5 version string is similar to:

ZENTRI-AMW007-1.5.0.13, 2018-09-03T06:06:14Z, ZentriOS-WL-1.5.0.13, Board:AMW007-E03.2

The Gecko OS 2 version string is similar to:

SILABS-AMW007-2.1.5, Gecko OS-2.1.5, AMW007-W00001

The version number in Gecko OS 2 contains major version, minor version, and patch version, e.g. 2.1.5 . It does not contain a release candidate version number.

Gecko OS 2.2.14 Release

Last Updated: October, 2019

This release contains the same set of features and fixes documented in Gecko OS 2.2.5 Beta below. Those release notes are duplicated here for the benefit of customers not involved in beta testing.

To update to this release from a previous release, use the following command:

ota -b 2.2.14

The ota command is deprecated in this release and will be phased out in future releases. It is replaced by DFU (Device Firmware Update) commands dfu_query and dfu_update .

This release contains a number of fixes and several features unavailable in previous releases.

The following changes are differences between Gecko OS 2.2 and Gecko OS 2.1 .

TLS records exceeding 4K are now supported. TLS connection, to a server that sends fragment sizes larger than 4K, now succeeds.

Auto-started TCP client, UDP client, TCP server and UDP server now restart after issuing the network_restart command.

STREAM mode is now fully supported for UDP client, for both RX and TX. See udp.client.auto_start . STREAM mode is also fully supported for UDP Server. See udp.server.auto_start .

Gecko OS now supports concurrent Wi-Fi AP ( SoftAP ) and STA ( WLAN ) modes.

The softap.ssid value is now generated correctly as documented.

Gecko OS supports up to 8 concurrent TCP client streams.

A new TCP keepalive feature has been added. See tcp.keepalive.enabled .

Deleting an open file automatically closes its stream. See the file_delete command.

The file_create now fails if a file of the same name already exists.

The http_post maximum request size has been increased to 5000 bytes. An http_post command with zero content now works as expected.

The http_download command now successfully downloads files larger than 64KB.

The dms_claim command now accepts a DMS token as an alternative to username and password.

The network indicator LED now returns to fast blinking when the network is down.

This version includes a security update to defeat the WPA2 KRACK exploit.

Issuing the dfu_query or dfu_update (previously the ota command) from the webapp console now works correctly.

Known Issues

Last Updated : October, 2019

Topic Description Solution or Workaround
http_post data size 5000 byte limit http_post data size is limited to 5000 bytes. Break the http_post activity into multiple requests with sizes smaller than 5000 bytes.
system.indicator.state system.indicator.state is read only. The variable cannot be set. There is no workaround.
softap.idle_timeout The variable softap.idle_timeout is listed in Gecko OS 2.2 but its function is not supported. There is no workaround.
Unexpected SoftAP startup A bare AMW0x7 module, as used in custom PCB designs, may leave GPIO5 floating. Because setup.gpio.control_gpio defaults to GPIO5, setup_web mode may be invoked on boot or reset, if the floating GPIO5 registers high. In this case, the SoftAP interface will be brought up. Disable setup.gpio.control_gpio by setting it to -1 . Alternatively modify the hardware design so that GPIO5 is not floating.

Fixes and Improvements

Topic Description
SoftAp SSID An intermittent issue, where softap.ssid was generated with an incorrect value, is now fixed.

Commands Added

Change Description
dfu_query The dfu_query command is a new command to replace the ota -q command. The ota command remains in this version but will be removed in future versions.
dfu_update The dfu_update command is a new command to replace the ota [-f / b <bundle-id>] command. The ota command remains in this version but will be removed in future versions.
setup_web The setup_web command is a new command to replace the setup web command. The setup command remains in this version but the web option will be removed in future versions.

Commands Changed

Change Description
dms_claim The dms_claim command now accepts a DMS token as an alternative to username and password.
http_add_header The http_add_header command now supports the :extended header option for headers up to 1024 bytes in length.
network_lookup The network_lookup command now supports the -i option to specify network interface.

Commands Deprecated

Change Description
ota -q The ota -q command is deprecated. In Command API code, replace ota -q calls with dfu_query calls.
ota [-f / b <bundle-id>] The ota [-f / b <bundle-id>] is deprecated. In Command API code, replace ota calls with dfu_update calls.
setup web The setup web command is deprecated. In Command API code, replace setup web calls with setup_web calls.

Variables Added

Change Description
remote_terminal.interface Interface for remote terminal.
tcp.client.auto_interface Interface to auto-start TCP client connection.
tcp.keepalive.enabled Enable/disable TCP keepalive feature of network stack.
tcp.keepalive.initial_timeout Number of seconds for initial keepalive expiration.
tcp.keepalive.retry_count Maximum number of times to retry keepalive.
tcp.keepalive.retry_timeout After initial expiration, period of retries in seconds.
tcp.server.auto_interface Wireless interface used for the TCP server if auto-start is enabled.
udp.server.auto_interface Wireless interface used for the UDP server if auto-start is enabled.

Gecko OS 2.2.5 Beta

Last Updated: May, 2019

To update to this beta release from previous release or beta versions, issue the command:

ota -b 2.2.5

This beta release contains a number of fixes and several features unavailable in previous versions.

The following changes are differences between Gecko OS 2.2 and Gecko OS 2.1 .

TLS records exceeding 4K are now supported. TLS connection, to a server that sends fragment sizes larger than 4K, now succeeds.

Auto-started TCP client, UDP client, TCP server and UDP server now restart after issuing the network_restart command.

STREAM mode is now fully supported for UDP client, for both RX and TX. See udp.client.auto_start . STREAM mode is also fully supported for UDP Server. See udp.server.auto_start .

Gecko OS now supports concurrent Wi-Fi AP ( SoftAP ) and STA ( WLAN ) modes.

The softap.ssid value is now generated correctly as documented.

Gecko OS supports up to 8 concurrent TCP client streams.

A new TCP keepalive feature has been added.

Deleting an open file automatically closes its stream. See the file_delete command.

The file_create now fails if a file of the same name already exists.

The http_post maximum request size has been increased to 5000 bytes. An http_post command with zero content now works as expected.

The http_download command now successfully downloads files larger than 64KB.

The dms_claim command now accepts a DMS token as an alternative to username and password.

The network indicator LED now returns to fast blinking when the network is down.

This version includes a security update to defeat the WPA2 KRACK exploit.

The ota command will be phased out in future releases, to be replaced by DFU (Device Firmware Update) commands dfu_query and dfu_update .

Issuing the dfu_query or dfu_update (previously the ota command) from the webapp console now works correctly.

Known Issues

Last Updated : May, 2019

Topic Description Solution or Workaround
http_post data size 5000 byte limit http_post data size is limited to 5000 bytes. Break the http_post activity into multiple requests with sizes smaller than 5000 bytes.
system.indicator.state system.indicator.state is read only. The variable cannot be set. There is no workaround.
softap.idle_timeout The variable softap.idle_timeout is listed in Gecko OS 2.2 but its function is not supported. There is no workaround.

Fixes and Improvements

Topic Description
SoftAp SSID An intermittent issue, where softap.ssid was generated with an incorrect value, is now fixed.

Commands Added

Change Description
dfu_query The dfu_query command is a new command to replace the ota -q command. The ota command remains in this version but will be removed in future versions.
dfu_update The dfu_update command is a new command to replace the ota [-f / b <bundle-id>] command. The ota command remains in this version but will be removed in future versions.
setup_web The setup_web command is a new command to replace the setup web command. The setup command remains in this version but the web option will be removed in future versions.

Commands Changed

Change Description
dms_claim The dms_claim command now accepts a DMS token as an alternative to username and password.
http_add_header The http_add_header command now supports the :extended header option for headers up to 1024 bytes in length.
network_lookup The network_lookup command now supports the -i option to specify network interface.

Commands Deprecated

Change Description
ota -q The ota -q command is deprecated. In Command API code, replace ota -q calls with dfu_query calls.
ota [-f / b <bundle-id>] The ota [-f / b <bundle-id>] is deprecated. In Command API code, replace ota calls with dfu_update calls.
setup web The setup web command is deprecated. In Command API code, replace setup web calls with setup_web calls.

Variables Added

Change Description
remote_terminal.interface Interface for remote terminal.
tcp.client.auto_interface Interface to auto-start TCP client connection.
tcp.keepalive.enabled Enable/disable TCP keepalive feature of network stack.
tcp.keepalive.initial_timeout Number of seconds for initial keepalive expiration.
tcp.keepalive.retry_count Maximum number of times to retry keepalive.
tcp.keepalive.retry_timeout After initial expiration, period of retries in seconds.
tcp.server.auto_interface Wireless interface used for the TCP server if auto-start is enabled.
udp.server.auto_interface Wireless interface used for the UDP server if auto-start is enabled.