Sterling™-LWB5 Dual-Band WiFi 5 Module with Bluetooth 5.2

End of Life (EOL)

Overview

Now available: The Sterling-LWB5+, the successor to our Sterling-LWB5!

Dual-Band WiFi 5 + Bluetooth 5.2 Combo Module

The Sterling-LWB5 dual-band WiFi 5, Bluetooth® 5.2 module offers significant value to developers by providing an unmatched breadth of options, certifications, and antenna options, which altogether provide greater flexibility to meet the challenging requirements of many wireless designs. This certified module is based on the Infineon CYW43353 chipset to create one of the very first commercially available solutions that offers Wi-Fi 5 capabilities for ultra-high data rate 5 GHz Wi-Fi connectivity, while also featuring classic Bluetooth and BLE connectivity as well. The module comes in three configurations to best address specific applications, each boasting an industrial temperature rating (-40° to +85° C) and an industry-leading range of certifications and antenna options.

Ezurio is an Infineon Premium Partner

Ezurio is honored to be approved as an Infineon Premium Partner. A partnership which leverages Infineon’s AIROC™ Wi-Fi chipsets and ModusToolbox™ solutions combined with Ezurio's (formerly Laird Connectivity) superior software enablement and integration support.

Learn More

INFIN_Premium_Partner_Signet_Update.png

Now Available: Compatible Sterling-LWB5+ Modules!

For customers designing in a new module, or for existing Sterling-LWB5 customers looking for an upgrade path, the Sterling-LWB5+ is perfect in demanding applications such as industrial and medical. 

  • Supports WPA3 personal and enterprise standards
  • Pluggable USB adapter version
  • M.2 2230 version.
  • Bluetooth 5.2
  • RTOS support for MODUS Toolbox and STM32 CUBE

Learn More

LWB5-Plus-Modules-And-USB.png

Specifications

Wi-Fi Spec
WiFi 5
BT Capable
5.2
BT Dual Mode
Yes
BT Chipset
Combo
BT Interfaces
UART
Certifications
FCC, ISED, EU, UKCA, MIC
Dimensions
10 x 10 x 1.6 (SiP)
15.5 x 21 x 2 (module)
Operating Temp (Max) (°C)
+85 °C
Operating Temp (Min) (°C)
-40 °C
Spatial Streams
SISO
Wi-Fi Chipset
Infineon CYW43353
Wi-Fi Interfaces
SDIO
Part NumberAntenna TypeChipset (Wireless)DescriptionDimension (Height - mm)Dimension (Length - mm)Dimension (Width - mm)Frequency Range (Max)Frequency Range (Min)Frequency Range 2 (Max)Frequency Range 2 (Min)Logical InterfacesOS/SoftwarePackagingProduct TypeSystem ArchitectureTechnologyType
450-0162C
End of Life (EOL)
Buy Now
External Infineon CYW43353 Sterling-LWB5 SiP, Cut/Tape 1.6 mm10 mm10 mm2495 MHz2400 MHz5825 MHz5150 MHzSerial, GPIO, SDIO, PCM, I2S Linux, Android Cut/Tape Embedded Module Hosted 802.11abgn, 802.11ac, Bluetooth 5.2, Dual Mode (Classic + BLE) SiP Module
450-0168C
End of Life (EOL)
Buy Now
External Infineon CYW43353 Sterling-LWB5 Module with U.FL, Cut/Tape 2 mm21 mm15.5 mm2495 MHz2400 MHz5825 MHz5150 MHzSerial, GPIO, SDIO, PCM, I2S Linux, Android Cut/Tape Embedded Module Hosted 802.11abgn, 802.11ac, Bluetooth 5.2, Dual Mode (Classic + BLE) Module
450-0169C
End of Life (EOL)
Buy Now
Internal Infineon CYW43353 Sterling-LWB5 Module with Chip Antenna, Cut/Tape 2 mm21 mm15.5 mm2495 MHz2400 MHz5835 MHz5180 MHzSerial, GPIO, SDIO, PCM, I2S Linux, Android Cut/Tape Embedded Module Hosted 802.11abgn, 802.11ac, Bluetooth 5.2, Dual Mode (Classic + BLE) Module
450-0162R
End of Life (EOL)
Buy Now
External Infineon CYW43353 Sterling-LWB5 SiP, Tape/Reel 1.6 mm10 mm10 mm2495 MHz2400 MHz5825 MHz5150 MHzSerial, GPIO, SDIO, PCM, I2S Linux, Android Tape/Reel Embedded Module Hosted 802.11abgn, 802.11ac, Bluetooth 5.2, Dual Mode (Classic + BLE) SiP Module
450-0168R
End of Life (EOL)
Buy Now
External Infineon CYW43353 Sterling-LWB5 Module with U.FL, Tape/Reel 2 mm21 mm15.5 mm2495 MHz2400 MHz5825 MHz5150 MHzSerial, GPIO, SDIO, PCM, I2S Linux, Android Tape/Reel Embedded Module Hosted 802.11abgn, 802.11ac, Bluetooth 5.2, Dual Mode (Classic + BLE) Module
450-0169R
End of Life (EOL)
Buy Now
Internal Infineon CYW43353 Sterling-LWB5 Module with Chip Antenna, Tape/Reel 2 mm21 mm15.5 mm2495 MHz2400 MHz5835 MHz5180 MHzSerial, GPIO, SDIO, PCM, I2S Linux, Android Tape/Reel Embedded Module Hosted 802.11abgn, 802.11ac, Bluetooth 5.2, Dual Mode (Classic + BLE) Module

