Sterling-LWB5 Dual-Band WiFi Module with Bluetooth 4.2

Recommended for New Design (RND)

Overview

Dual-Band 802.11ac WiFi + Bluetooth v4.2 Combo Module

The Sterling-LWB5 dual-band Wi-Fi, Bluetooth® Smart, and Bluetooth® Smart Ready 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 Cypress (formerly Broadcom) CYW43353 chipset to create one of the very first commercially available solutions that offers IEEE 802.11ac 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.

Specifications

BT Capable
4.2
BT Chipset
Combo
BT Dual Mode
Yes
BT Interfaces
UART
Certifications
FCC, ISED, EU, UKCA, MIC, AS/NZS
Dimensions
10 x 10 x 1.6 (SiP)
15.5 x 21 x 2 (module)
Line
Professional
Operating Temp (Max) (°C)
+85 °C
Operating Temp (Min) (°C)
-40 °C
Spatial Streams
SISO
Wi-Fi Chipset
BCM 43353
Wi-Fi Interfaces
SDIO
Wi-Fi Spec
a/b/g/n/ac
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Description Dimension (Height - mm) Dimension (Length - mm) Dimension (Width - mm) Type
450-0162 Embedded Module 802.11abgn, 802.11ac, Bluetooth 4.2, Dual Mode (Classic + BLE) Linux, Android Hosted Infineon (Cypress) CYW43353 External Serial, GPIO, SDIO, PCM, I2S 2400 MHz 2495 MHz 5150 MHz 5825 MHz Sterling-LWB5 SiP 1.6 mm 10 mm 10 mm SiP Module
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Description Dimension (Height - mm) Dimension (Length - mm) Dimension (Width - mm) Type
450-0168 Embedded Module 802.11abgn, 802.11ac, Bluetooth 4.2, Dual Mode (Classic + BLE) Linux, Android Hosted Infineon (Cypress) CYW43353 External Serial, GPIO, SDIO, PCM, I2S 2400 MHz 2495 MHz 5150 MHz 5825 MHz Sterling-LWB5 Module with U.FL 2 mm 21 mm 15.5 mm Module
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Description Dimension (Height - mm) Dimension (Length - mm) Dimension (Width - mm) Type
450-0169 Embedded Module 802.11abgn, 802.11ac, Bluetooth 4.2, Dual Mode (Classic + BLE) Linux, Android Hosted Infineon (Cypress) CYW43353 Internal Serial, GPIO, SDIO, PCM, I2S 2400 MHz 2495 MHz 5180 MHz 5835 MHz Sterling-LWB5 Module with Chip Antenna 2 mm 21 mm 15.5 mm Module
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Description
450-0171 Development Kit 802.11abgn, 802.11ac, Bluetooth 4.2, Dual Mode (Classic + BLE) Linux, Android Hosted Infineon (Cypress) CYW43353 External Serial, GPIO, SDIO, PCM, I2S 2400 MHz 2495 MHz 5180 MHz 5835 MHz Sterling-LWB5 SD Card Dev Board with U.FL
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Description
450-0172 Development Kit 802.11abgn, 802.11ac, Bluetooth 4.2, Dual Mode (Classic + BLE) Linux, Android Hosted Infineon (Cypress) CYW43353 Internal Serial, GPIO, SDIO, PCM, I2S 2400 MHz 2495 MHz 5180 MHz 5835 MHz Sterling-LWB5 SD Card Dev Board with Antenna

Photo Gallery

450-0171

450-0172

Certified Antennas

  • 001-0009

    001-0009

    2.4 / 5.5 GHz Dipole RF Antennas

    Pre-certified 2.4 and 5 GHz RF antennas, IP67-rated for dust and water protection.

    Learn More
  • FlexPIFA and FlexPIFA 6E

    001-0016

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

    Industry-first, flexible, planar inverted-F antennas for curved surfaces.

    2.5-3 dBi gain.

    Available in 2.4 GHz, dual-band 2.4/5 GHz and Wi-Fi 6E 2.4/5/6 GHz.

    Learn More

Become a Laird Connectivity 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

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 01/14/2021
Product Brief - Sterling-LWB5 All Product Brief 05/28/2021
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 01/14/2021
FCC and ISED (Canada) Certifications - Sterling LWB5 All Certification 12/17/2020
MIC Certifications - Sterling LWB5 All Certification 12/17/2020
Sterling-LWB5 Bluetooth SIG Listing All Certification 03/29/2019
Software, Sterling-LWB, LWB5, and LWB5+ All Software 04/14/2021
RoHS 3 Compliance - Wi-Fi Products All Certification 09/23/2021
Regulatory Information - Sterling-LWB5 All Certification 07/21/2021
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

FAQ

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.

 

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.

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.

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

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

Does Laird Connectivity 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 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.

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"

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

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 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

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 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.

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.

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 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

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

 

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.

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

How many clients are supported when using the SoftAP capability on the Sterling-LWB5?

Up to 5 clients are supported