Questions about Wi-Fi provisioning using Bluetooth LE

I am using the existing nRF Connect SDK (v2.9.0) example of Wi-Fi provisioning using Bluetooth LE (https://github.com/nrfconnect/sdk-nrf/tree/main/samples/wifi/provisioning/ble) and it's working fine.

I am using a Bluetooth sniffer (RFcreations mini-moreph) to capture the communication during the process, and I can't figure out from the source code what the values sent in the packets correspond to, specifically the payloads in the commands and status messages. Examples of these values highlighted in the red box in the image below:

Can you point me to any documentation (or source code) that provides the corresponding meanings to the different values used?

Also, is there any documentation on the workflow and packet exchange during this process? maybe something like a message sequence diagram.

Thanks!

Parents
  • Hi Mohanmmad,

    Thanks for reaching out with your questions.

    For documentation or source code that explains the meanings of different values used, as well as the workflow and packet exchange process, I recommend referring to the Bluetooth Core Specification. This is the definitive source for understanding Bluetooth packet structures and payloads. While it is not specific to Nordic, it is essential for understanding the protocol.

    The BLE controller is an implementation of the Bluetooth specification. Nordic's SoftDevice Controller is our proprietary implementation of the BLE stack, but it is closed-source. However, you can refer to the open-source BLE controller from the Zephyr project to study its source code.

    Additionally, have you gone through Lesson 6 - Bluetooth LE sniffer course n the Nordic Developer Academy? It covers both sniffer usage and BLE GAP and GATT packet analysis in real practice, which could be a great starting point for your exploration.

    Let me know if you need further guidance!

    Best regards,

    Charlie

Reply
  • Hi Mohanmmad,

    Thanks for reaching out with your questions.

    For documentation or source code that explains the meanings of different values used, as well as the workflow and packet exchange process, I recommend referring to the Bluetooth Core Specification. This is the definitive source for understanding Bluetooth packet structures and payloads. While it is not specific to Nordic, it is essential for understanding the protocol.

    The BLE controller is an implementation of the Bluetooth specification. Nordic's SoftDevice Controller is our proprietary implementation of the BLE stack, but it is closed-source. However, you can refer to the open-source BLE controller from the Zephyr project to study its source code.

    Additionally, have you gone through Lesson 6 - Bluetooth LE sniffer course n the Nordic Developer Academy? It covers both sniffer usage and BLE GAP and GATT packet analysis in real practice, which could be a great starting point for your exploration.

    Let me know if you need further guidance!

    Best regards,

    Charlie

Children
Related