Overview

This guide covers how to operate and test with the beSTORM Bluetooth monitor.


Environment

Testing requires the following environment: 

  • beSTORM 12.9.4 or later (licensed)
  • Windows 10 or later
  • 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: If your Bluetooth device is not compatible with PyBluez, use the default beSTORM Monitor instead.
  • 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

To begin testing, do the following:

  1. In the Windows Device Manager, disable all devices under the Bluetooth category.
  2. Insert the CSR 4.0 USB Bluetooth dongle into your computer running Windows 10 or later. Windows will detect and install the driver for the dongle automatically.
  3. Open Windows Settings and under Bluetooth & other devices, confirm Bluetooth is set to On.
  4. Pair your DUT device with your computer (this example will use the Anker SoundCore Mini Bluetooth speaker).
    1. Note: If your DUT does not connect automatically, select Connect to pair the device.
  5. Important: If you are currently connected to a VPN, disconnect from it before proceeding with the next steps.
  6. Open the beSTORM BT Router.
  7. From the Devices list, select your DUT.
  8. From the Bluetooth Profiles list, select Advanced Audio Distribution Profile (A2DP).
  9. Select Start. The BT Router will establish a connection with the DUT and display “Established A2DP connection with: SoundCore mini.” 
  10. 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.
  11. Download the bluetooth_monitor.zip file attached to this guide.
  12. Right-click on the bluetooth_monitor.zip file, and then select Extract All.
  13. In the dialog, enter C:\Program Files (x86)\beSTORM\Monitors for the file path.
  14. Select Extract.
  15. 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.
  16. In the Windows search box, enter cmd.
  17. From the search results, right-click on Command Prompt and then select Run as administrator.
  18. 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):
    1. -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:
      1. In the Windows search box, enter Command Prompt.
      2. In the search results, right-click on Command Prompt, and then select Run as administrator.
      3. Enter netstat -nab, and then run the command.
      4. Find the beSTORM BT Router.exe process connection listening and make note of the corresponding IP address.
    2. -b, --bluetooth - Copy the MAC address of your DUT from the BT Router.
    3. -P, --port - (Optional) The UDP port beSTORM client listens to for monitor exceptions (default: 6969).
    4. -T, --timeout - (Optional) The time in seconds in between checks. Default is 1 second.
  19. 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.


Testing

  1. On the beSTORM computer, go to C:\Program Files (x86)\beSTORM , right-click beSTORM_Client.exe, and then select Run as administrator. 
  2. On the Welcome to beSTORM window, select New Project. The beSTORM New Project Wizard opens.
  3. On the Welcome page, do the following:
    1. In the Project name box, enter a name.
    2. Optionally, select a different file location for your project in the Location Name box.
    3. Leave all other parameters to their default setting.
  4. Select Next.
  5. On the Basic Configurationpage, do the following:
    1. In the beSTORM's predefined modules list, select Advanced Audio Distribution Profile.
    2. In the Hostname or IP address box, enter the IP address of the computer hosting the beSTORM BT Router.
    3. In the Remote Port box, enter 1521.
      1. 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:
        1. In the Windows search box, enter Command Prompt.
        2. In the search results, right-click on Command Prompt, and then select Run as administrator.
        3. Enter netstat -nab, and then run the command.
        4. Locate the beSTORM BT Router.exe process connection listening on port 1521 and make note of the corresponding IP address.
  6. Select Next.
  7. On the Module Environment page, review your parameter settings for the module.
  8. Select Next.
  9. On the Extra Configuration page, do the following:
    1. Set Saturation Rate Threshold to 1.
    2. Clear the ARP Echo, ICMP Echo, and UDP Echo checkboxes.
    3. Select External Monitor.
  10. Select Next.
  11. 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.
  12. If you chose to start testing, the combinations being tested are shown under Combinations Covered in the beSTORM Client.
  13. 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.