ruuvi / ruuvi.gateway_esp.c

Ruuvi Gateway ESP32 code
BSD 3-Clause "New" or "Revised" License
24 stars 15 forks source link

Wi-Fi connection can only be established on the second attempt #938

Closed TheSomeMan closed 7 months ago

TheSomeMan commented 7 months ago

On the first connection attempt, Wi-Fi AP is configured to use the same Wi-Fi channel as Wi-Fi station and this leads to the client reconnection to AP. Because of this, the first "POST /ruuvi.json" fails. On the next attempt Wi-Fi AP already works on the required Wi-Fi channel and reconnection is not performed.

I (99874) http_server: [http_server/1] Request from 10.10.0.2 to 10.10.0.1 (Host: 10.10.0.1): POST /ruuvi.json
I (99877) http_server: [http_server/1] POST /ruuvi.json, params=
I (99882) gw_cfg: [http_server/1] Gateway SETTINGS (via HTTP):
I (99887) gw_cfg: [http_server/1] config: Use eth: no
I (99893) gw_cfg: [http_server/1] config: eth: use DHCP: yes
I (99899) gw_cfg: [http_server/1] config: eth: static IP: 
I (99906) gw_cfg: [http_server/1] config: eth: netmask: 
I (99912) gw_cfg: [http_server/1] config: eth: GW: 
I (99917) gw_cfg: [http_server/1] config: eth: DNS1: 
I (99923) gw_cfg: [http_server/1] config: eth: DNS2: 
W (99929) gw_cfg: [http_server/1] Can't find key 'wifi_ap_config/password' in config-json
I (99938) gw_cfg: [http_server/1] config: wifi_ap_config: SSID: Configure Ruuvi Gateway 9C2C
I (99947) gw_cfg: [http_server/1] config: wifi_ap_config: password: 
I (99954) gw_cfg: [http_server/1] config: wifi_ap_config: ssid_len: 0
I (99961) gw_cfg: [http_server/1] config: wifi_ap_config: channel: 6
I (99968) gw_cfg: [http_server/1] config: wifi_ap_config: auth_mode: OPEN
I (99975) gw_cfg: [http_server/1] config: wifi_ap_config: ssid_hidden: 0
I (99983) gw_cfg: [http_server/1] config: wifi_ap_config: max_connections: 4
I (99990) gw_cfg: [http_server/1] config: wifi_ap_config: beacon_interval: 100
I (99998) gw_cfg: [http_server/1] config: wifi_ap_settings: bandwidth: 20MHz
I (100006) gw_cfg: [http_server/1] config: wifi_ap_settings: IP: 10.10.0.1
I (100013) gw_cfg: [http_server/1] config: wifi_ap_settings: GW: 10.10.0.1
I (100021) gw_cfg: [http_server/1] config: wifi_ap_settings: Netmask: 255.255.255.0
I (100030) ruuvi_gateway: [http_server/1] ruuvi_cb_on_change_cfg: settings_save_to_flash
I (100053) settings: [http_server/1] ### Save config to NVS: successfully updated
I (100054) ruuvi_gateway: [http_server/1] ruuvi_cb_on_change_cfg: http_server_set_auth: lan_auth_default
I (100061) ruuvi_gateway: [http_server/1] ruuvi_cb_on_change_cfg: settings_save_to_flash
I (100085) settings: [http_server/1] ### Save config to NVS: successfully updated
I (100086) ruuvi_gateway: [http_server/1] ruuvi_cb_on_change_cfg: http_server_set_auth: lan_auth_default
I (100094) wifi_manager: [http_server/1] wifi_manager_esp_wifi_configure_ap: ### Configure WiFi mode: AP and Station
I (100105) wifi_manager: [http_server/1] Configure Wi-Fi AP: SSID: Configure Ruuvi Gateway 9C2C
I (100115) wifi_manager: [http_server/1] Configure Wi-Fi AP: Auth mode: 0
I (100121) wifi_manager: [http_server/1] Configure Wi-Fi AP: Password: not used
I (100129) wifi_manager: [http_server/1] Configure Wi-Fi AP: Channel: 6
I (100136) wifi_manager: [http_server/1] Configure Wi-Fi AP: Is SSID hidden: 0
I (100144) wifi_manager: [http_server/1] Configure Wi-Fi AP: Max conn: 4
I (100152) wifi_manager: [http_server/1] Configure Wi-Fi AP: Beacon interval: 100
I (100161) wifi:station: 7e:27:ee:f7:e8:39 leave, AID = 1, bss_flags is 134243, bss:0x3ffe3fb0
I (100169) wifi:new:<1,0>, old:<1,0>, ap:<1,0>, sta:<0,0>, prof:6
I (100176) wifi:Total power save buffer number: 16
I (100179) wifi_manager: [sys_evt/20] WIFI_EVENT_AP_STADISCONNECTED
I (100187) wifi_manager: [sys_evt/20] WIFI_EVENT_AP_STOP
I (100194) wifi_manager: [sys_evt/20] WIFI_EVENT_AP_START
I (100198) wifi_manager: [sys_evt/20] WIFI_MANAGER:EV_STATE: Set WIFI_MANAGER_AP_STARTED_BIT
I (100207) wifi_manager: [wifi_manager/5] MESSAGE: EVENT_AP_STA_DISCONNECTED
I (100214) wifi_manager: [wifi_manager/5] WIFI_MANAGER:EV_STATE: Clear WIFI_MANAGER_AP_STA_CONNECTED_BIT | WIFI_MANAGER_AP_STA_IP_ASSIGNED_BIT
I (100228) dns_server: [wifi_manager/5] Send request to stop DNS-Server, but DSN-Server is not running
I (100238) network: [wifi_manager/5] ### callback: on_ap_sta_disconnected
I (100246) wifi_manager: [http_server/1] Configure Wi-Fi AP: Bandwidth: HT20
I (100588) ADV_POST_TASK: [adv_post_task/5] Advs cnt: 4
I (101253) http_server: [http_server/1] Response: OK
E (101255) http_server: [http_server/1] ./components/esp32-wifi-manager/src/http_server_accept_and_handle_conn.c:210 {http_server_netconn_write}: netconn_write_partly failed (Connection aborted), offset=0, size=226, err=-13 (CCM - Bad input parameters to the function)
E (101272) http_server: [http_server/1] ./components/esp32-wifi-manager/src/http_server_accept_and_handle_conn.c:263 {http_server_netconn_printf}: http_server_netconn_write failed
E (101289) http_server: [http_server/1] ./components/esp32-wifi-manager/src/http_server_accept_and_handle_conn.c:508 {http_server_netconn_resp_content_with_len}: http_server_netconn_printf failed
E (101308) http_server: [http_server/1] ./components/esp32-wifi-manager/src/http_server_accept_and_handle_conn.c:210 {http_server_netconn_write}: netconn_write_partly failed (Not connected), offset=0, size=2, err=-11 (OID - output buffer is too small)
E (101330) http_server: [http_server/1] ./components/esp32-wifi-manager/src/http_server_accept_and_handle_conn.c:343 {write_content_from_memory}: http_server_netconn_write failed
E (101347) http_server: [http_server/1] ./components/esp32-wifi-manager/src/http_server_accept_and_handle_conn.c:1061 {http_server_accept_and_handle_conn}: netconn_close failed (Not connected), err=-11 (OID - output buffer is too small)
I (101588) ADV_POST_TASK: [adv_post_task/5] Advs cnt: 6
I (102588) ADV_POST_TASK: [adv_post_task/5] Advs cnt: 5
I (103588) ADV_POST_TASK: [adv_post_task/5] Advs cnt: 4
I (104411) ADV_POST_TASK: [adv_post_task/5] Got ADV_POST_SIG_RETRANSMIT
I (104588) ADV_POST_TASK: [adv_post_task/5] Advs cnt: 6
I (105062) wifi:new:<6,0>, old:<6,0>, ap:<6,0>, sta:<0,0>, prof:6
I (105063) wifi:station: 7e:27:ee:f7:e8:39 join, AID=1, bgn, 20
I (105064) wifi_manager: [sys_evt/20] WIFI_EVENT_AP_STACONNECTED
I (105069) wifi_manager: [wifi_manager/5] MESSAGE: EVENT_AP_STA_CONNECTED
I (105077) wifi_manager: [wifi_manager/5] WIFI_MANAGER:EV_STATE: Clear WIFI_MANAGER_AP_STA_IP_ASSIGNED_BIT
I (105087) wifi_manager: [wifi_manager/5] WIFI_MANAGER:EV_STATE: Set WIFI_MANAGER_AP_STA_CONNECTED_BIT
I (105097) network: [wifi_manager/5] ### callback: on_ap_sta_connected
TheSomeMan commented 7 months ago

To test it, erase configuration on the Gateway, then connect to Wi-Fi AP and try to connect to Wi-Fi. It should connect on the first attempt without any error messages.

markoaamunkajo commented 6 months ago

QA passed