Development Kits

  • 450-0171

    450-0171

    Antenna Type
    External
    Description
    Sterling-LWB5 SD Card Dev Board with U.FL
    Logical Interfaces
    Serial, GPIO, SDIO, PCM, I2S
    Learn More
  • 450-0172

    450-0172

    Antenna Type
    Internal
    Description
    Sterling-LWB5 SD Card Dev Board with Antenna
    Logical Interfaces
    Serial, GPIO, SDIO, PCM, I2S
    Learn More

Documentation

Name Part Type Last Updated
Application Note - Guidelines for Replacing Antennas v1.0 All Application Note 01/17/2019
Application Guide, Sterling-LWB5 All Documentation 03/29/2019
Datasheet - Sterling-LWB5 All Datasheet 05/24/2022
Product Brief - Sterling-LWB5 All Product Brief 05/18/2022
Sterling-LWB Certification Guide All Documentation 10/19/2020
Test Report, EN60950-1 2006, Sterling-LWB5 Module All Documentation 03/29/2019
Test Report, EN60950-1 2006, Sterling-LWB5 SD Card All Documentation 03/29/2019
CAD Files Sterling-LWB5 U.FL and Chip Antenna Modules All Technical Drawings 03/29/2019
CAD Files Sterling-LWB5 U.FL and Chip Antenna SD Cards All Technical Drawings 03/29/2019
Sterling-LWB SD Card User Guide All Documentation 03/29/2019
Product Change Notice 1-2017 (Sterling-LWB & LWB5) All Quality and Environmental 03/29/2019
EU Certifications - Sterling LWB5 All Certification 12/01/2022
FCC and ISED (Canada) Certifications - Sterling LWB5 All Certification 12/17/2020
MIC Certifications - Sterling LWB5 All Certification 07/25/2023
Software, Sona IF573 and Sterling-LWBx All Software 03/25/2024
RoHS 3 Compliance - Wi-Fi Products All Certification 01/11/2024
Regulatory Information - Sterling-LWB5 All Certification 01/03/2024
Application Note - PetaLinux Software Integration - 60 Series and LWB Series All Application Note 08/13/2020
Regulatory Release Notes - Sterling-LWB5 All Documentation 05/07/2021
PCN 10H 2021 - Sterling LWB, LWB5, EWB All Documentation 11/24/2021
EOL Notice - Sterling-LWB5 - Nov 2023 All Documentation 12/07/2023

Certified Antennas

  • 001-0016

    001-0016

    FlexPIFA / FlexPIFA 6E Flexible Adhesive-Backed PIFA Internal Antennas
    Learn More

FAQ

I would like to build Bluetooth Support into my Yocto image. What do I need to add to my recipe?

These are the recommended packages to add for Bluetooth support into your yocto recipe for the Laird Wi-Fi/Bluetooth combo modules:

        
            bluez5 /
            bluez5 / 
            bluez5-noinst-tools /
            bluez5-obex /
            openobexobexftp /
            packagegroup-core-buildessential / 
            gattlib /
            packagegroup-tools-bluetooth /
        
    

Can loopback mode be activated on the LWB5+ Bluetooth module for conducting test operations?

The LWB5+ Bluetooth UART with HCI (Host Controller Interface) supports an internal loopback mode that can be enabled.

There are two loopback modes available for testing purposes: a Local Loopback Mode, and a Remote Loopback Mode.

These modes are defined in the BLUETOOTH CORE SPECIFICATION Version 5.4 | Vol 2, Part F, Section 8

Method: Loopback Test using hcitool to loopback from the Host to the LWB5+ and back to the Host:

To receive a Loopback_Command_Event, you would send an HCI Loopback Command to the Bluetooth device. This command instructs the device to send back a Loopback_Command_Event containing the data from the original command. Here's a generic example using hcitool on Linux:

hcitool -i hci0 cmd 0x03 0x0002 0x01 0x02 0x03 0x04

In this example:

  • hci0 is the device number of the Bluetooth interface. Adjust this to match your interface number.
  • 0x03 is the OGF (Opcode Group Field) for HCI Host Controller & Baseband Commands.
  • 0x0002 is the OCF (Opcode Command Field) for HCI Loopback Command.
  • The remaining bytes 0x01 0x02 0x03 0x04 are the data to be looped back.

This command is not permanent and will only loop back the 4 bytes of data sent with the command. You can manually toggle the RTS or CTS lines to watch the data pause and then resume.

Does LWB5 support WPA3?

No, LWB5 does not support WPA3.

I am planning on using kernel 6.1 (mickledore), is there anything I need to be aware of?

There was a change in kernel 5.19 and higher, lrd-11 is built against the kernel 6.1 kernel backports), where there is a requirement to add cfg80211 to your image as a module (m) in the base platform kernel configuration. It must not be left out and must not be included as built-in (y). Networking support->Wireless->cfg80211 - wireless configuration API

Do I need to do anything differently in lrd-11 release?

Do I need to do anything differently in lrd-11 release?

There was a change in kernel 5.19 and higher, lrd-11 is built against the kernel 6.1 kernel backports), where there is a requirement to add cfg80211 to your image as a module (m) in the base platform kernel configuration. It must not be left out and must not be included as built-in (y).

  • Networking support->Wireless->cfg80211 - wireless configuration API

