Establishing a BLE 2M PHY connection between the nRF8240 and a MacBook Pro M1 running Mac OS Monterey

Dear Nordic,

We're developing an application using the nRF52840 as a peripheral. In the role of central we have three different devices we're using:.

  1. Android Pixel phone 
  2. Samsung Tablet running Android
  3. 2021 MacBook running Mac OS Monterey v12.05

Using a second nRF8240 as a sniffer connected to Wireshark, we are able to see the communication between the central and the peripheral. 

When the first two device connect to the nRF5280, the PHY rate in both directions is 2M. The screenshot below taken off the Wireshark demonstrates this.


However, when the MacBook Pro connects to the nRF52840, the PHY rates is only 1M. The screenshot below shows this.

I've captured the LL_VERSION_IND messages from both the central and the peripheral (see below). They both show Bluetooth v5.2. I've also captured the LL_FEATURE_REQ and LL_FEATURE_RSP messages from the central and peripheral (see below) showing that both devices support the 2M PHY.

Is there a way to configure either the nRF5280 or the MacBook to force the PHY to be 2M?

Thank you.



  • Hi Peter,

    The central is free to stay with 1 MBps if it wants (for any reason), and I cannot say why the Macbook behaves this way. However, the peripheral can request a PHY update by doing a PHY update procedure. Have you tried that? If using the nRF5 SDK and SoftDevice, you can use sd_ble_gap_phy_update(), and if using nRF Connect SDK, use bt_conn_le_phy_update().