Sterling-LWB5+ WiFi 5 + Bluetooth 5.2 Module / USB Adapter

Recommended for New Design (RND)

Overview

New: Pluggable USB-A Wi-Fi 5 adapter for Linux devices!

Laird Connectivity’s customers across multiple industries have a diverse set of requirements and specific needs. They asked for a truly robust industrial IoT module: one that’s rugged, small, simplifies their BOM, is globally certified, has reliable connectivity, and easy to integrate.

Laird Connectivity’s new Sterling-LWB5+ answers that call for next-gen wireless IoT. Powered by Infineon’s CYW4373E silicon, the Sterling-LWB5+ is purpose-built for IIoT connectivity through a secure, reliable, and robust feature set. It’s IoT from the start: fully certified, easy to integrate, and is the fastest route to the market for IoT.

  • Purpose Built:  Made with manufacturability in mind, and pre-certified to cut down barriers to entry.  
  • Compatible: Our Linux Backports package supports many Linux kernels.
  • Reliable:  Integrated PA (Power Amplifier) and LNA (Low Noise Amplifier) with antenna diversity for reliable connectivity in harsh RF environments.
  • Robust:  Rich feature-set including 802.11ac Wi-Fi and Dual-Mode Bluetooth Low Energy. Reliable in industrial temperature range, and solder-down module is suitable for industrial vibration and impact demands.
  • Secure:  Supports the latest WPA3 security standards.

Specifications

Wireless Specification
Wi-Fi 5 (802.11ac)
Bluetooth 5.2 Low Energy
Chipset (Wireless)
Infineon (Cypress) CYW4373E
Dimension (Width - mm)
12 mm
Dimension (Length - mm)
17 mm
Antenna Options
Chip antenna or MHF4 connector
Certifications
FCC, ISED, UKCA, EU, MIC, AS-NZS
Form Factor
Solderable module or M.2 E-key Module
Output Power
Integrated power amplifier and low noise amplifier
Wi-Fi Coexistence
Integrated coexistence
Antenna Type Chipset (Wireless) Description Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Logical Interfaces OS/Software Product Type System Architecture Technology Bulk or Single
450-00137 Internal Infineon (Cypress) CYW4373E Sterling LWB5+ 802.11ac / Bluetooth 5.0 Pluggable USB Adapter - Single 2400 MHz 2495 MHz 5150 MHz 5825 MHz USB Linux Pluggable USB Adapter Hosted 802.11ac, Bluetooth 5.0 Single
Antenna Type Chipset (Wireless) Description Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Logical Interfaces OS/Software Product Type System Architecture Technology Bulk or Single
450-00137B Internal Infineon (Cypress) CYW4373E Sterling LWB5+ 802.11ac / Bluetooth 5.0 Pluggable USB Adapter - Bulk 2400 MHz 2495 MHz 5150 MHz 5825 MHz USB Linux Pluggable USB Adapter Hosted 802.11ac, Bluetooth 5.0 Bulk
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless)
453-00045-K1 Sterling LWB5+ 802.11ac / Bluetooth 5.0 Development Board (Chip Antenna) Internal, Chip Antenna 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Development Kit Android, Linux SDIO, Serial, USB Hosted Infineon (Cypress) CYW4373E
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless) Packaging
453-00045C Sterling LWB5+ 802.11ac / Bluetooth 5.0 Solderable Module (Chip Antenna) - Bulk Internal, Chip Antenna 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Embedded Module Android, Linux SDIO, Serial, USB Hosted Infineon (Cypress) CYW4373E Cut Tape
Description Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Packaging Chipset (Wireless) Technology
453-00045R Sterling LWB5+ 802.11ac / Bluetooth 5.0 Solderable module (Chip Antenna) - Bulk Internal, Chip Antenna 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Embedded Module Android, Linux SDIO, Serial, USB Hosted Tape/Reel Infineon (Cypress) CYW4373E 802.11ac, Bluetooth 5.0
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless)
453-00046-K1 Sterling LWB5+ 802.11ac / Bluetooth 5.0 Development Board (External Antenna) External, MHF4 Connector 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Development Kit Android, Linux SDIO, Serial, USB Hosted Infineon (Cypress) CYW4373E
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless) Packaging
453-00046C Sterling LWB5+ 802.11ac / Bluetooth 5.0 Solderable module (External Antenna) - Single External, MHF4 Connector 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Embedded Module Android, Linux SDIO, Serial, USB Hosted Infineon (Cypress) CYW4373E Cut Tape
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless) Packaging
453-00046R Sterling LWB5+ 802.11ac / Bluetooth 5.0 Solderable Module (External Antenna) - Bulk External, MHF4 Connector 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Embedded Module Android, Linux SDIO, Serial, USB Hosted Infineon (Cypress) CYW4373E Tape/Reel
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless) Packaging
453-00047C Sterling LWB5+ 802.11ac / Bluetooth 5.0 Solderable Module (Trace Pin) - Bulk External, Trace Pin 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Embedded Module Android, Linux SDIO, Serial, USB Hosted Infineon (Cypress) CYW4373E Cut Type
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless) Packaging
453-00047R Sterling LWB5+ 802.11ac / Bluetooth 5.0 Solderable Module (Trace Pin) - Bulk External, Trace Pin 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Embedded Module Android, Linux SDIO, Serial, USB Hosted Infineon (Cypress) CYW4373E Tape/Reel
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless)
453-00048 Sterling LWB5+ 802.11ac / Bluetooth 5.0 M.2 Carrier Board (E-Type Key w/ SDIO/UART) External, MHF4 Connector 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Embedded Module Android, Linux SDIO, Serial Hosted Infineon (Cypress) CYW4373E
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless)
453-00048-K1 Sterling LWB5+ 802.11ac / Bluetooth 5.0 Development Kit for M.2 Key E (SDIO/UART) External, MHF4 Connector 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Development Kit Android, Linux SDIO, Serial Hosted Infineon (Cypress) CYW4373E
Antenna Type Description Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless)
453-00049 External, MHF4 Connector Sterling LWB5+ 802.11ac / Bluetooth 5.0 M.2 Carrier Board (E-Type Key w/ USB) 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Embedded Module Android, Linux USB Hosted Infineon (Cypress) CYW4373E
Description Antenna Type Technology Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Product Type OS/Software Logical Interfaces System Architecture Chipset (Wireless)
453-00049-K1 Sterling LWB5+ 802.11ac / Bluetooth 5.0 Development Kit for M.2 Key E (USB/USB) External, MHF4 Connector 802.11ac, Bluetooth 5.0 2400 MHz 2495 MHz 5150 MHz 5825 MHz Development Kit Android, Linux USB Hosted Infineon (Cypress) CYW4373E

