Ezurio Connectivity Stack Overview

One of the benefits of using a Wi-Fi+Bluetooth radio combo module from Ezurio is the software provided with it. Here in the Ezurio engineering team we refer to this software as the Radio Stack, also referred to as the Connectivity Stack.

Note: Many people, inside and outside Ezurio, refer to the Ezurio Connectivity Stack as Backports. This isn’t technically correct (backports is only one component of several in the Connectivity Stack), but we don’t care what you call it.

So what is the Connectivity Stack? What does it include? What advantages does the Ezurio Connectivity Stack provide over using software from other sources such as the silicon vendor or upstream mainline?

What is the Radio Connectivity Stack?

The Ezurio Connectivity Stack is the complete set of software needed to support the Ezurio Wi-Fi+Bluetooth combo modules in Linux and Android. 

It includes the following:

  • Backports package with Wi-Fi and Bluetooth in-kernel components
  • Radio-specific Firmware packages
  • Enhanced wpa_supplicant and hostapd
  • Enhanced Network Manager
  • Adaptive World Mode framework (not available for all radios)
  • Integration layers for Yocto and Buildroot
  • Tools to support regulatory testing

We generally release the Connectivity Stack twice a year. Each release contains the latest silicon vendor updates available at the time of release as well as the latest kernel updates and other fixes that have accumulated since the previous release.

Ezurio has SOMs too, and we use the same Connectivity Stack Release in our SOM software packages. The Connectivity Stack is relevant whether you are using an Ezurio SOM with an Ezurio Wi-Fi+BT radio module, or if you are using an Ezurio Wi-Fi+BT radio module on your own hardware.

Given that this is Linux and most of the components above are publicly available from upstream “mainline” sources, why should you use the Ezurio Connectivity Stack? Isn’t it better to use mainline?

Probably not. Let’s talk about each of these components, and the benefits of using the Ezurio Connectivity Stack with Ezurio radio modules.

Backports

The Ezurio Connectivity Stack includes a customized version of the upstream “backports” project to deliver the in-kernel drivers. This includes the Wi-Fi and Bluetooth client drivers, core Wi-Fi components such as cfg80211 and mac80211, and core Bluetooth components. These components come from a fork of the latest LTS kernel maintained by Ezurio.

Support for a wide range of kernel versions

Backports allows us to easily support the latest Wi-Fi+BT drivers on older kernels. It doesn’t matter what kernel version you have, you can be confident the in-kernel components in the Connectivity Stack are coming from the latest LTS kernel maintained by Ezurio. This means you get the latest bug fixes, security fixes and features from upstream even if you are using an older kernel.

Kernel interfaces change all the time. Porting a driver based on one kernel version to another kernel version can be very difficult, and requires expertise in both the kernel and in the specific driver being ported. With the backports infrastructure provided by the Ezurio Connectivity Stack, that complication goes away. The backports infrastructure handles all the complexity of kernel interface differences.

See the table below for official kernel support across our radio products. Kernels between these versions are also supported. Earlier versions as far back as v2.6 are possible on some radios.

Product Kernel Version
v4.1 v4.14 v5.10 v6.1 v6.6 v6.12
LWB x x x x x x
LWB5 x x x x x
LWB+ x x x x x x
LWB5+ x x x x x x
60 Series x x x x x x
IF573 x x x x x x
IF513 x x x x x x
NX611 x x x x x
TI351 x x x x x

*Kernel versions back to v2.6 available. Multiple kernel version are supported between those indicated.

Silicon vendor patches already included - and on the latest kernels!

The fact that the Ezurio backports package is based on the Ezurio fork of the latest upstream LTS kernel provides many benefits. You get the latest wireless feature support and bug fixes in the kernel, even if you are using an older kernel on your host. We maintain the Ezurio kernel with the latest patches and out-of-tree drivers from our silicon vendor partners. For some radios this can include literally hundreds of patches. While it would be great if they were pushed to the upstream mainline kernel, the reality is they generally aren’t. Ezurio Connectivity Stack users get these patches automatically.

Our silicon vendor partners often do their development on much older kernels. When we bring those patches in, we do the work of forward porting them to our latest LTS kernel fork. We create the backports package using this patched LTS kernel. This often allows Ezurio Connectivity Stack users to use kernel versions that are newer than the version supported by the silicon vendor. The process works in reverse too. Since we deliver our code using backports, a project based on a kernel version older than the one the silicon vendor supports has no problem. It just works.

Easy kernel updates and access to support

Decide to upgrade your kernel to a later version? No problem. Since the Ezurio Connectivity Stack delivers in-kernel components via backports, it just works. You don’t need to factor in time to port all the radio software forward during the upgrade, and you don’t need to be a Wi-Fi driver expert to do it.

Have issues with one of the drivers? When you use the Ezurio Connectivity Stack with the backports package, you’re using the same drivers we are. That lets us support you because we know exactly what code is running on your device.

Firmware

The Ezurio Connectivity Stack includes all the firmware and other configuration files required by the Wi-Fi+BT radio modules. It is critical to use the firmware files from the Ezurio Connectivity Stack as some of them are specifically configured for operation on the Ezurio modules. This includes the power configuration required for regulatory compliance.

wpa_supplicant/hostapd