Why I am seeing an error while trying to build lrd-11 in Yocto?

I am seeing an error: error: 'struct net_device' has no member named 'ieee80211_ptr' while trying to build the lrd-11.0 release in Yocto.

This is due to a change in kernel 5.19 and higher, (lrd-11.0 is built against 6.1 kernel backports), where there is a requirement to add cfg80211 to your image.

To accomplish this:

  1. Edit your kernel configuration by entering bitbake -c menuconfig virtual/kernel
  2. Edit Networking support/Wireless and set cfg80211 to "M" for module
  3. Save your changes.
  4. Run your build again.

Can I use power save mode for AP mode?

PM mode is ignored when operating as an AP.  It is effectively PM=0.

Do the LWB series radios support Monitor Mode?

The Sterling-LWBSterling-LWB5Sterling-LWB5+ and the Sterling-LWB+ do not support Monitor Mode. As of 3Q-2023, the only Laird Radios that support Monitor mode are the 60-SIPT and the 60-2230C.

Where can I find the Regulatory Test tools for Laird's Wi-Fi products?

For Regulatory Testing you will be required to load a special firmware to put the radio into "Test Mode". The code for our Wi-Fi modules is available-by-request by opening a case with our Support Team at https://www.lairdconnect.com/resources/support.

Does LWBx series support WPA3 OWE?

No, the LWBx series of WiFi/BT modules do not support WPA3 OWE or SAE-PK (Public Key).

How can Lairds LWB-series radios be used with Raspberry Pis and Raspberry Pi OS?

The Sterling-LWBx radios can be used with Raspberry Pis running Raspberry Pi OS.

A module parameter (available from release version 10.54.0.13 on) will have to be used to prevent the module from ideling as OS calls from the mmc driver on RPi will not be answered suitably causing the SDIO communication not to function correctly.

Please reference this tutorial for the 60-series radios and contact Laird for the usage of the above mentioned module parameter for the LWB radios.

https://lairdcp.github.io/guides/Sterling-60-Tutorials/1.0/raspberry-pi-wifi-bt.html


How can I manipulate the power saving settings for Wifi in my Linux environment?

Wifi adapters by default often come up in a power save mode. That is a mode in which the adapter shuts off the network connection in a state of inactivity.

While this is a good way to achieve additional power savings it of course introduces a delay for re-connecting.

To set the mode on or off:

iw wlan0 set power_save on iw wlan0 set power_save off

To query the current setting issue:

iw wlan0 get power_save

Some systems might require "sudo" in front of the commands to be exectuted.

Jetson TX2 NX Wi-Fi USB is not showing up after a soft reboot

The Jetson TX2 NX does not act the same as the Jetson Nano when providing power to the m.2 slot. The Jetson Nano will automatically toggle PMU_EN, while the TX2 NX will require a manual toggle of the pin in software.

This applies to USB variants, as PCIe variants have a reset built into the PCIe standard.

unknown symbol in dmesg error

On a linux system if the dmesg is reporting an unknown symbol this is usually due to one of the following:

  1. The backports drivers didn't get compiled against the correct kernel.
  2. WLAN, CONFIG_BT, and WIRELESS were not removed from the kernel menuconfig.
  3. backports was compiled with different flags than how the kernel was compiled.

 

Do your Wi-Fi modules provide a temperature value?

Currently none of our Wi-Fi modules support reading a temperature value.

One important thing to make sure before sending in your device to Laird for country, regulatory or antenna testing.

When you have an agreement with Laird to send in your device for testing of anything around your radio you need to make sure your radio can be set to all necessary test modes.

In order to do that please contact the Laird FAE already known to you or write to Laird at "support@lairdconnect.com" to get in contact with us.

Your FAE will be able to help you determine if your device is fit for testing.

How to setup a peripheral device with ST60/LWB* series with BlueZ in Linux platform?

bluetoothctl 

[bluetooth]#Power on

[bluetooth]#menu advertise

[bluetooth]# manufacturer 0x0077 0x12 0x34

[bluetooth]# name myDevice

[bluetooth]# back

[bluetooth]# advertise on

[bluetooth]# menu gatt 
[bluetooth]# register-service e2d36f99-8909-4136-9a49-d825508b297b

[bluetooth]# yes

[bluetooth]# register-characteristic 0x1234 read

[bluetooth]# 0x12

[bluetooth]# register-characteristic 0x4567 read,write

[bluetooth]# 0x34

[bluetooth]# register-application

While encounter not able to run lru in Ubuntu system with lwb* series, what may need to check first?

1. Make sure to install proper MFG package (the same version or compatible version with the backports) and the lru binary fit to your platform.

You can check by "file /usr/bin/lru" to know what MFG binary you install.

2. Make sure all lib issues has been resolved.
3. Only run one Wi-Fi module in the system

Disable other modules by /etc/modprobe.d/blacklist.conf

4. Make sure lru run with the LWB5+ interface
5. killall wpa_supplicant and NetworkManager
6. Make sure firmware is loaded by MFG firmware, check if firmware is (CY WLTEST) in dmesg

/lib/firmware/brcm/brcmfmac4373.bin -> brcmfmac4373-usb-sa-mfg.bin

"ln -s /lib/firmware/brcm/brcmfmac4373-usb-sa-mfg.bin /lib/firmware/brcm/brcmfmac4373.bin"