Photo Gallery

453-00045C

453-00045R

453-00046C

453-00046R

453-00047C

453-00047R

453-00048

453-00049

453-00045-K1

453-00046-K1

453-00048-K1

453-00049-K1

450-00137

450-00137B

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

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

    Dual band antenna with MHF4L connector

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

    EMF2449A1-10MH4L

    Mini NanoBlade Flex / Flex 6E Series Internal Antenna

    Flexible, onmidirectional PCB Mini NanoBlade. Vertically polarized, with 2.79 dBi gain @ 2.4 GHz, 3.38 dBi gain @ 5 GHz, and 5.2 dBi gain @ 6GHz. 

    Learn More
  • Nanoblade Series Antennas

    ENB2449A1-10MH4L

    Nanoblade Series Internal Antenna

    Vertically polarized, omnidirectional planar antenna with 2 dBi gain @2.24-2.5 GHz, 3.9 dBi gain @ 5.15-5.35 GHz, and 4 dBi gain @ 5.6 Ghz. 

    Learn More
  • U.FL to SMA Cable

    CARSMF10AMH4L-001

    Reverse Polarity SMA Cable Assemblies

    U.FL or MHF4L to Reverse Polarity SMA Cable assemblies, engineered for peak performance up to a maximum of 7.5 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
