Skip to content

Not able to keep PHY at 1M when connecting with iPhone #89889

@mahori-ravinder

Description

@mahori-ravinder

Describe the bug

I (Peripheral) wants to connect with iPhone(Central) and make sure connection PHY is 1M.
Please note that my device (peripheral) supports 2M, i just want to use 1M.
I tried the recommended settings (gathered by reading zephyr doc + google search), but the iPhone moves the PHY to 2M after connection.

To Reproduce
To make this happen i set following config params

CONFIG_BT_CTLR_PHY_2M=n
CONFIG_BT_CTLR_PHY_CODED=n

CONFIG_BT_USER_PHY_UPDATE=y

CONFIG_BT_PHY_UPDATE=n
//https://devzone.nordicsemi.com/f/nordic-q-a/119628/how-to-set-cis-phy-to-1m-in-le-audio
CONFIG_BT_AUTO_PHY_UPDATE=n

The expectation was that connection will happen at 1M.

The initial connection happens at 1M. After that iPhone sends a phy request (preferring 2M), my device (peripheral) responds with PHY response (preferring 2M). This leads to PHY moving to 2M.

See below screen grab of OTA.

Image

Expected behavior
iPhone ends phy request (preferring 2M) and my device (peripheral) responds with PHY response (preferring 1M).

Please note: as a work around i created a fork of zephyr (#87810) . This makes use of LE_SET_DEFAULT_PHY HCI commands. This enables me to achieve right behaviour (See OTA below)

Image

Environment (please complete the following information):
Zephyr OS build ba3251d

What configuration i need to do to achieve the desired behaviour?

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions