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

TopicDescriptionSolution or Workaround
http_post data size 5000 byte limithttp_post data size is limited to 5000 bytes.Break the http_post activity into multiple requests with sizes smaller than 5000 bytes.
system.indicator.statesystem.indicator.state is read only. The variable cannot be set.There is no workaround.
softap.idle_timeoutThe variable softap.idle_timeout is listed in Gecko OS 2.2 but its function is not supported.There is no workaround.
Unexpected SoftAP startupA 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

TopicDescription
SoftAp SSIDAn intermittent issue, where softap.ssid was generated with an incorrect value, is now fixed.

Commands Added

ChangeDescription
dfu_queryThe 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_updateThe 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_webThe 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

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

Commands Deprecated

ChangeDescription
ota -qThe 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 webThe setup web command is deprecated. In Command API code, replace setup web calls with setup_web calls.

Variables Added

ChangeDescription
remote_terminal.interfaceInterface for remote terminal.
tcp.client.auto_interfaceInterface to auto-start TCP client connection.
tcp.keepalive.enabledEnable/disable TCP keepalive feature of network stack.
tcp.keepalive.initial_timeoutNumber of seconds for initial keepalive expiration.
tcp.keepalive.retry_countMaximum number of times to retry keepalive.
tcp.keepalive.retry_timeoutAfter initial expiration, period of retries in seconds.
tcp.server.auto_interfaceWireless interface used for the TCP server if auto-start is enabled.
udp.server.auto_interfaceWireless 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

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

Fixes and Improvements

TopicDescription
SoftAp SSIDAn intermittent issue, where softap.ssid was generated with an incorrect value, is now fixed.

Commands Added

ChangeDescription
dfu_queryThe 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_updateThe 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_webThe 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

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

Commands Deprecated

ChangeDescription
ota -qThe 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 webThe setup web command is deprecated. In Command API code, replace setup web calls with setup_web calls.

Variables Added

ChangeDescription
remote_terminal.interfaceInterface for remote terminal.
tcp.client.auto_interfaceInterface to auto-start TCP client connection.
tcp.keepalive.enabledEnable/disable TCP keepalive feature of network stack.
tcp.keepalive.initial_timeoutNumber of seconds for initial keepalive expiration.
tcp.keepalive.retry_countMaximum number of times to retry keepalive.
tcp.keepalive.retry_timeoutAfter initial expiration, period of retries in seconds.
tcp.server.auto_interfaceWireless interface used for the TCP server if auto-start is enabled.
udp.server.auto_interfaceWireless interface used for the UDP server if auto-start is enabled.