Bluetooth Regulatory Utility (btlru) The Bluetooth regulatory utility (btlru) is used to support Bluetooth Low Energy (BLE) regulatory testing. 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 All configurations use the same Bluetooth power settings. There is no special Bluetooth manufacturing firmware required. The standard WW configuration, or the optimized country specific configurations can be used. 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 h4 & Devices with a UART Bluetooth interface that are managed by serdev are automatically attached to the Bluetooth stack during bus enumeration. Note: The TI351 requires additional user space action to enable the Bluetooth UART. See the software integration guide for details. 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: tx -> Continuous LE Transmit rx -> Continuous LE Receive off -> Off s -> Current configuration ? -> Help x -> Exit LE cmd options: -c [0 - 39] -> LE Channel Number -t [1, 2, LR2, LR8] -> LE Phy Type 1M, 2M, LR/Coded S = 2, 8 -p [0, 1, P9, AA, F0, P15, 0F, 55] -> LE TX Payload Pattern -l [0 - 255] -> LE TX Payload Length -w [1-900] -> Script mode wait time (sec) -i <interface> -> BT Interface Name Ver x.x.x.x: btlru :> 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.