WiSeConnect Release Notes#

Release notes are provided with each version of the WiSeConnect™ SDK.

WiSeConnect 2.4.1 Release Notes#

Last updated: September 10, 2021

Highlights#

  • FragAttack Vulnerability Fixes

  • Wi-Fi Interoperability issue fixes

Release Details#

Item

Details

Release date

September 1, 2021

API Version (SAPI)

2.4.1 (Build 16)

Firmware Version

2.4.1.0.16 (Build 16)

Package Name

RS9116W.2.4.1.16

Supported RTOS

FreeRTOS

Hardware Modules/Chipsets

QMS, B00, C00, CC1, AB0, AB1, AA0, AA1

Operating Modes Supported

Wi-Fi STA, Wi-Fi AP, Wi-Fi STA+BLE

Additional Operating Modes Supported (Beta Quality)

Wi-Fi STA+BT, Wi-Fi STA+BT+BLE

Updating to this Release#

RS9116W 2.4.1 release consists of two components

  • Firmware - RS9116 Firmware Binary

  • SAPI Library - SAPI Library runs on Host

This release has bug-fixes and Firmware. It is strongly recommended to upgrade SAPI and Firmware together.

Changes and Fixes#

  • Fix for FragAttack Vulnerabilities

  • Fix for issues on Swyentooth Vulnerability fixes

  • Fix for few Wi-Fi interoperability issues with certain Access Points

  • Fix for issue in BLE local attribute setting, when notification not enabled in remote, resulting in error 4046

  • Fix for issue in AP mode, switching to 5 GHz band results in 0x5B error

  • Fix for UDP Asynchronous socket not storing and providing remote IP and Port information

  • Fix for Low WiFi Transmit Power issue for AA0 modules

  • Fix for ping failure after reconnection to AP in concurrent mode

  • Fix for HTTP OTAF upgrade failing in subsequent iterations if first iteration fails due to network connections resulting in 0xBBED error

  • Fix for issue with BLE connection 2nd iteration onwards after connect/disconnect when remote device is advertising as connectable

  • Fix for issue of BT disconnection with continous SPP_rx traffic, sometime due to LMP timeout

Known Issues#

Workarounds#

CC0/CC1 Host Interface Detection at Low Temperatures#

One or more of the serial host interfaces of RS9116 CC0/CC1 modules may fail to respond to host detection at ambient temperatures lower than approximately -20 degC. Execute the following sequence of commands to adjust the module calibration to workaround this issue.

#define BURN_INTO_FLASH      1 
#define BURN_XO_FAST_DISABLE 8

rsi_wireless_init(8, 0);  // Set the operating mode of the module
rsi_wlan_radio_init();    // Set the operating band and initialize the module
rsi_calib_write(BURN_INTO_FLASH, BURN_XO_FAST_DISABLE, 0, 0);   // Trigger the calibration write process to update the 
                                                                // information in flash and wait for a response from the firmware.

Note!

  • The workaround must be executed at room temperature, ~25 degC.

  • The command sequence must be executed once ONLY.

  • Ensure the power supply to the module is stable while issuing commands.

  • The workaround is needed for existing products/boards already mounted with CC0/CC1 modules only.

  • Once executed, the module must be power-cycled before it can be used for normal operation.


WiSeConnect 2.4 Release Notes#

Index#

Highlights#

  • Azure and AWS Cloud Connectivity Support

  • SweynTooth Vulnerabilities fixes

  • Strong Cipher Suite Support

  • Co-Existence Algorithm Enhancements

  • EN 300 328 v.2.2.2 Certification Support

  • TELEC Certification Support

  • Wi-Fi Interoperability Fixes and Enhancements

  • Crystal Calibration Support (Needed for RS9116 QMS)

  • Significant reorganization and refactoring of the SDK

  • Integrated support for EFR32MG21 hosts and Simplicity Studio

Release Details#

Item

Details

Release date

June 30, 2021

API Version (SAPI)

2.4.0 (Build 36)

Firmware Version

2.4.0 (Build 36)

Package Name

RS9116W.2.4.0.36

Supported RTOS

FreeRTOS

Hardware Modules/Chipsets

QMS, B00, C00, CC1, AB0, AB1, AA0, AA1

