Skip to main content
To debug Bluetooth issues, use host logs or over-the-air (OTA) logs. Host logs include Logcat and BTSnoop (stack)/HCI logs. You can use these logs for initial debugging. The following table lists the logs required to debug different Bluetooth issues.

Debug BlueZ stack

Before you enable or collect logs, do the following:
  1. Enable SSH to access your host device. For instructions, see Sign in using SSH.
  2. Place the DUT and the remote device in the Bluetooth vicinity.
  3. Run the SSH in command prompt using the following command:
    Example If the IP address of the device is 10.92.160.222, run the following command:
  4. Connect to the SSH by entering the following password:

Enable BlueZ logs

To enable BlueZ logs, do the following in SSH:
  1. Enable read and write permissions by running the following command:
  2. Open the Bluetooth service file in a text editor. Example To open the bluetooth.service file in a VI editor, run the following command:
  3. Append -d option to the following line in the file:
  4. Save the file.
  5. Reload the Bluetooth daemon by running the following command:
  6. Restart Bluetooth by running the following command:

Collect BlueZ logs

  • To collect BlueZ user space logs, run the following command in SSH:
  • To collect all logs, run the following command in SSH:

Collect snoop logs

To collect snoop logs, do the following in SSH:
  1. Run the hcidump tool.
  2. Save the file by running the following command:
    Example To save the snoop logs to snoop.log file, run the following command:
    If the device has multiple HCI interfaces, specify the target interface with the -i option when capturing the snoop log. Run hciconfig first to identify the available interfaces. Sample output
    To capture the snoop log on hci1, run the following command:
    Sample output

Enable PipeWire logs

To enable PipeWire logs, do the following in SSH:
  1. Open the PipeWire configuration file in a text editor. Example To open the pipewire.conf file in a VI editor, run the following command:
  2. Uncomment the log level and set it to 4 or 5.
  3. Save the file.
  4. Reload the Bluetooth daemon by running the following command:
  5. Restart PipeWire by running the following command:

Enable WirePlumber service logs

To enable WirePlumber service logs, do the following:
  1. Verify the status of the WirePlumber service by running the following command:
  2. Open the WirePlumber service file in a text editor. Example To open the wireplumber.service file in a VI editor, run the following command:
  3. Add the the following debug variable to all the service sections in the file:
  4. Save the file.
  5. Reload the Bluetooth daemon by running the following command:
  6. Restart the WirePlumber service by running the following command:
  7. Validate the status of the service to verify if it’s running with the specified flags.

Enable logs of ofono service

To enable logs of ofono service, do the following in SSH:
  1. Verify the status of the ofono service by running the following command:
    Sample output
  2. Open the ofono service file in a text editor. Example To open the ofono.service file in a VI editor, run the following command:
  3. Append -d option to the following line in the file:
  4. Save the file.
  5. Reload the Bluetooth daemon by running the following command:
  6. Restart the ofono service by running the following command:
  7. Validate the status of the service to verify if it’s running with the specified flags.

Collect SSR dump logs

In Qualcomm Linux software, if any Bluetooth subsystem module crashes, the SSR functionality collects the required firmware crash dumps in the Bluetooth driver. It then restarts the Bluetooth subsystem. The crash dump file is at the /var/spool/crash/ directory. Consider the following points about SSR logging:
  • To verify if SSR logs are enabled or disabled, run the following command:
    Return:
    • 1: SSR logging is disabled.
    • 0: SSR logging is enabled.
  • To enable SSR logs, run the following command:
  • To collect SSR logs manually, do the following:
    To collect the SSR crash dump manually, ensure that the device Bluetooth is on.
    1. Run the hcitool tool.
    2. Send the crash command to the controller by running the following command:
      Sample output
      The crash triggered generates a BIN file at the /var/spool/crash/ directory. Sample output
    3. Ensure that the BIN file is generated at the /var/spool/crash/ directory.
A userspace dump collection tool isn’t installed by default. Install or configure a tool (for example, systemd-coredump or kdump-tools) to save the dump to /var/spool/crash/.If you observe any timeout or Bluetooth hardware error, contact Qualcomm and share the BIN file.
SSR limitation on IQ-9075 and IQ-8275On IQ-9075 and IQ-8275 platforms, SSR has a known limitation: If the crash is caused by corrupted RAM patch data in memory, SSR alone can’t fully recover the Bluetooth subsystem. A platform reboot is required to restore normal operation.