From 1d42a6c48fb471329feccf8628a76e26a5bcb018 Mon Sep 17 00:00:00 2001 From: Henrik Witt-Hansen Date: Thu, 16 May 2024 01:54:51 +0200 Subject: [PATCH] Fix static ip assignment on wifi for rp2040 (#3896) by rearranging the arguments to match the expected input order. The lwip library makes an internal reorder or the arguments depending on the netmask to work with both ESP and Arduino platforms. The input order was incorrect when running on an rp2040 device. Co-authored-by: Henrik Witt-Hansen Co-authored-by: Ben Meadors --- src/mesh/wifi/WiFiAPClient.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mesh/wifi/WiFiAPClient.cpp b/src/mesh/wifi/WiFiAPClient.cpp index 1de4d7669..a259d161b 100644 --- a/src/mesh/wifi/WiFiAPClient.cpp +++ b/src/mesh/wifi/WiFiAPClient.cpp @@ -225,10 +225,16 @@ bool initWifi() WiFi.mode(WIFI_STA); WiFi.setHostname(ourHost); + if (config.network.address_mode == meshtastic_Config_NetworkConfig_AddressMode_STATIC && config.network.ipv4_config.ip != 0) { +#ifndef ARCH_RP2040 WiFi.config(config.network.ipv4_config.ip, config.network.ipv4_config.gateway, config.network.ipv4_config.subnet, config.network.ipv4_config.dns); +#else + WiFi.config(config.network.ipv4_config.ip, config.network.ipv4_config.dns, config.network.ipv4_config.gateway, + config.network.ipv4_config.subnet); +#endif } #ifndef ARCH_RP2040 WiFi.onEvent(WiFiEvent);