Operating Modes Supported

Wi-Fi STA, Wi-Fi AP, Wi-Fi STA+BLE

Additional Operating Modes Supported (Beta Quality)

Wi-Fi STA+BT, Wi-Fi STA+BT+BLE

Updating to this Release#

RS9116W 2.4 release consists of two components

  • Firmware - RS9116 Firmware Binary

  • SAPI Library - SAPI Library runs on Host

This release has bug-fixes, enhancements, new SAPI features and Firmware. Most of the new features have associated APIs, which are available in the latest SAPI implementation only. It is strongly recommended to upgrade SAPI and Firmware together.

New Features#

Wi-Fi#

  • Azure Support for Cloud Connectivity

  • AWS Support for Cloud Connectivity

  • Support for Dynamic switching between AP and STA mode of Operation (see config_feature_bit_map[16])

  • Support for Loading Certificate without requiring a reboot of the chip

  • Configurability Option for disabling TX Data rates MCS5, MCS6 and MCS7

  • Support for Stronger Cipher Suites

  • Support for Enhanced Max PSP mode for better interoperability, see config_feature_bit_map[26] and refer to API rsi_wlan_power_save_profile(). This PSP type is supported for STA Only mode.

  • Enhancements for better interoperability. Keep alive configuration, graceful closure of previous WLAN connections.

  • Enhancements to Wi-Fi Auto Rate adaptation Algorithm

  • Enhancements to Wi-Fi + BLE Co-Existence support

  • Improvements to Wi-Fi + BLE provisioning examples

Bluetooth - Common#

  • Resolution to SweynTooth family of BT vulnerabilities

Bluetooth - Classic#

  • Support for BT Advanced Audio Distribution Profile Source (BT alone mode only). Example Application project included for RT595 host platform

Power Save#

  • Fixes for functional issues in power save mode at high temperature, 85°C

General#

  • WLAN EN 300 328 v.2.2.2 ETSI Certification Compliance support added for the following modules and SoC Versions: B00 1.4, QMS 1.3, QMS 1.4, CC0/CC1 1.3, CC0/CC1 1.4, and AA0/AA1 1.3

  • Certified Gain tables are added for these modules for different antennas, which can be configured using the User Gain Table API for Wi-Fi and rsi_bt_set_antenna_tx_power_level() API for BT/BLE. Default firmware configuration is for the internal PCB/Chip Antenna

    • B00: Internal Antenna (Fractus FR05-S1-N-0-102) and Dipole antenna (Taoglas GW.34.5153)

    • CC0/CC1 1.4 FCC/ETSI: Dipole antenna (GW.71.5153), Dipole antenna (Inside WLAN PRO-IS 299), PCB Antenna (RSIA7), PIFA Antenna (Smarteq 4211613980), PIFA Antenna (MARS-31A8 Wi-Fi antenna)

    • CC0/CC1 1.3 : PCB antenna , Dipole antenna

    • AA0/AA1-1.3: Chip antenna, Heavy-duty screw mount antenna

  • TELEC Certification Support

  • Support for Chip Manufacturing Software (Crystal Calibration Support for RS9116 QMS chip integration)

  • Support for Examples on EFR Platform

  • Package and Documentation Restructure

Changes and Fixes#

  • Fixes for Memory Leak in SSL, ensuring stability for longer connection

  • Resolved Issue with TCP long data transfer with low power configuration for memory configuration greater than 256k.

  • Fix for setting device local name for BLE

  • Fix for rsi_ble_white_list_using_adv_data() failure

  • Fix for store config/auto-config keep-alive timeout not working.

  • Fix for HID Keyboard notifications not being seen on the iOS mobile side

  • Configurability support in Firmware update APIs for the SAFE and FAST upgrade

  • Mishandling of SDIO Interrupts addressed in SAPI driver by calling rsi_hal_intr_pin_status() API. MCU HAL APIs will need to port this API for respective platform. Refer to SAPI porting guide for more information.

  • Boot up Issue at Low Temperature (refer to API rsi_calib_write() Bit of 3)

New APIs#

For a complete list of new APIs, see SAPI Changelog

Recommendations and New Options#

