ESPHome (ESP32D) connection issues on HPE (Aruba) Instant On network

Hello!

I am experiencing connections issues with my ESP32D board running ESPHome (4.6.1). Devie starts, pingable for about 1 minute, than 8-10pings lost, than it works for another period than again 8-10 pings lost. This continues with only difference that sometime the working periods and lost ping periods are bit longer or shorter, but connection never stable, in 1-2 minutes always loosing connection for min 4-5 pings. Otherwise it looks working ok, when it is reachable, so I can load the portal on it.

I have an ESP8266 board also, which working fine on same network with same ESPHome version.

What I can see in logs, that when first ping loss happening, some second before logs shows
[23:20:35][D][esp32.preferences:143]: Writing 1 items: 0 cached, 1 written, 0 failed
So there is some memory writing. I am NOT sure this is the problem, might be only timing coincident.

I have an HPE Instant ON WiFi system (former name Aruba), working fine with all other devices (including ESP8266 with same version of ESPHome), and also coverage is perfect

ESPHome is installed on Docker (version 4.6.1, but same issue happened with previous versions)

I have tried a lot of config changes (suggested here or on other portals), like

  • Esp32 framework esp-idf and Arduino (both having the issue)
  • Adding options to wifi: reboot_timeout: 0s, power_save_mode: NONE – not helped
  • Adding : preferences: flash_write_interval: never – not helped
  • Tried with static (fix) IP config – not helped

Also ordered another HW, same issue (also tried with other power supply)

HW was tested by a colleague on his network (with his config) and worked fine, however if he connected to my configs fallback wifi (as he has different SSID), he experienced similar ping losses.

My last test was to set up (temporarily) my old router (running OpenWRT), and connect the ESP32D to that, and in this setup there is no ping loss, so it looks like the problem appears only with ESP32D card on HPE (Aruba) Instant ON WiFi (on which ESP8266 works perfectly).

Any idea or suggestion would be more than welcome! Thanks in advance!

Here is my config:

esphome:
  name: iot12
  friendly_name: IoT12
  min_version: 2024.11.0
  name_add_mac_suffix: false

esp32:
  board: esp32dev
  framework:
    type: esp-idf
    #type: arduino

preferences:
  flash_write_interval: never


# Enable logging
logger:
  level: VERY_VERBOSE

web_server:
  port: 8080
  auth:
    username: !secret webserver_username
    password: !secret webserver_password

# Enable Home Assistant API
api:
  encryption:
    key: "uNpmWRJOoOwTx2qsmDB+k2BLJstEobFo6/DX5H84qzY="
  
# Allow Over-The-Air updates
ota:
- platform: esphome
  password: ""

time:
  - platform: sntp
    id: sntp_time
    timezone: Europe/Budapest
    servers:
     - 10.0.69.69
     - 192.168.69.69
     - pool.ntp.org

wifi:
  networks:
    - ssid: "esp32"
      password: “xxx”
      priority: 100
  reboot_timeout: 0s
  power_save_mode: NONE
  domain: ".lan"
  #use_address: 10.0.69.212
 
  
  ap:
    ssid: "ESPHome_FallBack"
    password: “xxxxx”

captive_portal:



Here is my boot log:

