Overview
This guide covers how to operate and test with the beSTORM Bluetooth monitor.
Environment
Testing requires the following environment:
- A licensed copy of beSTORM
- Windows 10
- beSTORM Monitor
- beSTORM BT Router
- Python 3.x
- PyBluez library (install it by using the following command in Python 3.x: pip install pybluez)
Important: Not all Bluetooth devices are compatible with PyBluez in Windows. If PyBlueze does not work for you, use the default beSTORM Monitor. - The latest version of the bluetooth_monitor.py file, attached to this guide (bluetooth_monitor.zip)
- A device-under-test (DUT) that supports A2DP or HFP protocols (for example, Anker SoundCore Mini Bluetooth speaker)
- A CSR 4.0 USB Bluetooth dongle
Setup and testing
To begin testing, do the following:
- In the Windows Device Manager, disable all devices under the Bluetooth category.
- Insert the CSR 4.0 USB Bluetooth dongle into your computer running Windows 10. Windows will detect and install the driver for the dongle automatically.
- Open Windows Settings and under Bluetooth & other devices, confirm Bluetooth is set to On.
- Pair your DUT device with your computer (this example will use the Anker SoundCore Mini Bluetooth speaker).
- Note: If your DUT does not connect automatically, select Connect to pair the device.
- Note: If your DUT does not connect automatically, select Connect to pair the device.
- Important: If you are currently connected to a VPN, disconnect from it before proceeding with the next steps.
- Open the beSTORM BT Router.
- From the Devices list, select your DUT.
- From the Bluetooth Profiles list, select Advanced Audio Distribution Profile (A2DP).
Select Start. The BT Router will establish a connection with the DUT and display “Established A2DP connection with: SoundCore mini.”
- To proceed with testing, select Ring to test the connection noise, select Stop to stop the noise, and then select Start to begin listening to the device communicate.
- Download the bluetooth_monitor.zip file attached to this guide.
- Right-click on the bluetooth_monitor.zip file, and then select Extract All.
- In the dialog, enter C:\Program Files (x86)\beSTORM\Monitors for the file path.
- Select Extract.
- In the dialog that appears, select Replace the file in the destination.
Note: If you do not have administrator privileges, another dialog will appear. Select Continue to finish extracting and replacing the bluetooth_monitor.py file.
- In the Windows search box, enter cmd.
- From the search results, right-click on Command Prompt and then select Run as administrator.
- Run the Bluetooth monitor from any Windows computer by using the following command line parameters (for example, python bluetooth_monitor.py -H 127.0.0.1 -b c0:e8:62:68:7e:0d):
- -H, --host- The IP address of the beSTORM Client (if installed on the same computer, use 127.0.0.1). If beSTORM Client is installed on a different computer, do the following to discover its IP address:
- In the Windows search box, enter Command Prompt.
- In the search results, right-click on Command Prompt, and then select Run as administrator.
- Enter netstat -nab, and then run the command.
- Locate the beSTORM BT Router.exe process connection listening and make note of the corresponding IP address.
- -b, --bluetooth - Copy the MAC address of your DUT from the BT Router.
- -P, --port - (Optional) The UDP port beSTORM client listens to for monitor exceptions (default: 6969).
- -T, --timeout - (Optional) The time in seconds in between checks. Default is 1 second.
- -H, --host- The IP address of the beSTORM Client (if installed on the same computer, use 127.0.0.1). If beSTORM Client is installed on a different computer, do the following to discover its IP address:
- The monitor will check every few seconds (based on the timeout parameter: default is every 1 second) whether the DUT is up and available. If the DUT does not respond to two consecutive requests, the beSTORM Client will receive an exception message.
- Navigate to the beSTORM_Client.exe (C:\Program Files (x86)\beSTORM), right-click on it, and then select Run as administrator.
- Select New Project.
- In the Project Name box, enter a name for the project.
- In the Location box, select a folder to save the project in.
- Select Next.
- On the Basic Configuration page, from the beSTORM's predefined modules list, select Advanced Audio Distribution Profile.
- In the Hostname or IP address box, enter the IP address of the computer hosting the beSTORM BT Router.
In the Remote Port box, enter 1521.- Important: The IP address of the computer hosting BT Router may not use the usual local IP address 127.0.0.1. To discover its current IP address, do the following:
- In the Windows search box, enter Command Prompt.
- In the search results, right-click on Command Prompt, and then select Run as administrator.
- Enter netstat -nab, and then run the command.
- Locate the beSTORM BT Router.exe process connection listening on port 1521 and make note of the corresponding IP address.
- Important: The IP address of the computer hosting BT Router may not use the usual local IP address 127.0.0.1. To discover its current IP address, do the following:
- Select Next.
- On the Module Environment page, review your parameter settings for the module.
- Select Next.
- On the Extra Configuration page, do the following:
- Set Saturation Rate Threshold to 1.
- Clear the ARP Echo, ICMP Echo, and UDP Echo checkboxes.
- Select External Monitor.
- Select Next.
- On the Complete beSTORM wizard page, select Finish to start testing, or clear the Auto-start beSTORM scan now checkbox to exit the wizard and test later.
- If you chose to start testing, the combinations being tested are shown under Combinations Covered in the beSTORM Client.
- The beSTORM BT Router will display "Injecting A2DP data" and "Done streaming A2DP data" while the test runs. A consistent tick-tock sound may play through the speaker indicating it is receiving packets from beSTORM.