Wi-Fi#

  • It is recommended to enable bit 16 of the 'Extended TCP IP Feature' bit map in opermode command for all Wi-Fi Socket Operations from host to ensure graceful handling during asynchronous closures from peer.

  • Aggregation (bit 2 of feature_bit_map) is recommended to be enabled in opermode.

  • TCP retransmission count value is recommended to be 30 or higher, so that the TCP does not disconnect while the rejoin happens.

  • For Low throughput Applications, such as Smart lock, disabling the highest MCS rates, such as MCS7 and MCS6 might help reducing packet retransmissions and ensure robust connection during heavy interference.

  • To restart the module, the application needs to call rsi_driver_deinit() followed by rsi_driver_init() and rsi_device_init(). For OS cases, additionally call rsi_task_destroy(driver_task_handle) to delete the driver task before calling rsi_driver_deinit() and create again after rsi_device_init() using rsi_task_create()

  • Register 'Join Fail Callback' function every time when join is called, as in the rejoin failure path the callback is deregistered. If not done, this might result in a scan not functioning on rejoin failure.

BT/BLE#

  • In BLE, recommended range of Connection Interval in

    • Power Save (BLE Only) - 100 ms to 1.28 s.

    • BT Classic + BLE Dual Mode is >= 200 ms.

    • Wi-Fi + BLE coex - 30 ms to 250 ms

  • In BLE, during Connection, the configuration of Scan Interval and Scan Window with same value is not recommended.

  • In BT Classic, recommended Sniff Interval configuration during Power Save is limited to 100 ms (<= 100).

  • In BLE, if a device is acting as Central, the scan window (in set_scan_params and create_connection command) must be less than the existing Connection Interval.

  • In BLE mode, if scanning and advertising is in progress and subsequently gets connected and moves to the central role, scanning and advertising stops. To further establish connection to another peripheral device or to a central device, the application should give a command for starting advertising and scanning again.

  • Device Power save need to be disabled before BT init and de-init.

Co-Existence#

  • For Wi-Fi + BLE, during Wi-Fi connection, lesser BLE scan Window and larger BLE scan Interval are recommended (1:3 or 1:4).

  • Wi-Fi + BLE Advertising

    • All the advertising intervals are supported, as per the BT Spec. If the Wi-Fi transactions are more, you may observe a slight difference in on-air advertisements compared to the configured intervals.

    • BLE Advertising will be stopped for intervals that collide with Wi-Fi activity.

  • Wi-Fi + BLE scanning

    • All scan intervals are supported as per BT Spec. For better scan results, use scan-window and scan interval in 1:3 or 1:4 ratio when the Wi-Fi scan activity is present.

    • BLE scanning will be stopped for intervals that collide with Wi-Fi activity.

  • Wi-Fi + BLE Central/Peripheral Connections

    • All connection intervals are supported as per BT Spec.

    • For stable connection, use optimal connection intervals and max supervision timeout in the presence of Wi-Fi activity.

  • Wi-Fi + BLE Central/Peripheral Data Transfer

    • To get better throughputs in both Wi-Fi and BLE, use medium connection intervals, such as 45 to 80 ms with Maximum supervision timeout.

    • Ensure Wi-Fi activity consumes lesser intervals.

  • For Wi-Fi + BT + BLE, Wi-Fi + BT, Wi-Fi + BLE operating modes, connect Wi-Fi ahead of BT/BLE connections to ensure seamless, stable connection for all 3 protocols.

  • For Wi-Fi + BT + BLE, Wi-Fi + BT, Wi-Fi + BLE operating modes, if BT/BLE needs to be connected ahead of Wi-Fi connection, use with high supervision timeout and high connection interval for BLE and high sniff interval for BT, to ensure seamless, stable connection. This configuration will also ensure a stable BT/BLE connection when Wi-Fi connects/disconnects/rejoins.

  • Wi-Fi + BLE Central/Peripheral Data Transfer