7. lru need to root access right, so may need to run "sudo lru"  

How to setup a peripheral device with ST60/LWB* series with BlueZ in Linux platform?

bluetoothctl 

[bluetooth]#Power on

[bluetooth]#menu advertise

[bluetooth]# manufacturer 0x0077 0x12 0x34

[bluetooth]# name myDevice

[bluetooth]# back

[bluetooth]# advertise on

[bluetooth]# menu gatt 
[bluetooth]# register-service e2d36f99-8909-4136-9a49-d825508b297b

[bluetooth]# yes

[bluetooth]# register-characteristic 0x1234 read

[bluetooth]# 0x12

[bluetooth]# register-characteristic 0x4567 read,write

[bluetooth]# 0x34

[bluetooth]# register-application

How to set regulation domain in LWB/LWB5/LWB5+ with latest release 8.5.0.7 and later release in Linux platform?

(1) By option regdomain

/etc/modprobe.d/brcmfmac.conf

# Sample contents of a brcmfmac.conf file configured for operation in
#  the United States
options brcmfmac regdomain="US"

(2) By device tree

@mmc0 {
  #address-cells = <1>;
  #size-cells = <0>;
  bus-width = <4>;
  non-removable;

  brcmf: wifi@1 {
    reg = <1>;
    compatible = "brcm,bcm4329-fmac";
    laird,regdomain = "US";
  };
};

How will Laird handle the FRAG attack announced by Wi-Fi Alliance in 2021 May?

Please refer this blog as below. Laird are currently investigating these issues internally and investigating with the chipset vendors and our internal QA team to establish test scenarios to evaluate the impacted devices.

/resources/blog/frag-attack-wi-fi-putting-pieces-back-together

Can I find out the Cypress (Infineon) FW version number from a Sterling-LWB, -LWB5 or -LWB5+ software release?

Yes. On a Linux PC you can use he command "strings" on the Wifi firmware file you are using and grep for "Version":

# strings brcmfmac4373-usb-sa-prod.bin | grep Version

4373a0-roml/usb-ag-p2p-mchan-wfds-idsup-idauth-wowlpf-pktfilter-swdivenhanced-aoe-mfp-clm_min-sr-txbf-proptxstatus-sae-2040coex-bdcsr-msgtrace-sharedotp (config_usb_release_sharedotp) Version: 13.10.246.247 (fb87df5 CY) CRC: 42b20d6 Date: Sun 2020-12-20 19:47:27 PST Ucode Ver: 1192.0 FWID 01-c041ac2e

Is there a way to set the regulatory domain in Yocto?

The Yocto layer includes a mechanism to configure the regulatory domain using the module parameter
mechanism.

LWB_REGDOMAIN variable needs to be set iny out local.conf file:
LWB_REGDOMAIN = "US"

This will create a brcmfmac.conf file in /etc/modprobe.d containing the specified
country code in the regdomain module parameter.
 

How do I find out which clients are connected to the soft AP I created using my Laird Wifi module with Linux

Once you have created the soft AP on your Linux system and have successfully connected clients to the soft AP you can issue the command

# iw wlan0 station dump

to get a list of connected clients. Note: the interface name (here: wlan0) might be different in your system.

Is there firmware flashed to my Laird Wifi modules that I need to update?

No. The firmware for the Wifi module needs to be placed in the root file system of your Linux device and will be loaded to module during every boot.

There is no firmware flashed to non-volatile memory of the module.

Of course it is a good idea to look out for new relases of software for your Wifi module.
 

Can I really use one single firmware file for the various regions that my Sterling-LWB or Sterling-LWB5 module is certified for?

Yes. From release 8.5.0.7 on the same firmware file can be used in the various regions the Sterling-LWB or Sterling-LWB5 module is certified for.
Even though firmware file for different regions still exist and are avaialble for download, they are only there for legacy resasons. Either can be chosen.
Of course for regulatory compliace the regualtory domain still needs to be set accordingly.
 

How do I set the regulatory domain for my Sterling-LWB, -LWB5 and -LWB5+ module from release version 8.5.0.7 on?

There is three ways to set the regualtory domain from release version 8.5.0.7 on.

1. as a command line parameter when loading the brcmfmac.ko module. Example:
# insmod brcmfmac.ko regdomain="US"

2. in a config file in your root fs:
# cat /etc/modprobe.d/brcmfmac.conf
options brcmfmac regdomain=US


3. Device Tree setting
Device Tree setting is preferred. See Lairds Software Integration Guiide (SIG) on Github:
Sterling LWBx Series Radio Software Integration Guide
 

How do I set up an open hotspot using Network Manager?

You can use the Network Manager command line interface to create an open hotspot using this command:

nmcli con add con-name open_hotspot ifname wlan0 type wifi ssid yourSSID mode ap wifi.band bg wifi.channel 6 ipv4.method shared

What are some disadvantages of using AP+STA?

The AP and STA are on the same channel potentially causing disconnections if the STA roams to a different AP. The Sterling-70 has the advantage of dual independent radios that can run on different Wi-Fi channels.

What is the MCS index for Wi-Fi?

MCS stands for Modulation Coding Scheme and is an industry metric index based on Wi-Fi connection parameters between a client and wireless access point. These parameters include modulation type, coding rate, spatial streams, channel width, and guard interval.

What versions of Android are supported by Laird Wi-Fi modules?

