June 25, 2025
ipmicfg is a really useful command line utility provided by Supermicro, and is my preferred tool of choice to manage ipmi and change settings, favored over the standard ipmitool
Based on my experience, it also works rather well with Dell’s iDRAC and HPE’s iLO
Download
Download the zip from Supermicro Download Center
Once downloaded I always keep a version handy as it can be slightly inconvenient to find on Supermicro’s site
You can extract the zip and really you only need one file from it:
IPMICFG_1.36.0_build.250225/IPMICFG_1.36.0_build.250225/Linux/64bit/IPMICFG-Linux.x86_64
When I copy this file I rename it to just ipmicfg
and then store it or integrate it in to an Ansible role
to enable easy deployment to all my servers
Installation
The ipmicfg binary needs to be run from the server who’s ipmi interface you wish to manipulate
As mentioned above, I tend to use Ansible to deploy it at scale, however you can use a regular scp or sftp transfer to copy it to where you need it
$ scp IPMICFG-Linux.x86_64 you@your-server-ip:ipmicfg
Once copied, ssh to your server and make it executable for root
$ sudo chmod 700 ipmicfg
Then you have two main options: Copy it to /opt or copy it to /usr/local/bin
$ sudo cp ipmicfg /opt/
$ sudo cp ipmicfg /usr/local/bin/
The difference being that binaries in /usr/local/bin are in the shell’s path so can be executed just like # ipmicfg -m
, but
while in /opt, you’ll have to reference the full path to be able to run it like # /opt/ipmicfg -m
You need to have root privilage to run the tool
IPMICFG Cheat Sheet
Show DHCP status
ipmicfg -dhcp
# ipmicfg -dhcp
DHCP is currently disabled.
Enable DHCP
ipmicfg -dhcp on
# ipmicfg -dhcp on
Successfully enable DHCP.
Disable DHCP
ipmicfg -dhcp off
# ipmicfg -dhcp off
Successfully disable DHCP.
Show IP
ipmicfg -m
# ipmicfg -m
IP=192.168.7.222
MAC=00:FF:00:FF:00:FF
Set IP
ipmicfg -m the.new.ip.address
# ipmicfg -m 192.168.7.223
IP Address=192.168.7.223
Show Gateway
ipmicfg -g
ipmicfg -g
Gateway=192.168.7.1
Set Gateway
ipmicfg -g the.gateway.ip.address
# ipmicfg -g 192.168.7.2
Gateway=192.168.7.2
Show Netmask / Subnet
ipmicfg -k
# ipmicfg -k
Subnet Mask=255.255.255.0
Set Netmask / Subnet
ipmicfg -k the.subnet.address.netmask
# ipmicfg -k 255.255.255.0
Subnet Mask=255.255.255.0
List IPMI Users
ipmicfg -user list
# ipmicfg -user list
Maximum number of Users : 10
Count of currently enabled Users : 1
User ID | User Name | Privilege Level | Enable
------- | --------- | --------------- | ------
2 | ADMIN | Administrator | Yes
Change IPMI User Password
ipmicfg -user setpwd
# ipmicfg -user setpwd 2 SuperNewPassword
Done.
Help
Many more commands are available, but the ones mentioned above in the cheat sheet are the staple ones you’ll find yourself using 99% of the time
ipmicfg -help
# ipmicfg -help
IPMICFG Version 1.36.0 (Build 250225)
Copyright(c) 2025 Super Micro Computer, Inc.
Usage: IPMICFG params (Example: IPMICFG -m 192.168.1.123)
-help Display a list of commands
-m Shows IPv4 address and MAC.
-m <ip> Sets IPv4 address (format: ###.###.###.###).
-a <mac> Sets MAC (format: ##:##:##:##:##:##).
-k Shows Subnet Mask.
-k <mask> Sets Subnet Mask (format: ###.###.###.###).
-dhcp Gets the DHCP status.
-dhcp on Enables the DHCP.
-dhcp off Disables the DHCP.
-g Shows a Gateway IP.
-g <gateway> Sets a Gateway IP (format: ###.###.###.###).
-garp on Enables the Gratuitous ARP.
-garp off Disables the Gratuitous ARP.
-r Performs a BMC cold reset.
Detects if a BMC reset was successfully performed
on the IPMI device, use -d after -r.
-fd <option> Resets to the factory defaults without preserving
configurations.
option: 1 | Preserves User configurations
option: 2 | Restores to factory default and
default password
option: 3 | Sets user defaults to ADMIN/ADMIN
-fdl Resets IPMI to the factory default. (Clean LAN).
-fde Resets IPMI to the factory default. (Clean FRU &
LAN).
-d Detects if a BMC reset was successfully performed
on the IPMI device.
Note that this option can be only used after -r,
-fd, -fdl or -fde
-ver Gets firmware revision.
-vlan Gets VLAN status.
-vlan on [VLAN tag] Enables the VLAN and sets the VLAN tag.
If VLAN tag is not given, it uses the previously
saved value.
-vlan off Disables the VLAN.
-selftest Checks and reports the basic health status of the
BMC.
-raw Sends a RAW IPMI request and prints a response.
Format: NetFn/LUN Cmd [Data1 ... DataN]
-fru info Shows information of the FRU inventory area.
-fru list Shows all FRU values.
-fru cthelp Shows chassis type code.
-fru help Shows help of FRU Write.
-fru <field> Shows FRU field value.
-fru <field> <value> Writes FRU.
-fru backup <file> Backs up FRU to a file <Binary format>.
-fru restore <file> Restores FRU from a file <Binary format>.
-fru tbackup <file> Backs up FRU to a file <Text format>.
-fru trestore <file> Restores FRU from a file <Text format>.
-fru ver <v1> <v2> Gets/Sets the FRU version. (<v1> and <v2> are
BCD-format)
-fru dmi <$1> ... <$14> Inputs 14 parameters and writes to FRU
Chassis/Board/Product fields.
Please use the "-fru dmi" command to view the
parameters.
-sel info Shows SEL information.
-sel list [option] Shows SEL records.
-y <n years> | Filter event logs within n years
-m <n months> | Filter event logs within n months
-d <n days> | Filter event logs within n days
-sel del Deletes all SEL records.
-sel raw Shows SEL raw data.
-sdr [full] Shows SDR records and readings.
-sdr del <sdr id> Deletes the SDR record.
-sdr ver <v1> <v2> Gets/Sets the SDR version. (<v1> and <v2> are
BCD-format)
-nm nmsdr Displays NM SDR.
-nm seltime Gets SEL time.
-nm deviceid Gets the ID of the ME device.
-nm reset Reboots ME.
-nm reset2default Forces ME to reset to default settings.
-nm updatemode Forces ME to enter the update mode.
-nm selftest Gets self-test results.
-nm listimagesinfo Lists ME information of images.
-nm oemgetpower OEM Power command for ME.
-nm oemgettemp OEM Temp. command for ME.
-nm pstate Gets the maximum allowed CPU P-State.
-nm tstate Gets the maximum allowed CPU T-State.
-nm cpumemtemp Gets CPU/memory temperature.
-nm hostcpudata Gets the host CPU data.
-fan Gets the fan mode.
-fan <mode> Sets the fan mode.
-pminfo [full] Displays PMBus health information of power supply.
-psfruinfo Displays FRU health information of power supply.
-psbbpinfo Displays status of the backup battery.
-autodischarge <module> Sets auto discharge by days.
<day>
-discharge <module> Manually discharges a battery.
-user list Lists user privileges.
-user help Shows a user privilege code.
-user add <user id> <name> Adds a user.
<password> <privilege>
-user del <user id> Deletes users.
-user level <user id> Updates user privileges.
<privilege>
-user setpwd <user id> Updates a user password.
<password>
-conf download <file> Downloads IPMI configuration to a binary file.
-conf upload <file> Uploads IPMI configuration from a binary file.
<option> option: -p | Bypass warning message
-conf tdownload <file> Downloads IPMI configuration to a text file.
-conf tupload <file> Uploads IPMI configuration from a text file.
<option> option: -p | Bypass warning message
-clrint Clears chassis intrusion.
-reset <index> Resets system and forces to boot from the selected
device.
-soft <index> Initiates a soft-shutdown for OS and forces system
to boot from the selected device.
-ipv6 mode Shows the IPv6 mode.
-ipv6 mode <mode> Sets the IPv6 mode.
-ipv6 autoconfig Shows IPv6 auto configuration.
-ipv6 autoconfig on Enables IPv6 auto configuration.
-ipv6 autoconfig off Disables IPv6 auto configuration.
-ipv6 list Lists IPv6 static and dynamic addresses.
-ipv6 duid Shows IPv6 DUID.
-ipv6 dns [ip] Gets/Sets IPv6 DNS server.
-ipv6 add <id> <ip> Adds IPv6 static address.
<prefix>
-ipv6 remove <id> Removes IPv6 static address.
-ipv6 route Displays IPv6 static route status.
-ipv6 route on Enables IPv6 static route.
-ipv6 route off Disables IPv6 static route.
-ipv6 route list Lists IPv6 static router information.
-ipv6 route <id> <prefix Sets IPv6 static router information.
value> <prefix length>
<ip>
-ipv6 route clear <id> Clears IPv6 static router information.
-nvme list Displays the existing NVME SSD list.
-nvme info Displays NVME SSD information.
-nvme rescan Rescans all devices by in-band.
-nvme insert <aoc> <group> Inserts SSD by out-of-band.
<slot>
-nvme locate <HDD name> Locates SSD. (in-band)
-nvme locate <aoc> <group> Locates SSD. (out-of-band)
<slot>
-nvme stoplocate <HDD Stops locateing SSD. (in-band)
name>
-nvme stoplocate <aoc> Stops locateing SSD. (out-of-band)
<group> <slot>
-nvme remove <HDD name> Removes NVME device. (in-band)
[option1] [option2] option1: 0 | Do eject after remove (Default)
option1: 1 | Do not eject after remove
option2:-p | Bypass warning message
-nvme remove <aoc> <group> Removes NVME device. (out-of-band)
<slot> [option] option: -p | Bypass warning message
-nvme smartdata [HDD name] NVME S.M.A.R.T data.
-tas info Gets TAS information.
-tas pause Pauses a TAS service.
-tas resume Resumes a TAS service.
-tas refresh Triggers TAS to recollect data.
-tas clear Clears collected TAS data in BMC.
-tas period <sec> Sets the time length of a TAS update <limit 1 to 60
sec>.
-tp info Gets MCU information.
-tp info <type> Gets information of MCU type. (type: 1 - 3)
-tp nodeid Gets a node ID.
-tp systemname [value] Gets/Sets a system name.
-tp systempn [value] Gets/Sets a system P/N.
-tp systemsn [value] Gets/Sets a system S/N.
-tp chassispn [value] Gets/Sets a chassis P/N.
-tp chassissn [value] Gets/Sets a chassis S/N.
-tp backplanepn [value] Gets/Sets a backplane P/N.
-tp backplanesn [value] Gets/Sets a backplane S/N.
-tp nodepn [value] Gets/Sets a node P/N.
-tp nodesn [value] Gets/Sets a node S/N.
-summary Displays FW and BIOS information.
-hostname [value] Gets/Sets a host name.
-dcmi cap Lists information of DCMI capabilities.
-dcmi power Gets the DCMI power readings.
-dcmi ctl [value] Gets/Sets the DCMI management controller ID string.
-mel list [option] Shows BMC maintenance event log.
-y <n years> | Filter event logs within n years
-m <n months> | Filter event logs within n months
-d <n days> | Filter event logs within n days
-mel download <file> Downloads a BMC maintenance event log to a file.
-mel clear [0|1] Clears a BMC maintenance event log. (without/with
log, default is 0)
-addrptl [option] Gets/Sets IP address protocol.
option: 1 | IPv4
option: 2 | IPv6
option: 3 | Dual
-lockdown Checks the system's lockdown mode.
-lani [option] Gets/Sets LAN interface.
-linkstatus Shows network link status.
-sbbfru list Shows all midplane FRU values of SBB.
-sbbfru <field> Shows all the midplane FRU values of the SBB.
-sbbfru <field> <value> Writes the midplane FRU field value of the SBB.
-sbbinfo Shows all midplane node information of the SBB.