Sona IF and Sterling LWBx Regulatory Utility

Introduction

Ezurio supports a set of tools for use with the Sona IF series and Sterling LWB+/LWB5+ family during the regulatory certification process. This application note provides information on these tools and how to use them. These tools are not supported on the Sterling LWB and LWB5.

In order to support multiple platform architectures, Ezurio makes available several different versions of the regulatory tools package.

Table 1: PackageNames

Platform Name
arm soft-float regIF573/regIF513/regLWBplus/regLWB5plus-arm-eabi-\<version>.sh
arm hard-float regIF573/regIF513/regLWBplus/regLWB5plus-arm-eabihf-\<version>.sh
arm 64-bit regIF573/regIF513/regLWBplus/regLWB5plus-aarch64-\<version>.sh
x86 32-bit regIF573/regIF513/regLWBplus/regLWB5plus-x86-\<version>.sh
x86 64-bit regIF573/regIF513/regLWBplus/regLWB5plus-x86_64-\<version>.sh
PowerPC 64-bit regIF573/regIF513/regLWBplus/regLWB5plus-powerpc64-e5500-\<version>.sh
Other Contact Ezurio and provide toolchain so tools can be cross-compiled for desired platform

Installation

To install the regulatory tools copy regIF573/regIF513/regLWBplus/regLWB5plus-\<arch>-\<version>.sh to the target device and invoke it with the paramater install.

./regLWB5plus-arm-eabihf.sh install
Installing lru to /usr/bin/lru
Installing btlru to /usr/bin/btlru
Installing brcmfmac4373-div-mfg.txt to /lib/firmware/brcm/brcmfmac4373-div-mfg.txt
Installing libedit.lrd.so.0.0.60 to /usr/lib/libedit.lrd.so.0.0.60
Installing brcmfmac4373-sdio-mfg.bin to /lib/firmware/brcm/brcmfmac4373-sdio-mfg.bin
Installing brcmfmac4373-usb-div-mfg.bin to /lib/firmware/brcm/brcmfmac4373-usb-div-mfg.bin
Installing brcmfmac4373-usb-sa-mfg.bin to /lib/firmware/brcm/brcmfmac4373-usb-sa-mfg.bin

The install script will copy the tools and necessary supporting items to the proper location on the device.

Note: Manual configuration of firmware files to support regulatory test mode is still required; see Setup for details.

If after following these steps the tools still won't run, see Troubleshooting for additional suggestions to resolve the issue.

To uninstall the regulatory tools, invoke regIF573/regIF513/regLWBplus/regLWB5plus-\<arch>-\<version>.sh with the parameter uninstall.

# ./regLWB5plus-arm-eabihf.sh uninstall

Note: Firmware files must be manually changed back to production versions after the tools are uninstalled

Setup

The Wi-Fi Regulatory Utility (lru) requires that special manufacturing firmware files be used. The regulatory package includes the manufacturing firmware files and the installation step copies them to the firmware directory.

The following tables show the links that must exist for the manufacturing firmware to load correctly for each supported radio variant. Note that the links will already exist to support the normal production mode. However, some of the links must be manually modified to point to manufacturing firmware files. Not all links will need to be modified; most files are the same in both production and manufacturing modes. Files that must be manually changed have been bolded.

See the following for an example of changing a firmware file link:

cd /lib/firmware/brcm
ln -sf brcmfmac4373-sdio-mfg_<version>.bin brcmfmac4373-sdio.bin
ln -sf brcmfmac4373-div-mfg.txt brcmfmac4373-sdio.txt

Reboot device.

Sona IF573 PCIE/UART

Soft Link Target File - Normal Mode Target File - Mfg Mode
cyfmac55572-pcie.trxse cyfmac55572-pcie-prod_\<version>.trxse cyfmac55572-pcie-mfg_\<version>.trxse
cyfmac55572-pcie.txt cyfmac55572-if573.txt cyfmac55572-if573.txt
cyfmac55572-pcie.clm_blob cyfmac55572-if573_\<version>.clm_blob cyfmac55572-if573_\<version>.clm_blob
CYW55560A1.hcd CYW55560A1_\<version>.hcd CYW55560A1_\<version>.hcd