This can be found by reviewing the release notes for the specific product on GitHub.

 

I have a Ubuntu system that has automatic updates will this affect my Wi-Fi?

Yes as new kernels are updated in Ubuntu automatically it will break backports and will need to be reinstalled.

Can I use a Laird WiFi module on Ubuntu?

Laird modules can be used on a Ubuntu system with a kernel version that is supported by Laird backports.

To check, find the kernel version of the Ubuntu system and then check the release notes of the products to see if the latest backports supports that kernel.

Sterling-60 Release Notes

Sterling-LWB Release Notes

Is there a way to extend the shelf life of Laird modules?? If the shelf life cannot be extended in any way, what are the consequences of using modules after shelf life?

The shelf life statements are essentially to prevent mishandling of the product and not storing it properly. If the modules are still sealed in the package, stored at the proper temperature and have not been exposed to moisture they should be fine. However, when working with modules beyond their shelf life you MUST bake the modules before populating the them to your board. Failure to bake the modules could result in the yield rate dropping down lower than expectation due to popcorn or de-lamination on the modules. It is recommended that you follow IPC/JEDEC J-STD-033 which is the general standard for the handling, packing, shipping and use of moisture/reflow sensitive surface mount devices.

Our main concern is around the castellation/pads which solder the module to the board. It is imperative those pads do not get tarnished, as this would cause soldering issues. Humidity can affect solderability as well, as if there is any excess moisture in the solder on the module, during reflow of the module to the board, steam balls can essentially explode the solder and sometimes result in an open circuit (or possibly a short circuit).

As long as all of the moisture handling and temperature guidelines are being followed you will likely have no issues. It is further recommended that when you do the build with modules that have exceeded their shelf life that you start with a handful to perform a test run and do a final test to make sure all is working as expected. As long as there are no issues with the initial test run we would expect that you will not experience any problems.

How do I test connecting to a BLE peripheral in Linux?

To activate BT, list controller information and scan for BT/BLE devices:

# bluetoothctl
Agent registered
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# list
Controller C0:EE:40:50:00:00 summit [default]
[bluetooth]# scan on

To connect to a device acting as a peripheral:

[bluetooth]# scan on
Discovery started
[CHG] Controller C0:EE:40:50:00:00 Discovering: yes
[NEW] Device 4C:90:DE:92:00:00 Pixel XL
[CHG] Device 4C:90:DE:92:00:00 RSSI: -68
[CHG] Device 4C:90:DE:92:00:00 RSSI: -58
...
[NEW] Device 4C:90:DE:92:00:00 Pixel XL
[bluetooth]# scan off
Discovery stopped
[CHG] Controller C0:EE:40:50:00:00 Discovering: no
[CHG] Device 4C:90:DE:92:00:00 TxPower is nil
[CHG] Device 4C:90:DE:92:00:00 RSSI is nil
[bluetooth]# pair 4C:90:DE:92:00:00
Attempting to pair with 4C:90:DE:92:00:00
[CHG] Device 4C:90:DE:92:00:00 Connected: yes
[NEW] Primary Service
        /org/bluez/hci0/dev_4C_90_DE_92_00_00/service0001
        00001801-0000-1000-8000-00805f9b34fb
        Generic Attribute Profile
[NEW] Characteristic
        /org/bluez/hci0/dev_4C_90_DE_92_00_00/service0001/char0002
        00002a05-0000-1000-8000-00805f9b34fb
...
[NEW] Characteristic
        /org/bluez/hci0/dev_4C_90_DE_92_00_00/service003a/char003b
        00002a8a-0000-1000-8000-00805f9b34fb
        First Name
[NEW] Characteristic
        /org/bluez/hci0/dev_4C_90_DE_92_00_00/service003a/char003d
        00002a90-0000-1000-8000-00805f9b34fb
        Last Name
[NEW] Characteristic
        /org/bluez/hci0/dev_4C_90_DE_92_00_00/service003a/char003f
        00002a8c-0000-1000-8000-00805f9b34fb
        Gender
...
[CHG] Device 4C:90:DE:92:00:00 UUIDs: 0000181c-0000-1000-8000-00805f9b34fb
[CHG] Device 4C:90:DE:92:00:00 UUIDs: 0000aaa0-0000-1000-8000-aabbccddeeff
[CHG] Device 4C:90:DE:92:00:00 ServicesResolved: yes
Request confirmation
[agent] Confirm passkey 210165 (yes/no): yes
[Pixel XL]# trust 4C:90:DE:92:00:00
[CHG] Device 4C:90:DE:92:00:00 Trusted: yes
Changing 4C:90:DE:92:00:00 trust succeeded

The peripheral device is a Google Pixel XL running Android 10 using Nordic’s nRF app with an advertising profile setup with dummy information. If you pair with a device that does not have some kind of service running, it will disconnect, as BT/BLE has nothing to do.

 

How do I test running a GATT server in Linux?

Using the test scripts provided with BlueZ to setup a GATT server:

cd /lib/bluez/test/
./example-gatt-server &

Power on Bluetooth, start advertising and set to pairable:

# bluetoothctl
Agent registered
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# advertise on
[bluetooth]# pairable on

Connect with Nordic's nRF smartphone app and read the fake battery level.

 

What is the difference between the Sterling supplicant and open-source wpa_supplicant?

The Sterling supplicant is based on the open-source wpa_supplicant and is also provided as an open-source package.

