WiFi101 provisioning problem

Hi!

I'm unable to get the WiFi101 to connect to Access Point with provisioning. I am able to get the shield to provisioning mode and I can connect to the provisioning web page but when I enter the credentials for the access point the shield will not connect.

After some debugging I found out that wifi_cb() never receives the M2M_WIFI_RESP_PROVISION_INFO message and therefore never tries to make connection to the Access Point.

When I am connecting the Access Point normally with WiFi.begin() the wifi_cb() function receives M2M_WIFI_RESP_CON_STATE_CHANGED & M2M_WIFI_REQ_DHCP_CONF responses and everything is working as expected.

Any idea why M2M_WIFI_RESP_PROVISION_INFO message is never received in provisioning mode?

FatDefender:
Hi!

I'm unable to get the WiFi101 to connect to Access Point with provisioning. I am able to get the shield to provisioning mode and I can connect to the provisioning web page but when I enter the credentials for the access point the shield will not connect.

After some debugging I found out that wifi_cb() never receives the M2M_WIFI_RESP_PROVISION_INFO message and therefore never tries to make connection to the Access Point.

When I am connecting the Access Point normally with WiFi.begin() the wifi_cb() function receives M2M_WIFI_RESP_CON_STATE_CHANGED & M2M_WIFI_REQ_DHCP_CONF responses and everything is working as expected.

Any idea why M2M_WIFI_RESP_PROVISION_INFO message is never received in provisioning mode?

I managed to solve the issue after checking WINC1500 HTTP provisioning examples from Atmel Studio Framework.

In those examples there is function call m2m_wifi_set_device_name() to set the device name before calling provisioning function m2m_wifi_start_provision_mode().

My problem was solved when I added m2m_wifi_set_device_name() call to WiFi.cpp function WiFiClass::beginProvision(char *ssid, char *url, uint8_t channel) before m2m_wifi_start_provision_mode()

Seems like provisioning in WiFi101 library has not been verified to work...

follow up here