Sona IF573 SDIO/UART

Soft Link Target File - Normal Mode Target File - Mfg Mode
cyfmac55572-sdio.trxse cyfmac55572-sdio-prod_\<version>.trxse cyfmac55572-sdio-mfg_\<version>.trxse
cyfmac55572-sdio.txt cyfmac55572-if573.txt cyfmac55572-if573.txt
cyfmac55572-sdio.clm_blob cyfmac55572-if573_\<version>.clm_blob cyfmac55572-if573_\<version>.clm_blob
CYW55560A1.hcd CYW55560A1_\<version>.hcd CYW55560A1_\<version>.hcd

Sona IF513 SDIO/UART Single Antenna

Soft Link Target File - Normal Mode Target File - Mfg Mode
cyfmac55500-sdio.trxse cyfmac55500-sdio-prod_\<version>.trxse cyfmac55500-sdio-mfg_\<version>.trxse
cyfmac55500-sdio.txt cyfmac55500-if513-sa.txt cyfmac55500-if513-sa.txt
cyfmac55500-sdio.clm_blob cyfmac55500-if513_\<version>.clm_blob cyfmac55500-if513_\<version>.clm_blob
CYW55500A1.hcd CYW55500A1_\<version>.hcd CYW55500A1_\<version>.hcd

Sona IF513 SDIO/UART with Diversity Antenna

Soft Link Target File - Normal Mode Target File - Mfg Mode
cyfmac55500-sdio.trxse cyfmac55500-sdio-prod_\<version>.trxse cyfmac55500-sdio-mfg_\<version>.trxse
cyfmac55500-sdio.txt cyfmac55500-if513-div.txt cyfmac55500-if513-div.txt
cyfmac55500-sdio.clm_blob cyfmac55500-if513_\<version>.clm_blob cyfmac55500-if513_\<version>.clm_blob
CYW55500A1.hcd CYW55500A1_\<version>.hcd CYW55500A1_\<version>.hcd

LWB+

Soft Link Target File - Normal Mode Target File - Mfg Mode
brcmfmac43439-sdio.bin brcmfmac43439-sdio-prod_\<version>.bin brcmfmac43439-sdio-mfg_\<version>.bin
N/A brcmfmac43439-sdio.txt brcmfmac43439-sdio.txt
N/A brcmfmac43439-sdio.clm_blob brcmfmac43439-sdio.clm_blob
N/A BCM4343A2.hcd BCM4343A2.hcd

LWB5+ SDIO/UART Single Antenna

Soft Link Target File - Normal Mode Target File - Mfg Mode
brcmfmac4373-sdio.bin brcmfmac4373-sdio-prod_\<version>.bin brcmfmac4373-sdio-mfg_\<version>.bin
brcmfmac4373-sdio.txt brcmfmac4373-sa.txt brcmfmac4373-sa.txt
brcmfmac4373-sdio.clm_blob brcmfmac4373-clm-sa.clm_blob brcmfmac4373-clm-sa.clm_blob
BCM4373A0.hcd BCM4373A0-sdio-sa.hcd BCM4373A0-sdio-sa.hcd

LWB5+ SDIO/UART M.2 with Diversity Antenna

Soft Link Target File - Normal Mode Target File - Mfg Mode
brcmfmac4373-sdio.bin brcmfmac4373-sdio-prod_\<version>.bin brcmfmac4373-sdio-mfg_\<version>.bin
brcmfmac4373-sdio.txt brcmfmac4373-div.txt brcmfmac4373-div-mfg.txt
brcmfmac4373-sdio.clm_blob brcmfmac4373-clm-div.clm_blob brcmfmac4373-clm-div.clm_blob
BCM4373A0.hcd BCM4373A0-sdio-div_\<version>.hcd BCM4373A0-sdio-div_\<version>.hcd

LWB5+ SDIO/UART M.2 with Single Antenna