We update the source and patch as needed to make sure we are up to date on the latest CVEs.

It also goes through our QA validation process with each production release of backports and firmware. For more information, see the release notes on GitHub:

How do I confirm WiFi connection status in Linux?

The iw tool can be used to read the status of the device:


# iw dev

phy#0
        Unnamed/non-netdev interface
                wdev 0x2
                addr 7e:4a:78:cc:85:77
                type P2P-device
                txpower 31.00 dBm
        Interface wlan0
                ifindex 7
                wdev 0x1
                addr aa:bb:cc:07:0c:b1
                ssid testAP
                type AP
                channel 11 (2462 MHz), width: 20 MHz, center1: 2462 MHz
                txpower 31.00 dBm

Managed/client mode link information:

# iw wlan0 link

Connected to aa:bb:cc:12:34:56 (on wlan0)
        SSID: testAP
        freq: 2462
        RX: 364 bytes (2 packets)
        TX: 3782 bytes (22 packets)
        signal: -31 dBm
        tx bitrate: 2.0 MBit/s
        bss flags:      short-slot-time
        dtim period:    2
        beacon int:     200

AP mode to read connected client information:

# iw wlan0 station dump

Station aa:bb:cc:8b:6c:fe (on wlan0)
        inactive time:  3000 ms
        rx bytes:       6479
        rx packets:     37
        tx bytes:       9706
        tx packets:     66
        tx failed:      0
        signal:         -44 [-44] dBm
        tx bitrate:     1.0 MBit/s
        rx bitrate:     65.0 MBit/s
        authorized:     yes
        authenticated:  yes
        associated:     yes
        WMM/WME:        yes
        TDLS peer:      no
        DTIM period:    2
        beacon interval:100
        short slot time:yes
        connected time: 20 seconds

 

What are some common wpa_supplicant network block profiles?

Open/unsecured Network:


network={
        ssid="myAP"
        key_mgmt=NONE
        scan_ssid=1
}

 

WPA2-PSK:


network={
        ssid="myAP"
        key_mgmt=WPA-PSK
        psk="password"
        pairwise=CCMP
        group=CCMP
        proto=RSN
        scan_ssid=1
}

 

WPA2-AES with EAP-TLS


network={
    scan_ssid=1
    ssid="myAP"
    pairwise=CCMP
    group=CCMP
    key_mgmt=WPA-EAP
    proto=RSN
    eap=TLS
    identity="user1"
    private_key="/etc/certs/user1.pem"
    private_key_passwd="user1"
    client_cert="/etc/certs/user1.pem"
}

 

WPA-TKIP with PEAP MSCHAPv2:


network={
    scan_ssid=1
    ssid="myAP"
    key_mgmt=WPA-EAP
    eap=PEAP
    identity="user1"
    phase1="peaplabel=auto peapver=0 "
    phase2="auth=MSCHAPV2"
    password="user1"
}

 

For the full documentation provided by the wpa_supplicant maintainers, please visit: https://w1.fi/cgit/hostap/plain/wpa_supplicant/wpa_supplicant.conf

What do I need to consider when desinging in the chip-down/SIPT version so I can leverage your modular certifications?

In order to leverage our modular certifications, you must follow the RF design of the module associated with the chip/SIPT. Design files will be provided upon request so you can reproduce our design on your custom board. We highly suggest you to take advantage of our free design review to prevent any issues when going for certification testing.

Please submit a ticket using our support portal when you are ready to begin the process.

I need the wl tool for certification, how do I gain access?

Per our agreement with Infineon, formally Cypress, we are required to distribute the testing tools package on an individual basis. To request access, please submit a technical support ticket on our support portal

Do the LWB Series radios support worldwide mode?

Unfortunately the LWB Series can only be configured for a static region. We do have options with our other radios, please contact support and we can make a recommendation based on your project's needs.

Can I use the Broadcom firmware that comes with my kernel?

We provide custom firmware from Cypress that includes power tables that are only for the LWB Series modules. Using firmware that is not provided by us will violate the modular certifications.

How do I know what CVEs/vulnerabilities have been addressed and in which version of code?

CVEs that have been addressed are referenced in our release notes. If there is a new CVE or one that is not listed in our release notes, please submit a ticket using our support portal and we will provide the status.

Radio-specific release notes can be found in the corresponding GitHub repo: https://github.com/LairdCP/Release-Packages

How can Low Power Mode (LPM) be enabled on Laird's Sterling-LWB, Sterling-LWB5 and Sterling-LWB5+ modules?

In order to enable LPM mode on the Sterling-LWB, Sterling-LWB5 and Sterling-LWB5+ modules the options --enable_lpm and --enable_hci need to be added to the patchram command line expression:

# patchram -d --patchram /lib/firmware/brcm/4343w.hcd --enable_lpm --enable_hci --no2bytes  --tosleep 1000 /dev/ttyS1 c1 &

This also enables BT_HOST_WAKE (output) and BT_DEV_WAKE (input).
BT_DEV_WAKE needs to be asserted for the module to respond.

Are the signals BT_DEV_WAKE and BT_HOST_WAKE required to be connected to the host on designs with Laird's Sterling-LWB and -LWB5 Wi-fi modules?

The signals BT_DEV_WAKE and BT_HOST_WAKE are only enabled when the modules entered Low Power Mode(LPM). Hence the signals are only mandatory to be connected to your host when LPM is planned to be used. However, if enough GPIOs are available it is always a good idea to have those signals connected to the host processor.

