Hi @All_Seer,
An active connection between two devices is needed to send a successful Set_Phy command, if not, the HCI_Read_PHY command will not reflect any changes to the PHY mode in this case.
The HCI_LE_Set_Default_PHY command is used to set the default PHY for all future connections initiated by the local device, and it only affects future connections, not the current connection. Therefore, you cannot use this command to change the PHY mode of an existing connection or to see changes reflected in the HCI_Read_PHY command output.
If you want to change the PHY mode for an existing connection, you can use the HCI_LE_Set_PHY command, which allows you to set the PHY mode for a specific connection handle. This command can be used to change the PHY mode for the currently active connection, and the changes will be reflected in the HCI_Read_PHY command output.
Please help me check in the Bluetooth Core Specification v5.0, Vol. 6, Part B (Link Layer Specification), in section 5.1.10 PHY Update Procedure, as all the procedures and rules for PHY updates are broken down.
The commands needed to establish a connection are dependent on each case and the parameters needed. However, there are key HCI commands typically used to establish a BLE connection, such as: HCI_Reset, HCI_LE_Set_Event_Mask, HCI_LE_Set_Scan_Parameters, HCI_LE_Set_Scan_Enable, HCI_LE_Create_Connection, HCI_LE_Set_Connection_Update_Enable, as well as advertising parameters and data. Please help me look into "Link Control" and "Link Policy" sections of Volume 2, Part E of the Core Bluetooth Specification for all the commands that are supported to establish a connection.
I hope you find this helpful!
Best regards,
Julián