Troubleshooting
Logging in
The login form returns to the login page
Production builds only accept the session cookie over HTTPS (or on localhost). If you open the
dashboard as http://<server-ip>:18232, the browser drops the cookie and every page redirects
back to the login. Put the server behind HTTPS, or open
http://localhost:18232 on the server itself (for example through an SSH tunnel:
ssh -L 18232:localhost:18232 <server>).
Everyone was logged out
Sessions are kept in memory, so every server restart or update ends all sessions. Log in again.
I lost the admin password
If data/initial_admin_credentials still exists and you never changed the password, it's in
there. Otherwise, set a new password directly in the database. With Docker, replace
NEW-PASSWORD and run:
docker exec netignite-server bun -e '
const { Database } = require("bun:sqlite");
const hash = await Bun.password.hash("NEW-PASSWORD", { algorithm: "bcrypt", cost: 12 });
new Database("data/db.sqlite").run("UPDATE users SET password_hash = ? WHERE username = ?", [hash, "admin"]);
'
Agents
The agent doesn't come online
Check the server log (docker logs netignite-server) and, for the ESP32, the serial monitor.
| Symptom | Cause and fix |
|---|---|
ESP32 logs Missing credentials! | C_CONTROL_SERVER_AUTH_ID or C_CONTROL_SERVER_AUTH_SECRET is empty. |
ESP32 logs Websocket Connected and right after Websocket Disconnected! | The server rejected the credentials. Check that the ID is the numeric Connection ID and that the secret is exactly the one shown when the agent was created. If you're unsure, regenerate the secret and reflash. |
ESP32 only logs Websocket Disconnected! Retrying in 60 seconds... | The connection fails before the handshake: wrong host or port, USE_SSL doesn't match the port (true for 443, false for a plain 18232), or the server certificate isn't trusted (see Certificate bundle). |
ESP32 logs NTP time sync timed out | The board has no internet access, DNS doesn't work, or NTP (UDP port 123) is blocked. TLS connections fail until the time is synced; the agent keeps retrying on its own once the network works. |
ESP32 logs WiFi lost connection repeatedly | Wrong SSID or password, or the network is 5 GHz only. |
The server logs Agent '<id>' connected, but the dashboard shows offline | The status refreshes every 20 seconds; use the Ping button to refresh it. |
The agent disconnects about once a minute
A reverse proxy is closing idle WebSocket connections. Raise its idle/read timeout above 60 seconds, as shown in HTTPS & Reverse Proxy.
The ESP32 firmware doesn't build
- The certificate bundle can't be generated: the first build installs the Python package
cryptographyinto PlatformIO's environment and needs internet access for that. See Certificate bundle. config/config.hnot found: copysrc/config/config.sample.htosrc/config/config.h.- Errors about
IPv6Address,enableIpV6orbeginSslWithBundle: you're building with Arduino-ESP32 core 3.x. Use PlatformIO's officialespressif32platform, which ships core 2.x.
Waking devices
The device doesn't wake up
Wakeup command sent only means the agent sent the packet. If the device stays off:
- Wake-on-LAN enabled? Check the BIOS/UEFI and the network driver settings, and disable ErP/EuP power saving. See Preparing a device.
- Right MAC address? Use the MAC of the wired network card the device is connected with, not its WiFi adapter.
- Same network? The agent must be in the same subnet as the device. Magic packets are broadcasts and don't cross routers or VLANs.
- Right port? Most devices listen on
9; some only react to7. - Power state. Some devices only wake from sleep or hibernation, not from a full shutdown. On Windows, disabling Fast Startup often helps.
- Test locally. Send a magic packet from another computer in the same network (for example
with
wakeonlanoretherwake). If that doesn't work either, the problem is the device, not NetIgnite.
"Agent is offline"
The device's agent isn't connected. See The agent doesn't come online.
"Wakeup command failed: Wakeup failed: Invalid MAC address or port"
The ESP32 agent only accepts MAC addresses like AA:BB:CC:DD:EE:FF or AA-BB-CC-DD-EE-FF and
ports from 1 to 65535. Edit the device and fix the value.
"Failed to send wakeup command"
The agent didn't answer within 5 seconds, often because it was busy with status checks or its connection had just dropped. Try again. If it keeps happening, check the agent's connection.
Device status
A running device shows as offline
The ESP32 agent pings the device's IPv6 link-local address that it derives from the MAC address
(EUI-64). The device shows as offline if it doesn't use that address or doesn't answer pings:
- Windows uses random interface identifiers. Switch to MAC-based ones in an elevated prompt with
netsh interface ipv6 set global randomizeidentifiers=disabled, and allow the firewall rule File and Printer Sharing (Echo Request - ICMPv6-In). - Linux with NetworkManager:
nmcli connection modify <connection> ipv6.addr-gen-mode eui64, then reconnect. - Linux with systemd-networkd: set
IPv6LinkLocalAddressGenerationMode=eui64in the[Network]section. - IPv6 disabled on the device or a firewall that blocks ICMPv6 echo requests also causes
offline.
Waking the device works regardless of the status.
Every status is "unknown"
The devices' agent is offline, or it didn't answer within 5 seconds. Check the agent's status on the Agents page.