Please check the LWB Datasheet or the LWB5 Datasheet for the status and polarity of each signal in the various states.

How do I use your precompiled dynamically linked binaries such as your supplicants or radio testing tools?

If the binary returns "not found" or does not work after confirming the executable bit is set with chmod +x <filename>, then you will need to create a symlink pointing to the system's interpreter. The file tool will show the expected interpreter and architecture of a binary, readelf is a lot more verbose and is used to discover the expected "sonames" of shared libraries. These utilities do not have to be used on the target system and is convenient to use on a common x86 Linux machine. These utilities can be installed on Ubuntu with sudo apt install binutils.

Example output from the file command:
sterling_supplicant-arm-7.0.0.139/usr/sbin$ file wpa_supplicant
wpa_supplicant: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.0.0, stripped

Example output from the readelf command:
sterling_supplicant-arm-7.0.0.139/usr/sbin$ readelf -ld wpa_supplicant Elf file type is EXEC (Executable file)
Entry point 0xba28
There are 10 program headers, starting at offset 52 Program Headers:
...
<edited>
...
      [Requesting program interpreter: /lib/ld-linux.so.3]
...
<edited>
...
Dynamic section at offset 0x176ee8 contains 30 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libnl-3.so.200]
 0x00000001 (NEEDED)                     Shared library: [libnl-genl-3.so.200]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libdbus-1.so.3]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
...
<edited>
...

To use this binary, we will have to confirm this symlink exists or create a new symlink pointing to the interpreter on the target filesystem:
cd /lib/
ls -l ld-*
-rwxr-xr-x    1 root     root        158772 Dec  2  2019 /lib/ld-2.26.so
ln -sf ld-2.26.so ld-linux.so.3
ls -l ld-*
-rwxr-xr-x    1 root     root        158772 Dec  2  2019 /lib/ld-2.26.so
lrwxrwxrwx    1 root     root            10 Dec 21 18:55 /lib/ld-linux.so.3 -> ld-2.26.so

If the binary now reports that a library is not found when executed, repeat the steps shown above for creating a library symlink/soname pointing to it's real name. This may require you to use the find command to discover the location of the library. Example for libnl-genl-3:
find / -name 'libnl-genl-3*' -exec ls -l {} 2>/dev/null \;
-rwxr-xr-x    1 root     root         18524 Feb 14 23:42 /usr/lib/libnl-genl-3.so.200.26.0
cd /usr/lib/
ln -sf libnl-genl-3.so.200.26.0 libnl-genl-3.so.200
ls -l libnl-genl-3*
-rwxr-xr-x    1 root     root         18524 Feb 14 23:42 /usr/lib/libnl-genl-3.so.200.26.0
lrwxrwxrwx    1 root     root            24 Feb 14 23:37 /usr/lib/libnl-genl-3.so.200 -> libnl-genl-3.so.200.26.0

If the library does not exist, you will have to include that package in your build. For instance if the above example libnl was missing, include the libnl package when building your filesystem.

What is my best chance to use an antenna that is not pre-certified for my wireless module?

To use an antenna that is not listed on your wireless modules datasheet, it must be of the same topology (e.g. dipole, PIFA, etc.), equal or lesser gain, and have the same in-band and out of band characteristics.

Note: Japan (MIC) lists applicable antennas on its certificates. If your antenna is not on the approved list, regardless of whether it is comparative, it must be added to the certificate before it can be used in Japan.

How do I manually cross-compile the Sterling supplicant from source?

It is best practice to include the source in your build system. If using Yocto, our external layer will do this for you.
Here is an example manually compiling using our SOM60 as a target in a Buildroot environment:

 

  1. Download and extract the Sterling supplicant source.
  2. Navigate to the "laird" directory.
  3. Edit the config_laird file:
  4. Find the following line, uncomment and change the path to your "openssl/include" directory:
    original line:
    #CFLAGS += -I/usr/local/openssl/include
    modified line:
    CFLAGS += -I/wb/buildroot/output/som60sd/build/host-libopenssl-1.1.1d/include
  5. Run make with the following flags
    set:
    CC="" for your cross-compile binary
    PKG_CONFIG="" for your pkg-config binary
    PKG_CONFIG_PATH="" for your pkgconfig directory
    OBJCOPY="" for your objcopy binary

 

Note the following example is a single line command:
make CC="/wb/buildroot/output/som60sd/host/bin/arm-buildroot-linux-gnueabihf-gcc" PKG_CONFIG="/wb/buildroot/output/som60sd/host/bin/pkg-config" OBJCOPY="/wb/buildroot/output/som60sd/host/arm-buildroot-linux-gnueabihf/bin/objcopy" PKG_CONFIG_PATH="/wb/buildroot/output/som60sd/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/pkgconfig"

Backports fails to compile with 'refcount_t {aka struct refcount_struct}' has no member named 'counter'

There are certain patch ranges within kernels 4.4 and 4.9 that need a modification so backports can build, the reason why we cannot fix it in backports is that we cannot track and differentiate between patch versions of the same 'major.minor' version of kernel. To fix this issue, move the function kobject_has_children from linux/kobject.h to drivers/base/core.c in your kernel source, rebuild the kernel and then rebuild backports.

How can I receive notifications of the latest updates to the driver and firmware?