INFO ESPHome 2025.6.0
INFO Reading configuration /config/iot12.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing iot12 (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.3.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
|-- ArduinoJson @ 6.18.5
RAM:   [=         ]  12.6% (used 41392 bytes from 327680 bytes)
Flash: [=====     ]  53.2% (used 975565 bytes from 1835008 bytes)
========================= [SUCCESS] Took 46.45 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 10.0.69.212 port 3232...
INFO Connected to 10.0.69.212
INFO Uploading /config/.esphome/build/iot12/.pioenvs/iot12/firmware.bin (981344 bytes)
Uploading: [============================================================] 100% Done...

INFO Upload took 5.90 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 10.0.69.212 using esphome API
INFO Successfully resolved iot12 @ 10.0.69.212 in 0.001s
WARNING Can't connect to ESPHome API for iot12 @ 10.0.69.212: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='10.0.69.212', port=6053))]: [Errno 111] Connect call failed ('10.0.69.212', 6053) (SocketAPIError)
INFO Trying to connect to iot12 @ 10.0.69.212 in the background
INFO Successfully resolved iot12 @ 10.0.69.212 in 0.001s
INFO Successfully connected to iot12 @ 10.0.69.212 in 0.014s
INFO Successful handshake with iot12 @ 10.0.69.212 in 0.161s
[23:19:44][I][app:137]: ESPHome version 2025.6.0 compiled on Jun 18 2025, 22:14:33
[23:19:44][C][wifi:613]: WiFi:
[23:19:44][C][wifi:434]:   Local MAC: 6C:C8:40:06:86:F0
[23:19:44][C][wifi:439]:   SSID: 'esp32'[redacted]
[23:19:44][C][wifi:442]:   IP Address: 10.0.69.212
[23:19:44][C][wifi:451]:   BSSID: 98:8F:00:7D:E1:84[redacted]
[23:19:44][C][wifi:451]:   Hostname: 'iot12'
[23:19:44][C][wifi:451]:   Signal strength: -55 dB ▂▄▆█
[23:19:44][V][wifi:453]:   Priority: 100.0
[23:19:44][C][wifi:462]:   Channel: 1
[23:19:44][C][wifi:462]:   Subnet: 255.255.255.0
[23:19:44][C][wifi:462]:   Gateway: 10.0.69.69
[23:19:44][C][wifi:462]:   DNS1: 10.0.69.69
[23:19:44][C][wifi:462]:   DNS2: 0.0.0.0
[23:19:44][C][logger:215]: Logger:
[23:19:44][C][logger:215]:   Max Level: VERY_VERBOSE
[23:19:44][C][logger:215]:   Initial Level: VERY_VERBOSE
[23:19:44][C][logger:220]:   Log Baud Rate: 115200
[23:19:44][C][logger:220]:   Hardware UART: UART0
[23:19:44][C][logger:224]:   Task Log Buffer Size: 768
[23:19:44][C][captive_portal:089]: Captive Portal:
[23:19:44][C][web_server:288]: Web Server:
[23:19:44][C][web_server:288]:   Address: iot12.szslan:8080
[23:19:44][C][sntp:042]: SNTP Time:
[23:19:44][C][sntp:045]:   Server 0: '10.0.69.69'
[23:19:44][C][sntp:045]:   Server 1: '192.168.69.69'
[23:19:44][C][sntp:045]:   Server 2: 'pool.ntp.org'
[23:19:44][C][esphome.ota:077]: Over-The-Air updates:
[23:19:44][C][esphome.ota:077]:   Address: iot12.szslan:3232
[23:19:44][C][esphome.ota:077]:   Version: 2
[23:19:44][C][safe_mode:018]: Safe Mode:
[23:19:44][C][safe_mode:025]:   Boot considered successful after 60 seconds
[23:19:44][C][safe_mode:025]:   Invoke after 10 boot attempts
[23:19:44][C][safe_mode:025]:   Remain for 300 seconds
[23:19:44][C][api:185]: API Server:
[23:19:44][C][api:185]:   Address: iot12.szslan:6053
[23:19:44][C][api:187]:   Using noise encryption: YES
[23:19:44][C][mdns:125]: mDNS:
[23:19:44][C][mdns:125]:   Hostname: iot12
[23:19:44][V][mdns:126]:   Services:
[23:19:44][V][mdns:129]:   - _esphomelib, _tcp, 6053
[23:19:44][V][mdns:132]:     TXT: friendly_name = IoT12
[23:19:44][V][mdns:132]:     TXT: version = 2025.6.0
[23:19:44][V][mdns:132]:     TXT: mac = 6cc8400686f0
[23:19:44][V][mdns:132]:     TXT: platform = ESP32
[23:19:44][V][mdns:132]:     TXT: board = esp32dev
[23:19:44][V][mdns:132]:     TXT: network = wifi
[23:19:44][V][mdns:132]:     TXT: api_encryption = Noise_NNpsk0_25519_ChaChaPoly_SHA256
[23:19:44][V][mdns:129]:   - _http, _tcp, 8080
[23:20:24][VV][api.service:059]: on_ping_request: PingRequest {}
[23:20:24][VV][api.service:013]: send_message ping_response: PingResponse {}
[23:20:35][I][safe_mode:042]: Boot seems successful; resetting boot loop counter
[23:20:35][VV][esp32.preferences:040]: s_pending_save: key: 233825507, len: 4
[23:20:35][V][esp32.preferences:114]: Saving 1 items...
[23:20:35][VV][esp32.preferences:123]: Checking if NVS data 233825507 has changed
[23:20:35][V][esp32.preferences:126]: sync: key: 233825507, len: 4
[23:20:35][D][esp32.preferences:143]: Writing 1 items: 0 cached, 1 written, 0 failed