Soft Link Target File - Normal Mode Target File - Mfg Mode
brcmfmac4373-sdio.bin brcmfmac4373-sdio-prod_\<version>.bin brcmfmac4373-sdio-mfg_\<version>.bin
brcmfmac4373-sdio.txt brcmfmac4373-sa-m2.txt brcmfmac4373-sa-m2.txt
brcmfmac4373-sdio.clm_blob brcmfmac4373-clm-sa-m2.clm_blob brcmfmac4373-clm-sa-m2.clm_blob
BCM4373A0.hcd BCM4373A0-sdio-sa-m2_\<version>.hcd BCM4373A0-sdio-sa-m2_\<version>.hcd

LWB5+ USB/USB Single Antenna

Soft Link Target File - Normal Mode Target File - Mfg Mode
brcmfmac4373.bin brcmfmac4373-usb-sa-prod_\<version>. bin brcmfmac4373-usb-sa-mfg_\<version>.bin
brcmfmac4373.clm_blob brcmfmac4373-clm-sa.clm_blob brcmfmac4373-clm-sa.clm_blob
BCM4373A0-04b4-640c.hcd BCM4373A0-usb-sa_\<version>.hcd BCM4373A0-usb-sa_\<version>.hcd

LWB5+ USB/USB M.2 with Diversity Antenna

Soft Link Target File - Normal Mode Target File - Mfg Mode
brcmfmac4373.bin brcmfmac4373-usb-div-prod_\<version>.bin brcmfmac4373-usb-div-mfg_\<version>.bin
brcmfmac4373.clm_blob brcmfmac4373-clm-div.clm_blob brcmfmac4373-clm-div.clm_blob
BCM4373A0-04b4-640c.hcd BCM4373A0-usb-div_\<version>.hcd BCM4373A0-usb-div_\<version>.hcd

LWB5+ USB/USB M.2 with Single Antenna

Soft Link Target File - Normal Mode Target File - Mfg Mode
brcmfmac4373.bin brcmfmac4373-usb-sa-m2-prod_\<version>.bin brcmfmac4373-usb-sa-m2-mfg_\<version>.bin
brcmfmac4373.clm_blob brcmfmac4373-clm-sa-m2.clm_blob brcmfmac4373-clm-sa-m2.clm_blob
BCM4373A0-04b4-640c.hcd BCM4373A0-usb-sa-m2_\<version>.hcd BCM4373A0-usb-sa-m2_\<version>.hcd

Application Interference

When running any regulatory test, a user mode application could interfere with the test. For example, an application could request a channel scan from the radio while the radio is performing a continous transmit test. When this occurs, the radio may crash or stop transmitting resulting in a short burst of data. To prevent such interference, disable all daemons and applications not required to run the regulatory test.

The following table shows some user mode applications that must be disabled for the lru to operate properly.

Application Mitigation
Network Manager killall NetworkManager
WPA Supplicant killall wpa_supplicant
WPA Supplicant killall sdcsupp
hostapd killall hostapd

Wi-Fi Regulatory Utility (lru)

The lru is used by OEMs to control the Wi-Fi portion of the radio during regulatory certification testing.

To use lru invoke lru from the command console. Once invoked successfully, the command prompt will change to lru :\>. From there ? can be used to obtain information on available commands and parameters.

The lru will search sysfs during initialization to find the first appropriate device to use. If the lru is unable to determine the appropriate device, it defaults to using wlan0 for Wi-Fi devices.

Note: To specify a Wi-Fi interface other than the default, use the -i <interface> command line option when invoking the tool.

# lru
Laird Regulatory Utility
Using wireless device wlan0 (6)
Module type: LWB5+ Diversity Antenna (M.2)
lru :>?
lru :> <command> <option> [argument]
commands:
    tx  -> Continuous Transmit
    cw  -> Carrier Wave
    rx  -> Continuous Receive
    cfg -> Configuration Sub Menu
    off -> Off
    s   -> Current configuration
    ?   -> Help
    x   -> Exit
options:
    -c [1-13 |36-165]           -> Channel Number
    -b [20 | 40 | 80]           -> Bandwidth
    -r [1-54 | h0-h7 | v0-v9]   -> Data Rate
    -w [1-900]                  -> Script mode wait time (sec)
    -i <interface>              -> Interface

Ver x.x.x.x

lru :>

Before starting any testing, verify that the regulatory domain, and if necessary antenna and test mode, are configured correctly. This can be done by issuing the cfg command.