Simply log into GitHub, go to the corresponding release packages page and click the "Watch" button (eye icon) in the top right of the page. Some radios (such as the LWB Series) requires you to download firmware separately from the product page; this firmware is updated on the product page in conjunction with GitHub releases.

Release Packages

What are the requirements to be able to leverage "Modular Approval"?

In order to be able to leverage the Modular Approval of a wireless module the following requirements have to be met:

  • The RF circuitry must be shielded
  • The module must have buffered modulation/data inputs. Module must inherently ensure compliance under host fault (watch dog) conditions
  • The module must have a regulated power supply
  • An antenna needs to be attached permanently or a unique antenna connector must be mounted on the module
  • The module must be compliant with the regulations in a stand-alone configuration
  • The module must be labeled with its permanently affixed FCC ID label or use an electronic display
  • A user manual needs to provide comprehensive instructions to explain compliance requirements.
  • The module must comply with RF exposure requirements

Does Ezurio have plans to get KCC approval for the Sterling-LWB, Sterling-EWB or the Sterling-LWB5 modules?

Currently, there are no plans to get the KCC certifications for Sterling-LWB, Sterling-EWB or the Sterling-LWB5.

How do I test layer 2 Bluetooth stability without setting up a profile on a Linux platform?

In BlueZ, some commands such as l2test or l2ping are able to generate traffic on L2CAP layer. To test performance and reliability, you can use the l2test command:

On the server, run the command:

l2test -I 2000 -r

On the client side, run the command:

l2test -O 2000 -s XX:XX:XX:XX:XX:XX

Become a Ezurio Customer and Gain Exclusive Access to Our Design Services Team

  • Antenna Scans
  • Antenna selection and placement
  • Custom antenna design
  • Worldwide EMC testing / certifications
  • Embedded RF hardware / firmware design
  • Cloud architecture and integration
  • Mobile application development
  • Product & Industrial Design

Talk to an Expert

Buy Now

Distributor Part In Stock Region Buy
DigiKey 450-0162C 7 North America Buy Now
Avnet 450-0162C 0 North America Buy Now
Future Electronics 450-0162C 0 North America Buy Now
Mouser 450-0162C 0 North America Buy Now
Avnet 450-0162R 0 North America Buy Now
DigiKey 450-0162R 0 North America Buy Now
Future Electronics 450-0162R 0 North America Buy Now
DigiKey 450-0168C 50 North America Buy Now
Avnet 450-0168C 0 North America Buy Now
Future Electronics 450-0168C 0 North America Buy Now
Mouser 450-0168C 0 North America Buy Now
Avnet 450-0168R 0 North America Buy Now
DigiKey 450-0168R 0 North America Buy Now
Future Electronics 450-0168R 0 North America Buy Now
Avnet 450-0169C 0 North America Buy Now
DigiKey 450-0169C 0 North America Buy Now
Mouser 450-0169C 0 North America Buy Now
Avnet 450-0169R 0 North America Buy Now
DigiKey 450-0169R 0 North America Buy Now
Future Electronics 450-0169R 0 North America Buy Now
Farnell 450-0171 1 EMEA Buy Now
Avnet 450-0171 0 North America Buy Now
DigiKey 450-0171 0 North America Buy Now
Future Electronics 450-0171 0 North America Buy Now
Mouser 450-0171 0 North America Buy Now
DigiKey 450-0172 6 North America Buy Now
Avnet 450-0172 0 North America Buy Now
Future Electronics 450-0172 0 North America Buy Now

Distributors

Distributor Phone Number Region Website
Arrow Electronics 1-855-326-4757
+44 2039 365486
APAC, North America, South America, EMEA Website
Avnet 1-480-643-2000
+44 1628 512900
APAC, North America, South America, EMEA Website
Braemac Australia, New Zealand, South East Asia +61 2 9550 6600
+64 9 477 2148
APAC Website
Cal-Chip Connect 1-215-942-8900
North America Website
DigiKey 1-800-344-4539
North America, South America, APAC, EMEA Website
EBV Elektronik EMEA Website
Farlink Technology China, Hong Kong +86 13266922199
APAC Website
Farnell 1-800-936-198
+44 3447 11 11 22
EMEA Website
Future Electronics 1-800-675-1619
1-514-428-8470
North America, South America, APAC, EMEA Website
Glyn +49-6126-590-0
EMEA Website
Hy-Line Germany Only +49 89 614 503 0
EMEA Website
Jetronic China, Hong Kong and Taiwan 852-27636806 
APAC Website
Laird Connectivity 1-847-839-6925
+44 1628 858941
North America, South America, APAC, EMEA Website
M2M Germany +49-6081-587386-0
EMEA Website
Martinsson +46 8 7440300
EMEA Website
McCoy South East Asia +65 6515 2988
APAC Website
Mouser 1-800-346-6873
+44 1494 427500
North America, South America, APAC, EMEA Website
RS Components +852-2421-9898
+44 3457-201201
North America, South America, APAC, EMEA Website
Ryoyo Japan +81-3-3543-7711
APAC Website
Solsta UK Only +44 (0) 1527 830800
EMEA Website
Supreme Components International India, South East Asia +65 6848-1178
APAC Website
Symmetry Electronics 1-866-506-8829
North America Website
Tekdis Australia and New Zealand +61 3 8669 1210
APAC Website
Telsys +972 3 7657666
EMEA Website
WPG +44 1628 958460
EMEA Website