ipmideck cannot reach the BMC
ipmideck communicates with BMCs over UDP port 623 (IPMI/RMCP+). If a server shows as offline:- In Docker, confirm you started the container with
--network host. Without it, the container cannot reach BMCs on your LAN. - Verify the BMC IP is reachable from the host (
ping <bmc-ip>). - Confirm IPMI-over-LAN is enabled on the BMC and that UDP 623 is not blocked by a firewall or VLAN boundary.
ipmideck always uses
lanplus (IPMI 2.0) for encrypted sessions. A BMC stuck on
IPMI 1.5 only, or with RMCP+ cipher suites disabled, may refuse the connection.Authentication / privilege errors
If commands fail with an authentication or privilege error:- Double-check the BMC username and password you entered for the server.
- The BMC account needs at least Operator privilege for power and fan control; Administrator is required for configuration changes.
- Some BMCs lock an account after repeated failed logins — wait, or reset the account from the BMC’s own web UI.
Commands time out
Older hardware can be slow to answer. ipmideck applies a per-command timeout set byipmi.command_timeout (default 30 seconds). If you see timeouts on a slow BMC, increase
that value in config.yaml. Sensor and SEL reads on large repositories are the most
likely to be slow.
Sensors are missing or read zero
- Confirm the BMC actually exposes those sensors (
sdr elistsupport varies by vendor). - Some sensors only populate while the server is powered on.
- Check the polling interval (
ipmi.poll_interval, default 30s /IPMIDECK_IPMI_POLL_INTERVAL); very long intervals delay the first reading.
Fans return to BMC control unexpectedly
FanPilot deliberately hands fans back to the BMC’s own thermal management in two cases:- Safety override — at or above the critical temperature, fans go to 100%.
- Recovery — after an unclean shutdown, server-offline, or stale-sensor detection, ipmideck restores the BMC’s auto mode so hardware is never left unmanaged.
The dashboard will not load
- Confirm the container or process is running and listening on the configured port
(
server.port/IPMIDECK_SERVER_PORT, default 3000). - Open
http://<your-ip>:3000— nothttps, unless you setserver.https: true. - Check the application logs; raise
logging.leveltodebugfor more detail.