Note: The radio will remain in a particular test mode until that test is turned off using the off command. Each test should be stopped using the off command before starting another test.

See Test Descriptions for test details and examples.

When finished, exit lru (x), change the firmware soft links back to normal production files, and reboot.

Test Descriptions

Constant Transmit

The Constant Transmit (tx) test transmits a continuous stream of packets on the specified channel at the specified rate and channel width at the maximum power allowed for that combination in the configured regulatory domain. This is the test that will be required for most regulatory compliance screening. Transmission occurs on both antennas for 2x2 radios (Sona IF573) and on a single antenna for 1x1 radios. 1x1 radios with antenna diversity (2 antennas) transmit on the configured antenna only.

See the following table for rate descriptions and valid specifiers used with the -r parameter:

Rate Type Specifier
Legacy (802.11b) 1, 2, 5, 11
Legacy (802.11a/g) 6,9,12,18,24,36,48,54
HT (802.11n) h0-h7 (1x1 radios), h0-h15 (2x2 radios (Sona IF573))
VHT (802.11ac) v0-v9
HE (802.11ax) e0-e11

Note: Ensure that Test Mode has been configured for 2.4G/5G or 6G as required if testing with a Sona IF series radio

Continuous Transmit on channel 1 (20 MHz), legacy rate 5.5Mbps

lru :>tx -c 1 -b 20 -r 5

Continuous Transmit on channel 36 (20 MHz), HT (802.11n) rate MCS7

lru :>tx -c 36 -b 20 -r h7

Continuous Transmit on channel 38 (40 MHz), VHT (802.11ac) rate MCS4

lru :>tx -c 36 -b 40 -r v4

Note: When transmitting using a 40/80 channel width specify the 20 Mhz control channel and bandwith, and LRU will determine the appropriate secondary channel(s) to use.

Continuous Transmit on 6GHz channel 1 (20 MHz), HE (802.11ax) rate MCS0 (Sona IF series only)

lru :>tx -c 1 -b 20 -r e0

Note: This assumes that Test Mode has been configured for 6G. It is also possible to set the test mode directly on the test command line with the -m parameter. The test mode setting will persist to future tests as long as the lru is running regardless of how it was configured:

lru :>tx -c 1 -m 6g -b 20 -r e0

Constant Transmit - OFDMA (Partial RU)

The Sona IF series supports partial RU OFDMA transmissions. These transmissions are supported by the lru by additionally specifying RU size and index with --ru <size>-<index>.

See the following table for valid partial RU sizes and index values for each supported channel width:

20MHz Channel Width

RU Size RU Index Range
26 1-9
52 1-4
106 1-2
242 1

40MHz Channel Width (Sona IF573 only)

RU Size RU Index Range
26 1-18
52 1-8
106 1-4
242 1-2
484 1

80MHz Channel Width (Sona IF573 only)

RU Size RU Index Range
26 1-37
52 1-16
106 1-8
242 1-4
484 1-2
996 1

Continuous Transmit on 6GHz channel 1 (20 MHz), HE (802.11ax) rate MCS0 with OFDMA partial RU size 26 at index 1 (Sona IF series only)

lru :>tx -c 1 -m 6g -b 20 -r e0 --ru 26-1

Carrier Wave

The Carrier Wave (cw) test transmits an unmodulated signal at the center frequency of the specified channel. This test is generally not required for regulatory compliance screening, but may be requested in some jurisdictions. This test requires only the channel and channel width.

Carrier Wave on channel 1 (20MHz)

lru :>cw -c 1 -b 20

Carrier Wave on channel 38 (40MHz)

lru :>cw -c 36 -b 40

Regulatory Domain Configuration

The regulatory domain must be correctly configured in the lru configuration menu prior running tests. The lru uses the regulatory domain configured in the utility for all tests.

Note: The regulatory domain configured in the lru is only applicable while the lru is running. The setting does not persist once the utility exits.

Note: See the Regulatory Release Notes for a list of supported regulatory domains and associated channel sets for each radio.

The configuration menu is entered using the cfg command.

lru :>cfg
WiFi Configuration Menu:
    Domain: FCC
    Antenna: ANT0