System#

  • For User Store configuration and Configuration Save, do not enable power save or save it as a configuration. If power save is enabled and saved as a configuration, upon boot up, the module will come up with the saved configuration and will go to power save without any indication to the host.

  • Set Optimization level to O0 in project settings for IDE (KEIL).

  • Memory Configuration must be 384K for BT/BLE and Co-Ex Operating Modes

    • Usage of Low Power Flash mode bit (Bit 19 in Extended customer feature bitmap). Enable this bit for Ultra low power standby associated scenarios. This results in about 20µA lower Wi-Fi standby associated current consumption.

  • Memory Configuration in SAPI functions: The default memory configuration is 384K. Users can configure it to 256/320/384kB by changing the macros defined in the below two files

    • In rsi_wlan_config.h : RSI_EXT_CUSTOM_FEATURE_BIT_MAP EXT_FEAT_256K_MODE or EXT_FEAT_320K_MODE or EXT_FEAT_384K_MODE

    • In rsi_common.c : rsi_uint32_to_4bytes(rsi_opermode-\>ext_custom_feature_bit_map, (EXT_FEAT_256K_MODE (or) EXT_FEAT_320K_MODE (or) EXT_FEAT_384K_MODE | RSI_EXT_CUSTOM_FEATURE_BIT_MAP));

  • Apply Opermode commands in AT mode correctly. The wrong opermode in some cases might lead to unspecified behavior.

  • Set the recommended Power Save Profile (PSP) type to Enhanced Max PSP for Wi-Fi alone mode and MAX PSP for Wi-Fi Co-Ex Modes.

  • Disable power save during firmware upgrade and re-enable on upgrade completion.

  • Disable Power Save for High Throughput Applications.

  • The application needs to ensure that it sets RTC with correct timestamp when the feature is enabled before establishing the SSL connection.

  • Timeout value should be minimum 1 second for socket select and socket receive calls. Timeout value less than 1 second is not currently supported.

  • For more details, see 'Configuration parameters' in the SAPI Reference Manual.

Known Issues#

Network Stack#

  • MQTT disconnects during firmware upgrade using OTAF, when power save is enabled. Disable power save during firmware upgrade and re-enable on upgrade completion.

  • Newly Added GCM Based Strong Cipher Suites will have performance issues as Hardware support is not available in the current platform.

  • Recommended MQTT Publish payload is 1 kBytes.

  • If HTTP Server is configured in the module, MQTT client port should not be port configured on port 80.

  • Randomize the client port if using rapid connect/disconnect of the MQTT session on the same client port with the power save.

  • Secure SSL Renegotiation not supported in Embedded Networking Stack.

  • IPv6 support is not available in this release.

Wi-Fi#

  • If the station performs the scan in concurrent mode (Wi-Fi STA+AP), it is possible for stations connected to the AP to get disconnected. Enable AP after STA connection is completed.

  • Issue observed with WPA2 Enterprise Connectivity using Microsoft RADIUS Server.

  • If BG Scan is enabled along with custom feature bit map bit (8) configuration of the DFS Channel support, issues may occur in getting IP address for the Wi-Fi STA.

BT/BLE#

  • Wake on Wireless not supported for BLE.

  • BT-HID might not inter-operate with Apple devices.

  • In Wi-Fi + BT/BLE Co-Ex mode, high Wi-Fi broadcast traffic might cause BT/BLE disconnections.

  • Continuous data transfer on SPP (Rx/Tx) with packet size ~800 bytes in some scenarios might lead to BT disconnection. Introduce delay in between transfers to work around this issue.

  • In Wi-Fi + BT mode when there is continuous Wi-Fi data, you might observe BT not re-connecting to remote after disconnection.

  • BT-A2DP interoperability issue might be observed with some headsets.

  • For BLE, dual role scenario issues might occur when connecting as central if the advertising is also going out for the peripheral role. Central connections can be made after the peripheral connections are established and advertising is stopped.

Co-Existence#

  • In Co-Ex Mode if power save is enabled, it stays in enabled state even after Wi-Fi disconnection. Disable power save after every radio_init() and enable it when intended by application.

  • BLE may disconnect with Wi-Fi + BLE configuration and Wi-Fi continuous data transfer when the low BLE supervision timeout is configured. When the supervision timeout is configured with the value of 16 seconds, no disconnections are observed.

  • WiFi + BLE mode WPS is not working.

  • Wi-Fi +BLE/BLE only mode: For SPI as host interface, continuous BLE TX Notification might cause the host interface to hang needing a hardware reset. The issue is not seen with discrete burst BLE data.

  • In Wi-Fi + BT/BLE configuration with Wi-Fi disconnects, BT/BLE reconnection issue is observed (see the earlier section 'Recommended Configurations and Application Development options' in this document).