The Ezurio Connectivity Stack includes enhanced versions of the wpa_supplicant and hostapd. The supplicant is the user-space daemon responsible for managing authentication and association on wireless networks. On some radios it also handles roaming. We have enhanced the supplicant to support additional AP features that extend beyond those included upstream. This allows most AP interfaces to be managed via Network Manager, but hostapd is still included for those who prefer it. Our supplicant source is also updated to address known CVE vulnerabilities. 

Ezurio ships source for these components in the Connectivity Stack. The Ezurio supplicant is a fork of the upstream wpa_supplicant/hostapd project and maintains synchronization with it. Ezurio developers have decades of experience in this space, and we’ve used that experience to enhance the supplicant with features, performance improvements and bug fixes that are not available in the upstream supplicant. Some radios require supplicant enhancements for proper operation - these are not available upstream, but they are included in the Ezurio supplicant. 

Network Manager

The Ezurio Connectivity Stack includes an enhanced version of Network Manager. This user-space daemon automates the setup and management of network connections, handling much of the complexity and networking expertise that would otherwise be needed.

Ezurio ships source for Network Manager in the Connectivity Stack. It is a fork of the upstream Network Manager project with enhancements focused on wireless configuration. Network Manager interfaces to the supplicant in the background. Ezurio has enhanced the interface to make more of the supplicant feature set available. This allows finer control of the wireless network configuration.

Adaptive World Mode

The Ezurio Connectivity Stack includes the components needed to support our Adaptive World Mode (AWM) feature on supported radios. A device containing a wireless radio must be factory configured for operation in the country where it is sold, and can’t have any configuration mechanism that could allow it to operate outside of the approved limits. Typically this means you need separate, unique SKUs for shipment to each supported country or region, or use a configuration that is valid everywhere but will have limited channel support and reduced performance.

Ezurio’s Adaptive World Mode on supported radios solves this problem by monitoring all the APs in view and analyzing that data to determine where in the world it is. If it can confidently make that determination, it automatically switches to the optimized configuration for that country. This is all done in real-time and continuously monitored using algorithms that have been approved by the regulatory bodies.

Host Integration

All of this software is no good unless it is integrated into the host platform. Ezurio provides integration layers for Yocto and Buildroot to handle much of this for you. These are the same layers we use to add radio support to our SOMs so they are well-tested.

The commonality across the Ezurio Connectivity Stack lets you move between Ezurio radio products with ease. Differences between radios are contained within the backports and firmware packages. All you need to do is select a different radio in the host integration layer - everything else remains the same.

We refer our customers to our extensive documentation, especially the Software Integration guides available online for our radios. The Software Integration guides are written by members of the engineering team, so they have the content we think is important for you to know. When integration related questions come in via support, we often point back to the Software Integration guides where the answers usually already exist. Don’t miss it!

Regulatory Utilities

Regulatory compliance and emissions testing require the radio to be put into special test modes. Ezurio provides the test firmware and our own regulatory utility needed for this testing. The regulatory utilities are radio family specific, but all share a common implementation. Ezurio’s regulatory utility avoids the complexity that often comes with the tools from the silicon vendor and eliminates common sources of error. The regulatory utility, along with user manuals and documentation, simplifies the regulatory test process.

These utilities aren’t publicly available - contact Ezurio to get them.

Software Quality Assurance

Every Ezurio Connectivity Stack release goes through a structured quality assurance (QA) process before it is made available to customers. Our QA process is designed to ensure the stability, performance, and regulatory compliance of each software component included in the stack.

This process includes:

  • Automated and manual validation testing on the release kernel version and target platforms
  • Regression testing to detect and resolve issues introduced by new features, silicon vendor patches, or kernel changes
  • Interoperability testing conducted with Cisco access points & enterprise environments, complemented by extensive security evaluations aligned with key Wi-Fi Alliance (WFA) requirements, including execution of the WFA provided vulnerability assessments, such as those targeting the KRACK and Fragment-and-Forge vulnerabilities.
  • Compliance verification to ensure all changes meet applicable regulatory and certification requirements
  • Performance benchmarking including roam behavior, throughput, and connection stability

These tests are executed on Ezurio SOM hardware, so the same Connectivity Stack delivered to customers is deployed internally at Ezurio. This gives us direct operational feedback and an opportunity to catch real-world issues early.

Thanks to this rigorous QA process, customers can adopt new Connectivity Stack releases with confidence, knowing they’ve been tested under realistic conditions and with the specific needs of Ezurio Wi-Fi+BT modules in mind.

Final Thoughts

The Ezurio Connectivity Stack has all the software needed to support Ezurio Wi-Fi+BT radio modules and is a key part of the Ezurio wireless solution. It is based on the latest LTS Linux kernel, has all the collateral from our silicon vendor partners, and can be used directly on a wide range of supported host kernels with no wireless expertise needed.

The Connectivity Stack contains enhanced versions of the supplicant and Network Manager to provide additional wireless configuration support, enhanced performance and fixes based on our decades of wireless experience. It also contains our Adaptive World Mode architecture for supported radios, greatly simplifying your SKU and supply chain management.

The Ezurio Connectivity Stack is what we use internally here at Ezurio for our SOMs, which contain these same radios. We are using and testing the same thing we provide to you, on our own boards.

Using an Ezurio Wi-Fi+BT radio module? Head over to our online documentation and check out the Software Integration guide for your radio. Use the Yocto or Buildroot integration layers to bring in the Connectivity Stack.

Let us know if you have any questions, and thanks for trusting Ezurio, Your Connectivity Expert!