Fluoride Bluetooth Profile Tuning Suite (PTS) Test Mode

This document provides commands to enable PTS test mode for Fluoride stack. We need special handling for some test cases as they are not applicable for the Fluoride stack.

PTS Test Mode system property

Profile services in packages/apps/Bluetooth uses system property persist.bluetooth.pts to check if the PTS test mode is enabled. To enable it:

adb shell setprop persist.bluetooth.pts true

To disable it:

adb shell setprop persist.bluetooth.pts false

Current use case

  • In newavrcp, we send active player update to remote device only in PTS test mode (AVRCP/TG/MPS/BV-05-C AVRCP/TG/MPS/BV-07-C).

PTS Helpers in stack config

Native stack also requires some special handling, and the config is stored in conf/bt_stack.conf. To enable a flag, uncomment the corresponding line and push the config file to /etc/bluetooth/ in IUT.

Current use case

  • PTS_SecurePairOnly enables secure connections only mode.
  • PTS_DisableConnUpdates disables LE Connection updates.
  • PTS_DisableSDPOnLEPair disables BR/EDR discovery after LE pairing to avoid cross key derivation errors.
  • PTS_SmpOptions sets SMP Pair options (formatted as hex bytes) auth, io, ikey, rkey, ksize.
  • PTS_AvrcpTest enables AVRCP test mode. The UID is set to 0xffffffffffffffff in TrackChangedNotificationResponse (AVRCP/TG/NFY/BV-04-C).
  • PTS_SmpFailureCase enables handling for various SMP failure cases.