Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dea946b0 authored by Hansong Zhang's avatar Hansong Zhang
Browse files

Add documentation for enabling PTS mode

Test: not needed
Change-Id: I8a65e3a4bac4de72ec20c73e6b553f2565c9e1de
parent 75979011
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
# 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:

```sh
adb shell setprop persist.bluetooth.pts true
```

To disable it:

```sh
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.