cfg :>?
Configuration menu
options:
    -d [FCC | IC | ETSI | JP | AU | CN | TW] -> Set Domain
    -a [ANT0 | ANT1]                         -> Select Antenna (Diversity Antenna/M.2 only)
     x                                       -> Return to previous menu

WiFi Configuration Menu:
    Domain: FCC
    Antenna: ANT0
cfg :>

Note: The set of available configuration options varies depending on the underlying radio.

To set the regulatory domain, use the -d command. If the setting is successful the lru will reflect the new setting in its status and help commands. Use x to return to the previous menu.

Test Mode Configuration (Sona IF Series Radios Only)

The 6G band uses channel numbers that span the 2G and 5G channel sets and beyond. All test commands require the channel number as a parameter so it is necessary to specify whether the channel number is 2G/5G or 6G if the radio supports the 6G band. The lru does this via a Test Mode configuration option that indicates how channel numbers should be interpreted. The lru interprets the channel number parameter specified for each test based on the Test Mode configuration currently in effect.

Note: The Test Mode configuration is only available when a Sona IF series radio supporting the 6G band is present.

The configuration menu is entered using the cfg command.

lru :>cfg
WiFi Configuration Menu:
    Domain:             FCC
    Test mode:          2.4G/5G
cfg :>?
Configuration menu
options:
    -d        [FCC | IC | ETSI | JP | AU | NZ]              -> Set Domain
    -m/--mode [2g5g | 6g]                                   -> Test mode (2.4/5G vs 6G)
     x                                                      -> Return to previous menu

WiFi Configuration Menu:
    Domain:             FCC
    Test mode:          2.4G/5G
cfg :>

Note: The set of available configuration options varies depending on the underlying radio.

To set the test mode, use the -m command. If the setting is successful the lru will reflect the new setting in its status and help commands. Use x to return to the previous menu.

Antenna Configuration (LWB5+/IF513 Diversity Only)

Regulatory tests generally require testing be performed on all available antennas simultaneously where applicable. Radios with two antennas are either 1x1 SISO radios with diversity, or they are 2x2 MIMO radios. A 1x1 radio with diversity can only transmit on one antenna at a time, whereas a 2x2 radio transmits on both antennas simultaneously. The lru allows the antenna under test to be configured when the underlying radio is a two antenna 1x1 radio with diversity. There is no option for antenna configuration when the underlying radio is single antenna or 2x2.

Note: The Sterling LWB5+ and IF513 are the only 1x1 radios that support a diversity antenna architecture. Antenna configuration is only available in the lru when a radio configured for diversity antenna operation is present.

The configuration menu is entered using the cfg command.

lru :>cfg
WiFi Configuration Menu:
    Domain: FCC
    Antenna: ANT0
cfg :>?
Configuration menu
options:
    -d [FCC | IC | ETSI | JP | AU | CN | TW] -> Set Domain
    -a [ANT0 | ANT1]                         -> Select Antenna (Diversity Antenna/M.2 only)
     x                                       -> Return to previous menu

WiFi Configuration Menu:
    Domain: FCC
    Antenna: ANT0
cfg :>

Note: The set of available configuration options varies depending on the underlying radio.

To set the antenna, use the -a command. If the setting is successful the lru will reflect the new setting in its status and help commands. Use x to return to the previous menu.

Bluetooth Regulatory Utility (btlru)

The Bluetooth regulatory utility (btlru) is used to support regulatory testing for both Classic Bluetooth (BR/EDR) and Bluetooth Low Energy (BLE). Classic Bluetooth testing is generally performed by putting the Bluetooth radio into the standard Device Under Test (DUT) mode, where it can then be controlled over the air using external test equipment. The btlru supports putting the Bluetooth radio into DUT mode. The btlru also supports proprietary BR/EDR test modes that can be controlled locally on the device using the btlru command interface. Ezurio recommends using the standard DUT test mode when possible.

The Bluetooth Low Energy specification defines a standard Direct Test Mode with transmit and receive test commands that are initiated locally on the device. The btlru implements these commands.

Note: The btlru is only supported with the Linux BlueZ stack.

Setup

The Bluetooth regulatory utility (btlru) uses standard production production Bluetooth firmware. There are no firmware file links to change as there are with the Wi-Fi regulatory utility.

