-
Notifications
You must be signed in to change notification settings - Fork 327
Description
❓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!