RAIL Library Version 3.1.0 - Release Notes (Jun 23, 2026)#

Silicon Labs RAIL (Radio Abstraction Interface Layer) provides an intuitive and easily-customizable radio interface that is designed to support proprietary or standards-based wireless protocols.

Click here for earlier releases.

Release Summary#

Key Features | API Changes | Bug Fixes | Chip Enablement

Key Features#

None.

API Changes#

This release includes API updates for event/config visibility, RF sensing and multiprotocol timing support, plus a TX PA interface refresh with migration toward newer power-table APIs.

Bug Fixes#

Minor improvements.

Chip Enablement#

None.

Key Features#

New Features | Enhancements | Removed Features | Deprecated Features

New Features#

Added RX computation of sl_rail_packet_time_stamp_t::packet_duration_us for non-BLE PHYs on all supported platforms except EFR32xG21. This duration can be used for timestamp adjustment by setting sl_rail_packet_time_stamp_t::total_packet_bytes to SL_RAIL_RX_STARTED_BYTES.

Enhancements#

  • Changed IR calibration behavior for 2.4 GHz PHY configurations: RAIL now applies the quick IR calibration automatically when these PHYs are configured, so SL_RAIL_EVENT_CAL_NEEDED is no longer raised for BLE and IEEE 802.15.4 2.4 GHz PHYs. Stacks such as Zigbee, Thread, and BLE no longer need to call sl_rail_calibrate_ir(), sl_rail_ieee802154_calibrate_ir_2p4_ghz(), or sl_rail_ble_calibrate_ir() for these PHYs. Sub-GHz PHYs are unchanged and still raise SL_RAIL_EVENT_CAL_NEEDED when IR calibration is needed.

  • Added new sl_rail_get_events_config() API returning the current set of enabled events.

  • Updated setEventConfig and printEvents commands in sl_rail_test to display enabled events and use a more readable low/high 32-bit event mask format. For example:

    > seteventconfig 0x10 0 0x1000 0x1000.
    {{(seteventconfig)}{EnabLH:0xfff3ffef 0x004c123f}{PrevLH:0xfff3ffff 0x004c023f}}.
    > printevents 0x10 0x1000.
    {{(printevents)}{printLH:0x00000010 0x00001000}{enabLH:0xfff3ffef 0x004c123f}}.
    > printevents.
    #{{(printevents)}{shift}{maskLH}{print}{enabled}{name}}.
    {{ 0}{0x00000001 0x00000000}{     }{on}{SL_RAIL_EVENT_RSSI_AVERAGE_DONE}}.
    {{ 1}{0x00000002 0x00000000}{     }{on}{SL_RAIL_EVENT_RX_ACK_TIMEOUT}}.
    {{ 2}{0x00000004 0x00000000}{     }{on}{SL_RAIL_EVENT_RX_FIFO_ALMOST_FULL}}.
    {{ 3}{0x00000008 0x00000000}{     }{on}{SL_RAIL_EVENT_RX_PACKET_RECEIVED}}.
    {{ 4}{0x00000010 0x00000000}{print}{  }{SL_RAIL_EVENT_RX_PREAMBLE_LOST}}.

Removed Features#

None.

Deprecated Features#

None.

API Changes#

New APIs | Modified APIs | Removed APIs | Deprecated APIs

New APIs#

For all the new APIs that are added in this release, please refer New APIs.

Modified APIs#

For all the new APIs that are modified in this release, please refer Modified APIs.

Removed APIs#

None.

Deprecated APIs#

None.

Bug Fixes#

ID Issue Description GitHub / Salesforce Reference (if any) Affected Software Variants, Hardware, Modes, Host Interfaces
1435640 Fixed an issue were changing radio configurations while frame detection is disabled due to RX overflow or SL_RAIL_RX_OPTION_DISABLE_FRAME_DETECTION would silently re-enable frame detection. All chips
1506276 Reduced host flash/RAM alignment requirements for RAIL RISC-V sequencer and Soft Modem image data on EFR32xG25 and Series 3 devices.
  • EFR32xG25
  • SixG301
1529962
  • Fixed an issue where enabling Coex PHY Select on non-Series 1 devices could build without reporting the unsupported configuration. The build now fails with an error because Coex PHY Select is supported only on Series 1 devices.
  • Fixed issue where railtest and sl_rail_test could silently ignore attempts to select coexistence optimized PHY configurations on non-Series 1 devices. These CLI commands now report a runtime error for unsupported devices.
    All chips
1569271 Fixed an issue on the SixG301 part where SL_RAIL_EVENT_IEEE802154_DATA_REQUEST_COMMAND was not generated for the IEEE 802.15.4 stack when Fast Channel Switching is enabled. SixG301
1570638 Fixed an issue on the EFR32xG25 where writing to an empty TX FIFO during a transmit could cause data corruption, with the first added byte sent twice. This was more likely to occur with OFDM or SUN OQPSK PHYs. EFR32xG25
1577029 Fixed sl_rail_idle() SL_RAIL_IDLE_ABORT behavior when SL_RAIL_RX_OPTION_TRACK_ABORTED_FRAMES is enabled so an active receive is aborted immediately instead of being allowed to complete and potentially transmit an Auto-ACK. All chips
1579758
  • Fixed an issue where a short-backoff CSMA/LBT transmit could incorrectly report channel busy when started while the radio was still transitioning back to receive after a prior transmit.
  • Changed sl_rail_test repeated transmit behavior so a transmit using wait-for-ACK does not schedule the next transmit until the ACK is received or times out. The previous behavior can be restored with the new optional setTxDelay parameter to schedule on transmit completion.
All chips
1604104 Fixed an issue with sl_rail_start_scheduled_cca_csma_tx() / sl_rail_start_scheduled_cca_lbt_tx() where the CSMA/LBT operation would commence approximately 100us before the scheduled time. All chips
1616076 Fixed a timing issue with delayed or missing first SL_RAIL_EVENT_TX_CCA_ACTIVATED when using sl_rail_start_scheduled_cca_csma_tx() or sl_rail_start_scheduled_cca_lbt_tx(). All chips
1625060 Fixed a race condition that could cause a channel-hopping packet received soon after a transmit to report an incorrect sl_rail_rx_packet_details_t::channel_hopping_channel_index (while sl_rail_rx_packet_details_t::channel is correct). All chips
1626321 Fixed an issue with timestamp adjustment where SUN OQPSK RX frame duration computation on the EFR32xG25 could be incorrect, and TX timestamps could use the wrong delay value for TX start or end timestamps. EFR32xG25
1629183 Fixed a Z-Wave TX power adjustment compliance issue by providing Sub-GHz PA auto-mode curves in rail_util_pa and PA auto-mode power mapping tables in sl_rail_util_pa_tables for EFR32xG23, EFR32xG28, and EFR32xG2D devices.
  • EFR32xG23
  • EFR32xG28
  • EFR32xG2D

Chip Enablement#

None.

Application Example Changes#

New Examples | Modified Examples | Removed Examples | Deprecated Examples

New Examples#

None.

Modified Examples#

None.

Removed Examples#

None.

Deprecated Examples#

None.

Known Issues and Limitations#

ID Issue or Limitation Description GitHub / Salesforce Reference (if any) Workaround (if any) Affected Software Variants, Hardware, Modes, Host Interfaces
1660009 There is a known issue on SixG301 when using IEEE 802.15.4 HDR FCS standard PHYs (IEEE802154_2P4_MODE_FCS_2MBPS and IEEE802154_2P4_MODE_FCS_1MBPS_FEC) to utilize the HDR PHY functionality, where the receiver may stop receiving standard packets on both FCS channels. None None
    SixG301
1581310 There is a known issue on the EFR32xG24 part with a BLE sleepy app using AoX antenna switching where a transmit completion event isn't generated for a packet that contains AoA connectionless CTE. This locks up BLE. None The current workaround is to configure the app not to sleep lower than EM1.
    EFR32xG24
1458845 When running Channel Sounding RTT with a non-BG24 CS device, RTT has an error of +/- 12.5 ns depending on CS role. Precision is not affected. BG24 to BG24 RTT is not affected. None None
  • non-BG24 CS devices
  • Channel Sounding RTT

Impact of Release Changes#

Impact Statements | Migration Guide

Impact Statements#

None.

Migration Guide#

RAIL APIs have been updated to 3.0 bringing several improvements in the areas of RAIL initialization, RX FIFOs and companion Packet Queues, TX FIFOs, and TX power management. Refer to RAIL 3.0 Migration guide for more details.

Using This Release#

What's in the Release? | Compatible Software | Installation and Use | Help and Feedback

What's in the Release?#

RAIL Library packages and plugins

Compatible Software#

None.

Installation and Use#

For information about Secure Vault Integration, see Secure Vault.

To review Security and Software Advisory notifications and manage your notification preferences, complete the following steps:

  1. Go to https://community.silabs.com/.

  2. Sign in with your account credentials.

  3. Click on your profile icon in the upper-right corner of the page.

  4. Select Notifications from the dropdown menu.

  5. In the Notifications section, go to the My Product Notifications tab to review historical Security and Software Advisory notifications.

  6. To manage your preferences, use the Manage Notifications tab to customize which product updates and advisories you receive.

Help and Feedback#

Unsupported Features#

None.

SDK Release and Maintenance Policy#

See our SDK Release and Maintenance Policy.