Release Notes for Gecko OS Edition 4

To install the latest version of Gecko OS on your device, use the DFU Update Command or Gecko OS Studio (GSS).

Gecko OS 4.1.11 GA Release December 2019

This documents the changes between Gecko OS version 4.0 and Gecko OS version 4.1.

This Gecko OS release adds many new features and fixes.

This Gecko OS release adds a DMS provisioning feature.

New power management features have been added , including system shutdown.

A coredump facility has been added. See system.debug.coredump_enabled.

You can now specify a TLS client chain different to the server chain. See:

WLAN and SoftAP can now work concurrently, on different channels. The setup web command now works with WLAN/SoftAP concurrent mode. network_verify now works with WLAN/SoftAP concurrent on different channels. The Web app now supports password verification on the fly . See SoftAP Features and Variables.

SoftAP Wi-Fi RF transmit power can be managed independently from WLAN TX power. See softap.tx_power .

A Network Bridge Command API feature allows data streaming between an Ethernet connection and the device Soft Access Point. Inbound Ethernet packets become outbound Wi-Fi packets on the soft AP interface, and vice versa.

The softAP MAC filter allows MAC addresses to be whitelisted or blacklisted for connection to the softAP.

A new wlan.backoff variable allows specifying attenuation per Wi-Fi channel and modulation group.

A new wlan.cca_mode variable allows specifying the Clear Channel Assessment mode.

Wi-Fi PTA support is now provided. See wlan.coex.mode.

There is now a Native C API function to query Ethernet link speed: gos_ethernet_get_link_information().

Timing with 31 microsecond resolution is now available.

GPS is now supported on the Hurricane Demo Platform. A Hurricane GPS SDK example has been added.

New and improved SDK app examples include:

Known Issues

Last Updated : December, 2019

TopicDescriptionSolution or Workaround
PeripheralsGOS permits configuration of more than one function associated with a peripheral, such as a USART. However the peripheral does not function correctly when this is done.Take care not to configure multiple functions for a single peripheral.
mDNSThe mDNS service works with Bonjour, but not with LLMNR. See mdns.service.Install Bonjour.
Channel 14Channel 14 is not supported by WGM160P. See wlan.scan.channel_maskNo workaround


Last Updated : December, 2019

The following changes were made.

Fixes and Improvements

BSSIDGecko OS can now connect to a visible or hidden network using BSSID.
Fixed: Memory corruption when using wlan.bssid for a nup.
Concurrent WLAN/SoftAPWLAN and SoftAP can now operate concurrently on different channels. See SoftAP Features and Variables.
The setup_web command now works with WLAN/SoftAP concurrent mode.
network_verify now works with WLAN/SoftAP concurrent on different channels
Concurrency and Web AppThe web app now calls the network_verify command to verify the password for the selected SSID.
Example AppsArduCam SDK example apps, hurricane/arducam and hurricane/security_camera have been added.
gos_settings_get_str faultFixed: Hard fault with calls to gos_settings_get_str.
HTTPS serverThe HTTPS server no longer Hard Faults when simultaneously connecting 2 clients
PWMsFixed an issue where pwm_update did not work for GPIOs > 10
Fixed an issue where GPIOs 2,3 and 20 output frequency was double the value set.
Fixed a problem where GPIOs 16 and 18 could not be used independently.
SDK GSSThe GSS project .launch file now regenerates.
SDK OSXSDK Apps now build on OSX.
Debugging now works for the SDK on OSX High Sierra.
Make login on OSX now calls GSS.
ShutdownSystem shutdown is available as a power saving option.
SPIFixed: SPI stream write hangs on buffer size smaller than 16.
Fixed: Hard fault on SPI stream_close.
TimerTiming with 31 microsecond resolution is now available. See gos_wait_microseconds.
WPAWPA/WPA2 security has been added to the SoftAP.
WLANFixed: If wlan.scan.channel_mask is set to 0x1FFF, wlan.ssid is overwritten.
HFXO GPIOsFixed: WGM160P HFXO GPIOs (12,13) are now correctly listed by gpio.usage
Concurrent WLAN and SoftAPFixed an issue where the system could crash if WLAN started on a different channel to SoftAP. See SoftAP Features and Variables
Network verificationThe webapp now supports network verification, transparently to the user.
External DebuggerGSS now supports download, debug, and other functions using an external adapter, such as an SWD (Serial Wire Debug) or JTAG (Joint Test Action Group) debugger.
MQTT Example AppMany of the instabilities reported against the MQTT example app released in Gecko OS 4.0 have been fixed or reduced.
MQTT KeepaliveThe keep-alive feature in the MQTT stack is now fixed as per MQTT standard. Client waits for mqtt.keep_alive_interval since last ping request sent (PINGREQ), then force closes the connection. If ping response (PINGRESP) is received within this period, the timer is reset and connection is kept open.
MQTT Secure Element TLS supportIn the MQTT library, the struct tcp_client_config_t now has a new use_secure_element entry
gos_tcp_config_tAssigning gos_tls_certificates_t to gos_tcp_config_t now successfully sets CA cert, client key and cert parameters.
DNSWLAN DNS query no longer fails if Ethernet enabled but unavailable.

Commands Changed

faults_resetAdded --coredumps option

Commands Added

dms_provisionInitiate the DMS provisioning procedure. See DMS Provisioning.
network_bridgeThe network bridge feature allows streaming from ethernet to SoftAP.
shutdownSee shutdown power saving.
softap_mac_filter_addAdd a MAC address to the soft AP MAC filter.
softap_mac_filter_clearClear all addresses from the soft AP MAC filter.
softap_mac_filter_removeRemove a MAC address from the soft AP MAC filter.

Variables Added

dms.provision.statusRead the current status of DMS provisioning. See DMS Provisioning.
dms.provision.tokenSet the DMS provisioning token. See DMS Provisioning.
http.server.tls_peer_certSpecify TLS client chain different to server chain.
network.bridge.auto_startSee network bridge.
network.bridge.infoSee network bridge.
network.bridge.interface_1Set first network bridge interface.
network.bridge.interface_2Set second network bridge interface.
softap.mac_filter.enabledEnable/disabled softAP MAC filter.
softap.mac_filter.infoList the addresses in the softAP MAC filter.
softap.mac_filter.modeChoose whitelist or blacklist mode for the softAP MAC filter.
softap.tx_powerManage Wi-Fi RF transmit power independently for SoftAP interface.
system.debug.coredump_enabledEnable/disable coredump feature.
system.powersave.idle_timeoutSet timeout before system sleeps according to system.powersave.mode setting
system.powersave.wakeup_gpio_level_maskSpecify GPIO levels for shutdown wakeup.
system.powersave.wakeup_gpio_maskSpecify GPIOs to enable for shutdown wakeup.
system.shutdown.wakeup_gpio_level_maskSee System Shutdown.
system.shutdown.wakeup_gpio_maskSee System Shutdown.
system.shutdown.wakeup_timeoutSee System Shutdown.
tcp.server.tls_peer_certSpecify TLS client chain different to server chain.
uart.powersave.modeSee power management features.
wlan.backoffSpecify attenuation per Wi-Fi channel and modulation group.
wlan.cca_modeDetermine WLAN clear channel assessment (CCA) mode.
wlan.coex.modeEnable Wi-Fi PTA support.
wlan.powersave.listen_intervalSpecify beacon or DTIM skip according to wlan.powersave.mode setting.
wlan.powersave.modeConfigure WLAN powersave.

Variables Changed

system.powersave.modeAltered powersave settings.
system.uuidThe UUID is settable under specific circumstances.