[ESP32] wifi setup provisionning, web SoftAP using 1.5.1 and 3.3.1 IDF

Hi support teams,

I need a confirmation that


is still working using new 1.5.1 BSP (upgrade to 3.3.1 IDF) ?

Simple wifi connection (AP and join) works fine, so WIFI ESP driver is OK

But when starting with headless provisionning softAP web example , Wifi seems not up , can’t see SSID…)

I (1489) wifi: mode : sta (bc:dd:c2:d1:b9:5c)
D (1499) event: SYSTEM_EVENT_STA_START
[ESP32 Wifi Driver][INFO] Station/SoftAP started
[ESP32 Wifi Driver][INFO] Wifi module started
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_netif_is_started_f)
null INFO: Server started on unknown:80

Can you confirm ?

thanks

Hi Gilles,

I just ran the example (com.microej.example.wifi.setup.web) using the ESP32-WROVER platform 1.5.1 and it works.

Logs for comparison
[ESP32 Wifi Driver][INFO] Starting wifi module...
[1B][0;32mI (492) phy: phy_version: 4102, 2fa7a43, Jul 15 2019, 13:06:06, 0, 0[1B][0m
I (492) wifi: mode : sta (30:ae:a4:c6:f4:fc)
[ESP32 Wifi Driver][INFO] Station/SoftAP started
[ESP32 Wifi Driver][INFO] Wifi module started
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_netif_is_started_f)
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPCount
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_count_f)
[ESP32 Wifi Driver][INFO] Scanning AP...
[ESP32 Wifi Driver][INFO] Scan finished
[ESP32 Wifi Driver][INFO] AP scan ok
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPCount
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_ssid_f) index = 0
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_bssid_f) index = 0
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_channel_f) index = 0
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_rssi_f) index = 0
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_security_mode_f) index = 0
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_wps_modes_f) index = 0
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_ssid_f) index = 1
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_bssid_f) index = 1
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_channel_f) index = 1
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_rssi_f) index = 1
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_security_mode_f) index = 1
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_wps_modes_f) index = 1
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_ssid_f) index = 2
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_bssid_f) index = 2
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_channel_f) index = 2
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_rssi_f) index = 2
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_security_mode_f) index = 2
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_wps_modes_f) index = 2
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_ssid_f) index = 3
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_bssid_f) index = 3
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_channel_f) index = 3
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_rssi_f) index = 3
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_security_mode_f) index = 3
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_wps_modes_f) index = 3
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_ssid_f) index = 4
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_bssid_f) index = 4
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPbssidAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_channel_f) index = 4
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPchannelAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_rssi_f) index = 4
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPrssiAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_security_mode_f) index = 4
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPsecurityModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_get_ap_wps_modes_f) index = 4
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_scanAPwpsModeAt
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_setNameSoftAP
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_set_name_softap_f) ssid = MicroEJ_SoftAP
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_setNameSoftAP
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_enableSoftAP
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_enable_softap_f) ssid = MicroEJ_SoftAP
[ESP32 Wifi Driver][INFO] Stopping wifi module...
I (3172) wifi: flush txq
I (3172) wifi: stop sw txq
I (3172) wifi: lmac stop hw txq
[ESP32 Wifi Driver][INFO] Station/SoftAP stopped
[ESP32 Wifi Driver][INFO] Wifi module stopped
[ESP32 Wifi Driver][INFO] Starting wifi module...
I (3892) wifi: mode : softAP (30:ae:a4:c6:f4:fd)
I (3892) wifi: Total power save buffer number: 8
I (3892) wifi: Init max length of beacon: 752/752
I (3892) wifi: Init max length of beacon: 752/752
[ESP32 Wifi Driver][INFO] Station/SoftAP started
[ESP32 Wifi Driver][INFO] Wifi module started
Java_ej_ecom_wifi_natives_GenericWifiManagerNatives_enableSoftAP
Hoka:I=2
null INFO: Server started on unknown:80
I (29392) wifi: new:<1,0>, old:<1,0>, ap:<1,1>, sta:<255,255>, prof:1
I (29392) wifi: station: 10:8e:e0:48:04:ac join, AID=1, bgn, 20
[ESP32 Wifi Driver][INFO] A station connected to the softAP
[1B][0;32mI (29512) tcpip_adapter: softAP assign IP to station,IP is: 192.168.4.2[1B][0m
[ESP32 Wifi Driver][INFO] SoftAP assigns an IP to a connected station
[1B][0;32mI (30012) tcpip_adapter: softAP assign IP to station,IP is: 192.168.4.2[1B][0m
[ESP32 Wifi Driver][INFO] SoftAP assigns an IP to a connected station
Hoka:I=1
Hoka:F=4 4161 /192.168.4.2

From your logs, it seems the WiFi driver is in station mode instead of the soft AP mode.

I suppose there are no errors nor other wifi mode changes logged prior to the logs you provided: correct ?

What is the Java entrypoint you are using ?
I would expect to see at least the following line :
[ESP32 Wifi Driver][DEBUG] (WIFI_ESP32_enable_softap_f) ssid = MicroEJ_SoftAP

Best regards,
Rémy

Ok, so you are also using the com.microej.example.wifi.setup.web but with custom __NET_MASK, __USE_DHCP and __SOFT_AP_SECURITY values : right ?
Can you provide us the values you are using ?

The scan should be done before null INFO: Server started on unknown:80 is logged. Here is the call hierarchy :

scan(boolean) : AccessPoint[] - ej.ecom.wifi.WifiManager
scanAccessPoints() : AccessPoint[] - ej.net.util.wifi.WifiNetworkManager
scan() : AccessPoint[] - com.microej.example.wifi.setup.SoftAPConnector
updateAccesses() : void - com.microej.example.wifi.setup.rest.RestSoftAPConnector
start() : void - com.microej.example.wifi.setup.rest.RestSoftAPConnector
start(RestSoftAPConnector, String, String, boolean, String, String, SecurityMode) : void - com.microej.example.wifi.setup.rest.Main
main(String[]) : void - com.microej.example.wifi.setup.web.Main

The scan should be the first non-configuration operation. Did you override something in this hierarchy ? (WebSoftAPConnector.start() for example)

Otherwise, you can check whether the native is actually called or not by enabling the LLECOM_WIFI traces in the file ecom-wifi/src/LLECOM_WIFI.c (l.20).

It seems to me the application execution flow is broken but no exception is logged :face_with_raised_eyebrow:

Did you try to execute the example with your modifications on the simulator ?

Hope it helps,
Rémy

HI Rémy,

Your Guess is right : Since I had to redefine ‘OnSuccessJoin’ method to put custom in it :
I also typo a copy paste ‘@Override’ on Start method , reason why scan dit not start
No issue , this thread should be deleted , sorry for that