The Bluetooth device must be attached to the host BlueZ stack and powered up just as it is during regular operation. How this is done depends on the device type and tools available on the host platform. Devices with a UART Bluetooth interface that are not managed with serdev typically use btattach to attach to the BlueZ stack:

btattach -B /dev/<tty> -P bcm &

Devices with a UART Bluetooth interface that are managed by serdev, and the Sterling LWB5+ radio with a USB Bluetooth interface are automatically attached to the Bluetooth stack during bus enumeration.

Once attached, the Bluetooth device must be powered on before using the btlru:

bluetoothctl power on

To use btlru invoke btlru from the command console. Once invoked successfully, the command prompt will change to btlru :\>. From there ? can be used to obtain information on the commands and parameters used to run regulatory tests.

The btlru will search sysfs during initialization to find the first HCI device to use. If the btlru is unable to find a device, it defaults to using hci0.

Note: To specify a Bluetooth interface other than the default, use the -i <interface> command line option when invoking btlru.

# btlru
Using bluetooth device hci0
btlru :>?
btlru :> <command> <option> [argument]
commands:
    tm  -> Enable BD/EDR Test Mode
    tx  -> Continuous BT Transmit
    cw  -> Carrier Wave transmit
    rx  -> Continuous BT Receive
    cfg -> Configuration Sub Menu
    off -> Off
    s   -> Current configuration
    ?   -> Help
    x   -> Exit