Product Brief - Sterling-LWB5+ All Product Brief 06/25/2021
ISED ICES-003 Issue 7 Declaration of Compliance All Certification 05/18/2021
3D Models - Sterling-LWB5+ - M.2 Modules All Technical Drawings 01/25/2021
FCC Certifications - LWB5+ All Certification 11/24/2020
Schematics - Sterling LWB5+ M.2 Cards & M.2 DVK All Technical Drawings 02/05/2021
Datasheet - Sterling LWB5+ M.2 All Datasheet 08/12/2021
RoHS 3 Compliance - Wi-Fi Products All Certification 09/23/2021
Product Brief - Sterling LWB5+ Pluggable USB Adapter All Product Brief 09/24/2021
3D Models - Sterling-LWB5+ - SMT Modules All Technical Drawings 01/25/2021
ISED (Canada) Certifications - LWB5+ All Certification 11/24/2020
Regulatory Information - Sterling LWB5+ All Certification 06/10/2021
DVK Guide - Sterling LWB5+ All Documentation 12/08/2020
Regulatory Release Notes - LWB5+ All Documentation 09/15/2021
Datasheet - Sterling LWB5+ USB Dongle All Datasheet 08/20/2021
PCB Footprint - Sterling-LWB5+ (DXF and Altium Format) All Technical Drawings 01/25/2021
MIC Certifications - LWB5+ M.2 All Certification 07/06/2021
Software, Sterling-LWB, LWB5, and LWB5+ All Software 04/14/2021
DVK Guide - Sterling LWB5+ M.2 All Documentation 12/08/2020
AS/NZS Certifications - LWB5+ All Certification 11/24/2020
PCN 10C-2021 - Sterling LWB5+ Series All Documentation 10/13/2021
SCH Symbol - Sterling-LWB5+ (Altium Format) All Technical Drawings 01/25/2021
MIC Certifications - LWB5+ Module All Certification 07/06/2021
Application Note - PetaLinux Software Integration - 60 Series and LWB Series All Application Note 08/13/2020
3D Models - Sterling-LWB5+ - Development Kits All Technical Drawings 01/25/2021
EU Certifications - LWB5+ All Certification 11/24/2020
Schematic - Sterling-LWB5+ Modules DVK v3.0 All Technical Drawings 02/05/2021
Datasheet - Sterling LWB5+ All Datasheet 08/12/2021

FAQ

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

 

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.

How do I use the LWB5+ DVK with an SDR104 capable external slot?

The LWB5+ is an embedded SDIO module and using an external slot may introduce some challenges. The external slot likely starts at 3.3 VIO and steps down to 1.8 VIO. If this is not the case, the following also addresses fixed VIO for both 1v8 and 3v3. As noted below, the M.2 variant only supports 1.8 VIO.

  1. Run the LWB5+ at 3.3 VIO SD High Speed mode (module only, not M.2)
    1. Configure the LWB5+ DVK for 3.3 VIO via strapping switches (1,0) and VDDIO switched to 3v3
    2. Add no-1-8-v to the SDIO device node in the device tree
    3. Confirm the voltage step-down is disabled on the host
  2. Run the LWB5+ at SDR speed by syncing VIO via jumper wire (module only, not M.2)
    1. If the host board exposes VIO of the external slot, depopulate the VDDIO switch on the LWB5+ DVK and wire the center pin directly to VIO on the host.
      1. An example is TP709 on the i.MX6UL EVK from NXP
    2. The external slot may not be fully capable of SDR104 @200MHz and the bus speed may have to be limited
      1. Example 100MHz device tree property: max-frequency = <100000000>;
  3. Force the host to run at 1.8 VIO all the time (module and M.2)
    1. This requires modification to the host and is up to you to weigh the risk and devise a resolution
    2. The LWB5+ M.2 DVK will not need modification
    3. Configure the LWB5+ module DVK for 1.8 VIO via strapping switches (1,1) and VDDIO switched to 1v8
    4. The slot may not be capable of full 200MHz SDR104 operation, see note above about limiting bus speed

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

How can the Sterling-LWB5+ support extended temperature range while the data sheet for the chip only shows commercial temperature grade?

For the Sterling-LWB5+ Wifi module, Laird does not use the regular CYW4373 chip from Cypress but a version that supports extended temperature range by the name of CYP4373E.

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"

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

 

Can I use the brcmfmac driver that comes with my kernel?

We provide driver support via our fork of the backports package and integrate releases from Cypress/Infineon. Backports replaces the kernel-side Bluetooth stack and Wi-Fi stack including cfg80211 and driver. We regularly perform a kernel rebase to keep up with LTS releases which provides the benefit of running a modern stack on a range of kernels. We perform build verification regression testing including popular silicon vendor kernels such as Xilinx, nVidia, ST Micro, TI and NXP. All releases are QA validated in our automated testing system.

We support our customers integrating backports in different Linux build environments including Yocto, Buildroot and PetaLinux. Please contact support if integration assistance is needed.

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

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

 

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

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.

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.

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 to set radio to Soft AP mode?

If you don't want simultaneous ap/sta, you can run the commands:

nmcli conn add type wifi ifname wlan0 con-name softAP autoconnect no ssid softAP

nmcli conn modify softAP 802-11-wireless.mode ap 802-11-wireless.band bg 802-11d

nmcli conn up softAP

You can also do it via wpa_supplicant .conf files if you do not have nmcli.

 

 

When I try to get my Bluetooth interface up on the UART using "patchram" I receive the error "can't set line discipline"?

When the error "can't set line discipline" occurs when the patchram tool is used to bring up the Bluetooth HCI-UART device it is very likely that the "Bluetooth HCI UART" driver (or module) is not enabled in the Linux kernel configuration as module.

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