Interoperability#

  • QoS Null frames indicating going to Power Save if not acknowledged by AP may cause AP not to sync with the power save state, resulting in Possible disconnections.

  • If 3rd Party Access Points are periodically not sending beacons, in some scenarios unicast probe requests are not sent from the module, as expected, which might result in disconnections.

System#

  • A known issue exists with FAST-PSP mode. Use Enhanced MAX-PSP power save.

  • Wake on Wireless support is tested only for UART AT command interface.

  • 802.11b transmit power of some AA0 modules might be 4 dBm less than that mentioned in data sheets. As a result, connectivity issues might be observed at 2.4 GHz when the AP is far.

  • Power Save without RAM retention is not working for the SPI interface.

Limitations and Unsupported Features#

Wi-Fi/Network Stack#

  • AMSDU TX is not supported.

  • Fragmentation is not supported.

  • AMSDU's within AMPDU is not supported.

  • Currently, the module does not support Radio Measurement Requests feature of CCX V2

  • 802.11k is not supported

  • Short GI is not supported

  • 802.11w is not supported

  • 40 MHz bandwidth in 2.4 GHz band is not supported.

  • 802.11J channels less than 16 are not supported.

  • USB host interface and USB Power save are not supported.

  • Total MQTT Command Length, apart from MQTT Publish, should not exceed 150 bytes. This includes at+rsi (start of command) to (end of command)\r\n.

  • Configure MQTT_VERSION in rsi_mqtt_client.h based on the server configuration; only version 3 and 4 are supported.

  • 3xSSL connections or 1xTCP and 2xSSL connection, connections are supported concurrently in Wi-Fi only mode.

  • SSL Curve IDs supported are 15-28. SSL handshake with 3rd party clients depends on the SSL Curve ID.

BT/BLE#

  • BT Sniff mode does not work if BT multiple slaves feature is enabled.

  • For BLE, if the connection is established with a small connection interval (< 15 ms), simultaneous roles (i.e., Central/Peripheral + Advertising/Scanning) are not supported.

  • BLE maximum 2 concurrent connections are supported, which can be either a connection to two peripheral devices or to 1 central and 1 peripheral device.

  • For BT Classic, only 1 connection is supported at any time

  • BLE Slave latency value is valid up to 32 only.

  • BT-A2DP Encoder is not supported in the firmware

  • BT-A2DP not supported in AT mode

  • User Gain Table API is not available for BT/BLE Path. Limit the BT/BLE TX power for a specific antenna using rsi_bt_set_antenna_tx_power_level API.

Co-Existence#

  • In Wi-Fi + BLE during Wi-Fi connection, if both BLE scan interval and window are the same, an issue will occur in successfully making the Wi-Fi connection.

  • For AT commands, Wi-Fi + BT + BLE (Opermode 9) B + BLE(Opermode 8) are not working. However, BT, Wi-Fi + BT modes (Opermode 5) works fine. Also, all combinations work fine with SAPI.

  • Wi-Fi STA + BT + BLE multiprotocol cases require detailed understanding of use cases and associated configurations. Contact Silicon Labs Support for more details.

  • Wi-Fi AP + BLE, Wi-Fi AP + BT & Wi-Fi AP + BT + BLE modes are not supported.

SDK Refactor#

The SDK folder structure and names were significantly changed in the 2.4 release. For detailed information, see SAPI Changelog

Terminology#

Term

Description

New Features

These items are new to this release

Changes/Issues Fixed

Changes made to existing features found in previous releases of the software.

Enhancements to existing product flow and feature set.

Bug fixes done in the Release

Deprecated Items

Features or functions or APIs that are removed from the distributed release to align with the software roadmap

Known Issues

Features or functions that do not work as planned at time of release. Workarounds may be offered to meet short term development goals, but longer-term solutions will be added in future software releases

Limitations/Recommendations

Describes the limitations on product usage and recommendations for optimal use cases