BT cmd options:
    -c [0 - 78]                                         -> BT Channel Number
    -t [DM[1,3,5], DH[1,3,5], 2DH[1,3,5], 3DH[1,3,5]    -> BT Packet Type
    -p [0, 1, P9, AA, F0]                               -> BT Payload Pattern
    -l [-1, 0-max]                                      -> BT Payload Length
    -h [0, 1]                                           -> BT Hopping Mode (0:fixed, 1:hop)
    -a [xx-xx-xx-xx-xx-xx]                              -> BT RX Tx Bd Address
    -w [1-900]                                          -> Script mode wait time (sec)
    -i <interface>                                      -> BT Interface Name
Ver x.x.x.x:

btlru :>

Before starting any testing, verify that the BT Mode is configured correctly. This can be done by issuing the cfg command.

Note: The radio will remain in a particular test mode until that test is turned off using the off command. Each test should be stopped using the off command before starting another test.

See Test Descriptions for test details and examples.

When finished, exit btlru (x) and reboot.

Test Descriptions

BR/EDR - Enter DUT mode

Enter Device Under Test (DUT) mode for automated Bluetooth Classic (BR/EDR) testing controlled over the air by external test equipment such as a CMW270. This is the recommended way to test Bluetooth Classic as it uses a standard test protocol. It should be used instead of locally initiated tests if test equipment is available.

No additional parameters are required to enter Device Under Test mode.

btlru :>tm

Once in DUT mode the external tester can connect to the device and perform required tests.

BR/EDR - Locally Initiated Connectionless Constant Packet Transmit

The Constant Transmit (tx) test transmits a continuous stream of packets of the specified packet type and with specified data pattern at the maximum power allowed for that combination. Transmission occurs either in a hopping mode across all channels or on a single fixed channel. If the hopping mode parameter is specified, the channel value is ignored. If hopping mode parameter is not specified transmission occurs on a single channel. The maximum possible packet length is used by default.

Note: BR/EDR channel numbering follows standard Bluetooth Classic numbering, with channel 0 at 2402MHz through channel 78 at 2480MHz.

Continuous Transmit on channel 1 (2403MHz), using packet type DM1 with a PRBS9 data pattern

btlru :>tx -c 1 -t DM1 -p P9

Continuous Transmit hopping across all channels, using packet type 3DH5 with a PRBS9 data pattern

btlru :>tx -t 3DH5 -p P9 -h 1

BR/EDR - Locally Initiated Carrier Wave Transmit

The Carrier Wave (cw) test transmits a carrier wave at the specified frequency. The signal is modulated based on packet type if a type is specified, otherwise it is unmodulated.

Unmodulated Carrier Wave on channel 78

btlru :>cw -c 78

Modulated (8DPSK) Carrier Wave on channel 78

btlru :>cw -c 78 -t 3DH5

BLE - Constant Transmit

The BLE Constant Transmit (tx) test transmits a continuous stream of packets using the specified PHY and with specified data pattern at the maximum power allowed for that combination. This is a standard test defined by the Bluetooth Core specification. The packet length is maximum by default, but may be adjusted. Test Mode must be set to LE to perform this test.

Note: BLE channels in btlru are numbered from 0-39, and sequentially map to 2MHz channels starting at 2402MHz. This differs from the official BLE physical channel index to RF Channel/frequency mapping.

The PHY types are specified with the -t parameter as follows:

Parameter Description
1 1M PHY
2 2M PHY
LR2 Long Range/Coded PHY, S=2
LR8 Long Range/Coded PHY, S=8

Note: The Sterling LWBx radios do not support the optional 2M and LR PHYs.

Continuous Transmit test on channel 0 (2402MHz) with a PRBS9 data pattern using the 1M PHY

btlru :>tx -c 0 -p p9 -t 1

Continuous Transmit test on channel 39 (2480MHz) with a PRBS9 data pattern using the 2M PHY (Sona IF series only)

btlru :>tx -c 39 -p p9 -t 2

BT Mode Configuration

The btlru must be configured for BT (BR/EDR - Classic) or LE (BLE - Low Energy) mode. Configuration is done in the cfg menu.

btlru :>cfg
BT Configuration Menu:
    Mode: BT
cfg :>?
Configuration menu
options:
    -m [BT | LE]    -> BT mode
    x               -> Return to previous menu

BT Configuration Menu:
    Mode: BT

cfg :>-m LE
BT Configuration Menu:
    Mode: BLE
cfg :>x
btlru :>

To set the test mode, use the -m command. If the setting is successful the btlru will reflect the new setting in its status and help commands. Use x to return to the previous menu.

Scripting

Both lru and btlru support the ability to be scripted. Whenever a cmd and set of paramters are passed in from the console command line, btlru/lru will run the test and then exit rather than transitioning into the btlru/lru command line. In order to run the test for a certain amount of time, include the -w <seconds> option to inform btlru/lru how long to run the test before turning the test off and exiting.

In addition when running in script mode, the config submenu options can be passed in from the console command line.

# lru tx -c 1 -r 6 -d IC -w 10
Laird LWB+/LWB5+ Regulatory Utility
Using wireless device wlan0 (6)
Module type: Single Antenna
Running in script mode...
Running Test:   Continuous Tx
Reg Domain:     IC
Antenna:        ANT0
Channel:        1
Rate:           6
Bandwidth:      20 MHz
Regulatory testing complete.

Troubleshooting

Error Messages

Receive msg failed -28

All vendor tools require administrative privileges. Try running again using 'sudo' or login with a user that has administrative privileges.

Failed to find BT hci interface

Verify that the bluetooth interface is powered on.

Library Dependencies

The LWB5+ regulatory tools depend on small number of shared libaries on the host platform. These dependencies are listed in the following table.

*Table 9: Tool Library Dependencies

Tool Library
lru
libnl-genl-3.so.200
libnl-3.so.200
libedit.so.0
btlru
libedit.so.0
libbluetooth.so.3

Many times if a regulatory tool fails to run, it is because a library dependency is missing or has a different version number. This can often be overcome by adding a symbolic link that points to an appropriate library on the device. Typically these libraries are located under /usr/lib.

For example:

cd /usr/lib
ls -al libnl-genl-*

Returns:

-rwxr-xr-x 1 root root 14324 Nov 27 2018 libnl-genl-3.so.200.26.0

Then:

ln -sf libnl-genl-3.so.200.26.0 libnl-genl-3.so.200
ls -al libnl-genl-*

Returns:

lrwxrwxrwx 1 root root    24 Nov 27 2018 libnl-genl-3.so.200 -> libnl-genl-3.so.200.26.0
-rwxr-xr-x 1 root root 14324 Nov 27 2018 libnl-genl-3.so.200.26.0

Note: Some embedded platforms do not include libedit, therefore the installation package includes a version of this shared library at /lib/libedit.lrd.so.0.0.xx. To use create the appropriate symbolic link.