Supermicro ipmicfg tool - how to install and use

June 25, 2025

ipmicfg Banner


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.