Skip to content

BLE Provisioning (Security 0) Disconnects on prov-config Write #237

@mayurpy02

Description

@mayurpy02

❓BLE Provisioning (Security 0) Disconnects on prov-config Write

Platform: ESP32-S3
ESP-IDF Version: v5.4.1
Provisioning Mode: BLE
Security: WIFI_PROV_SECURITY_0
Tool: nRF Connect for Mobile
Behavior: Disconnects on prov-config write

🧵 Summary

I'm working on Wi-Fi provisioning over BLE using wifi_prov_mgr with WIFI_PROV_SECURITY_0 (no security). BLE advertising and characteristic discovery work as expected. I'm using nRF Connect to send SSID and password to the prov-config characteristic (UUID: 1775ff52-6b43-439b-877c-060f2d9bed07).

However, as soon as I send the JSON payload, the device disconnects immediately.
📄 Steps to Reproduce

ESP32 starts advertising BLE with provisioning service MY_PROV_DEVICE.

Connect via nRF Connect.

Navigate to prov-config characteristic.

Write the following UTF-8 JSON payload:

{
  "ssid": "WIFISSID",
  "passphrase": "Password@2025"
}

Immediately after writing, the ESP32 disconnects.

🪵 Logs

E (153278) BT_GATT: gatts_write_attr_perm_check - GATT_WRITE_NOT_PERMIT,handle 0034, perm 0001
...
Device disconnected
Error 133 (0x85): GATT ERROR

✅ What I’ve Checked

WIFI_PROV_SECURITY_0 is enabled manually.No provision for it menuconfig.

Correct UUID and characteristic used for prov-config

Input format is JSON and  TEXT-UTF-8

Using regular "Write" (not "Write Without Response")

Tried  app (nRF Connect )

❓Questions

Is this the expected behavior for provisioning with WIFI_PROV_SECURITY_0?

Are there specific restrictions on prov-config write that might be failing silently?

Could you confirm that the characteristic permissions for prov-config are sufficient for writes in no-security mode?

📌 Additional Info

If helpful, I can share:

app_main.c code snippet

Full logs from idf.py monitor

sdkconfig options I enabled

Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions