SMCIPMITool supermicro CLI utility

Common interfaces to a computer system that system administrators can use to monitor system health and manage the system

SMCIPMITool supermicro CLI utility

Postby lik » Sat Mar 10, 2012 5:05 pm

SMCIPMITool is a command line interface utility for the Supermicro SuperBlade and IPMI device.

The most useful feature which I have found handy for myself is to spawn KVM launcher directly from the CLI. Thus, no need to use web interface or launch additional applications (IPMIview, for example).
Download and unpack it to the destination directory:
Code: Select all
wget "https://www.supermicro.com/wdl/utility/SMCIPMITool/Linux/SMCIPMITool_2.27.0_build.220824_bundleJRE_Linux_x64.tar.gz"

Start KVM launcher:
Code: Select all
# java -jar SMCIPMITool.jar 10.1.1.2 ADMIN ADMINPASS ukvm
Starting iKVM Process...Done
Please wait for iKVM window

Get IPMI OEM summary:
Code: Select all
# java -jar SMCIPMITool.jar 10.1.1.2 ADMIN ADMINPASS ipmi oem summary
Summary
-------------------------------------------
IP                     : 10.1.1.2
BMC MAC Address        : 0C:C4:7A:1C:BC:9F
Firmware Revision      : 1.85
Firmware Build Time    : 12/31/2014
BIOS Version           : 1.0a
BIOS Build Time        : 08/29/2014
System LAN1 MAC Address: 0C:C4:7A:1F:70:18
System MAC Address 2   : 0C:C4:7A:1F:70:19
System MAC Address 3   : 0C:C4:7A:1F:70:1A
System MAC Address 4   : 0C:C4:7A:1F:70:1B

Or create new IPMI user with Administrator level privileges:
Code: Select all
# java -jar SMCIPMITool.jar 10.1.1.2 ADMIN ADMINPASS user add 5 FOOUSER USERPASSWORD 4

where:
Code: Select all
# java -jar SMCIPMITool.jar 10.1.1.2 ADMIN ADMINPASS user add
Usage: user add <user id> <user name> <password> <privilege>
For privilege level:
Administrator level : 4
Operator level      : 3
User level          : 2
Callback            : 1

Basic usage syntaxt is:
Code: Select all
SMC IPMI Tool V2.27.0(Build 220824) - Super Micro Computer, Inc.
Usage:
      SMCIPMITool <IP> <username> <password> [commands ... ]

Available commands:
Code: Select all
# java -jar SMCIPMITool.jar 10.1.1.2 ADMIN ADMINPASS
Command:
Command(s):
superblade                       SuperBlade blade management (13)
microblade                       MicroBlade & 8U/4U SuperBlade blade management (8)
ipmi                             IPMI device management (33)
sel                              IPMI system event log (5)
user                             IPMI user management (7)
nm                               Node Management V1.5 (16)
nm20                             Node Management V2.0/V3.0 (Romley platform or later) (42)
nm30                             Node Management V3.0 (Grantley platform or later) (10)
nm40                             Node Management V4.0 (2)
dcmi                             DCMI Management (4)
bios                             BIOS update (10)
pminfo [<busId> <SlaAddr>]       Power supply PMBus health
psfruinfo [<busId> <SlaAddr>]    Power supply FRU health
psbbpInfo [<busId> <SlaAddr>]    Battery Backup Power status
mdr                              MDR data region management (2)
shell                            Shell mode
ver                              SMCIPMITool version
list [keyword]                   List all or find available commands
exec <file> [loop] [delay]       Execute commands from file
execm <file> [loop] [delay]      Execute commands from file for TaskRun
find [<Start> <End> <netMask>]   Find IPMI device from local or IP range
found                            found IPMI devices (6)
host                             Host management (6)
hostrun <host|group> <command>   Run a command on host or group
mg                               Manage group command (8)
sc                               Execute shell command
ukvm                             General KVM launcher
kvm                              SIM KVM console (graphic mode)
kvmw                             SIM(W) KVM console (graphic mode)
kvmwa                            SIM(WA) KVM console (graphic mode)
kvmwx9                           SIM(X9) KVM console (graphic mode)
prompt <type> <on|off>           Config information displayed on prompt
sol                              SOL Commands
hdd                              HDD status (6)
bbp                              Battery Backup Power Management (5)
tp                               TwinPro MCU Information (18)
wsiso                            Mount ISO file via Windows Share or SAMBA (for X9 and later) (3)
tas                              TAS settings (7)
nvme                             NVMe (Non-Volatile Memory Express) (8)
nodekey                          Node Product Key (2)
rsc [filename.ext]               iKVM remote screen capture(X9 or later) ext:png|jpg
rko [filepath]                   iKVM remote keyboard operation(X9 or later)
diag                             Super Diagnostics (3)
mel                              Maintenance Event Log (For X11DP or later) (3)
hwinfo                           Display processor and memory information
bladePosition                    Display current blade/node position in CMM
bladeCmmInfo                     Display cmm information which current blade located
crashDump                        Trouble shooting file download (2)
redfish                          redfish API management (9)


Full list of available commands:
Code: Select all
# java -jar SMCIPMITool.jar 10.1.1.2 ADMIN ADMINPASS list
Command: Main available commands
Command(s):
superblade                       SuperBlade blade management (13)
microblade                       MicroBlade & 8U/4U SuperBlade blade management (8)
ipmi                             IPMI device management (33)
sel                              IPMI system event log (5)
user                             IPMI user management (7)
nm                               Node Management V1.5 (16)
nm20                             Node Management V2.0/V3.0 (Romley platform or later) (42)
nm30                             Node Management V3.0 (Grantley platform or later) (10)
nm40                             Node Management V4.0 (2)
dcmi                             DCMI Management (4)
bios                             BIOS update (10)
pminfo [<busId> <SlaAddr>]       Power supply PMBus health
psfruinfo [<busId> <SlaAddr>]    Power supply FRU health
psbbpInfo [<busId> <SlaAddr>]    Battery Backup Power status
mdr                              MDR data region management (2)
shell                            Shell mode
ver                              SMCIPMITool version
list [keyword]                   List all or find available commands
exec <file> [loop] [delay]       Execute commands from file
execm <file> [loop] [delay]      Execute commands from file for TaskRun
find [<Start> <End> <netMask>]   Find IPMI device from local or IP range
found                            found IPMI devices (6)
host                             Host management (6)
hostrun <host|group> <command>   Run a command on host or group
mg                               Manage group command (8)
sc                               Execute shell command
ukvm                             General KVM launcher
kvm                              SIM KVM console (graphic mode)
kvmw                             SIM(W) KVM console (graphic mode)
kvmwa                            SIM(WA) KVM console (graphic mode)
kvmwx9                           SIM(X9) KVM console (graphic mode)
prompt <type> <on|off>           Config information displayed on prompt
sol                              SOL Commands
hdd                              HDD status (6)
bbp                              Battery Backup Power Management (5)
tp                               TwinPro MCU Information (18)
wsiso                            Mount ISO file via Windows Share or SAMBA (for X9 and later) (3)
tas                              TAS settings (7)
nvme                             NVMe (Non-Volatile Memory Express) (8)
nodekey                          Node Product Key (2)
rsc [filename.ext]               iKVM remote screen capture(X9 or later) ext:png|jpg
rko [filepath]                   iKVM remote keyboard operation(X9 or later)
diag                             Super Diagnostics (3)
mel                              Maintenance Event Log (For X11DP or later) (3)
hwinfo                           Display processor and memory information
bladePosition                    Display current blade/node position in CMM
bladeCmmInfo                     Display cmm information which current blade located
crashDump                        Trouble shooting file download (2)
redfish                          redfish API management (9)

Command: superblade
Command(s):
system                           SuperBlade system status overview
failure                          SuperBlade system failure report
blade                            SuperBlade blade management (2)
gigabit                          SuperBlade gigabit switch management (2)
power                            SuperBlade power supply management (3)
ib                               SuperBlade infiniband management (2)
cmm                              SuperBlade CMM management (2)
listtemp                         SuperBlade system temperatures
allsel <filename>                SuperBlade all Blade SEL to CSV
burst                            SuperBlade power burst control (8)
listmac                          SuperBlade module mac list
midPlaneFRU                      SuperBlade system midPlane FRU information
powerconsumption                 SuperBlade system power consumption

Command: superblade blade
Command(s):
status                           Blade status
<blade index(es)>                Index number of blade (10)

Command: superblade blade <blade index(es)>
Command(s):
status                           Blade status
power                            Power control
kvm                              Request KVM switch
uid                              on/off UID LED
sensor                           Sensors status
bmc                              BMC(SIMBL) LAN configuration (7)
config                           Blade motherboard configuration
alias [name]                     Get/Set Blade alias name
user                             BMC(SIMBL) User management (5)
sn                               Get Blade MB serial number

Command: superblade blade <blade index(es)> bmc
Command(s):
ip [IP]                          Get/Set IP. Format:###.###.###.###
mac [mac]                        Get/Set MAC. Format:##:##:##:##:##:##
gateway [gateway_IP]             Get/Set gateway. Format:###.###.###.###
netmask [netmask]                Get/Set netmask. Format:###.###.###.###
dhcp [enable|disable]            Enable/Disable DHCP
vlan [<enable|disable> <tag>]    Display/Enable/Disable VLAN
ipmb <netFn> <cmd> [data]        Send IPMI raw command

Command: superblade blade <blade index(es)> user
Command(s):
list                             List user
add                              Add user
delete                           Delete user
level                            Update user level
setpwd                           Update user password

Command: superblade gigabit
Command(s):
status                           Gigabit switch status
<gigabit index(es)>              Index number of gigabit switch (7)

Command: superblade gigabit <gigabit index(es)>
Command(s):
status                           Gigabit Switch status
power                            Power control
wss                              WSS web configuration
ipmode []                        IP Mode.1->static IP, 2->DHCP
boot []                          Boot Image.1->main image, 2->fallback image
restart                          Soft restart
fd                               Reset to factory default

Command: superblade power
Command(s):
status                           Power supply status
policy [powerPolicy]             Power supply policy setting
<power index(es)>                Index number of power supply (3)

Command: superblade power <power index(es)>
Command(s):
status                           Power Supply status
power                            Power supply power control
fan                              Power supply fan control

Command: superblade ib
Command(s):
status                           Infiniband status
<ib index(es)>                   Index number of Infiniband switch (2)

Command: superblade ib <ib index(es)>
Command(s):
status                           Infiniband status
power                            Infiniband power control

Command: superblade cmm
Command(s):
status                           CMM status
<cmm index>                      Index number of a CMM (13)

Command: superblade cmm <cmm index>
Command(s):
status                           CMM status
dtime [datetime]                 Get/Set CMM date/time
ntp <UTC offset> <NTP1> [NTP2]   Sync time with NTP servers
reset                            Reset CMM
flash <filename>                 Flash CMM firmware
ver                              CMM firmware version
ip [ip]                          Get/Set IP. Format:###.###.###.###
mac [mac]                        Get/Set MAC. Format:##:##:##:##:##:##
gateway [gateway_IP]             Get/Set gateway. Format:###.###.###.###
netmask [netmask]                Get/Set netmask. Format:###.###.###.###
syncfg                           Sync configuration to slave CMM
opmode [mode]                    Get/Set CMM OP mode. 0:Enterprise, 1:Office
dhcp [enable|disable]            Enable/Disable DHCP

Command: superblade burst
Command(s):
allUp                            Power burst up all blades
allDown                          Power burst down all blades
allReset                         Power burst reset all blades
allSoftshutdown                  Power burst softshutdown all blades
up <index(es)>                   Power burst up blades (ex: 1 2 5)
down <index(es)>                 Power burst down blades (ex: 1 2 5)
reset <index(es)>                Power burst reset blades (ex: 1 2 5)
softshutdown <index(es)>         Power burst softshutdown blades (ex: 1 2 5)

Command: microblade
Command(s):
summary                          MicroBlade summary
node                             MicroBlade node (10)
switch                           MicroBlade switch (5)
psu                              MicroBlade PSU (3)
fru                              Component fru info (4)
powerConsumption                 MicroBlade enclosure power consumption
kvm                              MicroBlade KVM
cmmdiag [filename]               CMM diag

Command: microblade node
Command(s):
sensor  [<bladeIndex> [nodeIndex]]       MicroBlade sensor
status  [<bladeIndex> [nodeIndex]]       MicroBlade status
power   [<bladeIndex> <nodeIndex>]       MicroBlade node power status
ip      [<bladeIndex> <nodeIndex>]       MicroBlade node ip
dhcp    [<bladeIndex> <nodeIndex>]       MicroBlade node ip mode
mac     [<bladeIndex> <nodeIndex>]       MicroBlade node mac
mask    [<bladeIndex> <nodeIndex>]       MicroBlade node mask
gateway [<bladeIndex> <nodeIndex>]       MicroBlade node gateway
name    [<bladeIndex> <nodeIndex>]       MicroBlade node name
uid     [<bladeIndex> <nodeIndex>]       Microblade node uid control

Command: microblade switch
Command(s):
info     [switch index]                  MicroBlade switch infos
power    <switch index> [option]         MicroBlade switch power control
username <switch index> [username]       MicroBlade switch Username
lan                                      MicroBlade LAN settings (4)
getTime <switch index>                   MicroBlade switch Time

Command: microblade switch lan
Command(s):
ip <switch index> [ip]                   MicroBlade switch LAN IP
dhcp <switch index> [status]             MicroBlade switch LAN IP Mode
mask <switch index> [netMask]            MicroBlade switch LAN Mask
gateway <switch index> [gateway]         MicroBlade switch LAN Gateway

Command: microblade psu
Command(s):
info [psu index]                 MicroBlade PSU Infos
fanMode [Auto:0 | Manual:1]      MicroBlade PSU fan mode
fanSpeed [Index (1 to 10)]       MicroBlade PSU fan speed

Command: microblade fru
Command(s):
cmm                              MicroBlade CMM fru
midPlane                         MicroBlade Middle Plane fru
switch                           MicroBlade switch fru
psu                              MicroBlade power supply fru

Command: ipmi
Command(s):
sensor [--full]                                          Sensor status
power                                                    Power control
acpi                                                     ACPI status
lan                                                      LAN configruation (13)
fru                                                      FRU information
fruw <field> <value>                                     Write FRU
frubackup <filename>                                     Backup FRU information
frurestore <filename>                                    Restore FRU information
oem                                                      OEM Commands (22)
reset                                                    Perform BMC cold reset
fd <option>                                              Perform BMC factory default
ver                                                      IPMI device version
delsdr <SDR record ID>                                   Delete SDR
sessioninfo                                              Session Info
fan [mode]                                               Get/Set Fan Mode
flash  <filename>                                        Flash SIM IPMI firmware
flashw <filename> [Preserve_opt]                         Flash SIM(W) IPMI firmware
flashr <filename>                                        Flash Renesas (X9&B9,*.ima) IPMI firmware
flashh <filename> [Preserve_opt]                         Flash Hermon (X8&X9,*.bin) IPMI firmware
flasha <filename> [Preserve_opt]                         Flash ASPEED (X10, X11 and later,*.bin) IPMI firmware
flashrf <filename> [Preserve_opt]                        Flash ASPEED (X12 and later,*.bin) IPMI firmware
uflash <filename> [Preserve_opt]                         Universal IPMI firmware flash command support X10 and later
raw <netFn> <cmd> [data]                                 Send IPMI raw command
ipmb <ch> <addr> <netFn> <cmd> ...                       Send IPMB raw command
ipmboem <ch> <addr> <netFn> <cmd> ...                    Send IPMB(OEM) raw command
watchdog                                                 Watchdog timer commands (3)

Command: ipmi lan
Command(s):
ip [ip]                                  Get/Set IP. Format:###.###.###.###
mac [mac]                                Get/Set MAC. Format:##:##:##:##:##:##
gateway [gateway_IP]                     Get/Set gateway. Format:###.###.###.###
netmask [netmask]                        Get/Set netmask. Format:###.###.###.###
snmp [<seq> <ip> [mac] [on/off]]         Get/Set SNMP destination
snmpcomm [community string]              Get/Set SNMP community string
arp [on|off]                             On/Off Gratuitous ARP
dhcp [enable|disable]                    Enable/Disable DHCP
vlan [<enable|disable> <tag>]            Display/Enable/Disable VLAN
dns [<Pri._IP> <Sec._IP>]                Get/Set DNS server (OEM)
protocol [protocol status]               Get/Set IP protocol
ipv6                                     IPV6 settings (8)
linkStatus                               Link Status Infos

Command: ipmi lan ipv6
Command(s):
list                                             List IPv6 static IP address
add <id> <ip> [prefix]                           Add IPv6 static IP address to list
clear <id>                                       Clear IPv6 static IP address from list
mode [stateless:0|stateful:1|disabled:2]         Get/Set IPv6 mode
autoconfig [off:0|on:1]                          Get/Set IPv6 autoconfig
dns [ip | clear]                                 IPv6 DNS server setting
route                                            IPv6 static route settings (4)
duid                                             Display IPv6 duid

Command: ipmi lan ipv6 route
Command(s):
status [on | off]                IPv6 static route status
list                             IPv6 static route list
add <...>                        Add IPv6 static route
clear <id>                       Clear IPv6 static route

Command: ipmi oem
Command(s):
clrint                           Clear chassis Intrusion
id                               MB ID
uid [on|off]                     On/Off UID LED
gethostname                      Get IPMI host name
sethostname <hostname>           Set IPMI host name
backup <filename>                Configuration backup to file (X7 Only)
restore <filename> <option>      Configuration restore from file (X7 Only)
backupcfg <filename>             Configuration backup to binary file (ATEN firmware for X10 and later)
restorecfg <filename>            Configuration restore from binary file (ATEN firmware for X10 and later)
getcfg <filename>                Configuration backup to text file (ATEN firmware for X10 and later)
setcfg <filename>                Configuration restore from text file (ATEN firmware for X10 and later)
lani [0|1|2|3|4|5|6|7|8]         LAN Interface
mac                              System MAC address
x10cfg                           OEM configuration setting for X10 and later (9)
portService                      Get/Set port settings (6)
smbpbi                           Get/Set smbpbi commands (1)
systemLockdown [on|off]          Get/Set SystemLockdown
summary                          FW and Bios Infos

Command: ipmi oem x10cfg
Command(s):
ldap <...>                       Configure LDAP authentication
ad                               Configure active directory authentication (4)
radius <...>                     Configure RADIUS
ipCtrl                           Configure IP access rules (5)
ntp                              Configure Date and Time Settings (6)
ddns                             Configure dynamic update properties for dynamic DNS (5)
alert                            Add, edit or remove alert destinations (8)
smtp                             Configure the SMTP mail server (7)
dns [<ip> [number]]              Get/Set DNS IPv4/v6

Command: ipmi oem x10cfg ad
Command(s):
list                             List active directory server and role group
server <...>                     Edit Active Directory server
add <...>                        Add/Edit role group
delete <group id>                Delete role group

Command: ipmi oem x10cfg ipCtrl
Command(s):
list                             List IP access control
status <enable/disable>          Enable/Disable IP access control
add <...>                        Add IP access control
edit <...>                       Edit IP access control
delete <rule no>                 Delete IP access control

Command: ipmi oem x10cfg ntp
Command(s):
list                             List configuration date and time setting
state [enable|disable]           Get/Set NTP state
timezone [-1200 ~ +1400]         Get/Set NTP time zone
daylight [yes|no]                Get/Set NTP daylight saving time
primary [server]                 Get/Set primary NTP server
secondary [server]               Get/Set secondary NTP server

Command: ipmi oem x10cfg ddns
Command(s):
list                             List dynamic DNS configuration setting
state [enable|disable]           Get/Set dynamic DNS state
server [ip]                      Get/Set dynamic DNS server IP
hostname [name]                  Get/Set BMC host name
tsig [enable|disable]            Get/Set TSIG authentication

Command: ipmi oem x10cfg alert
Command(s):
list [number]                    List alert destination settings
level <number> [level]           Get/Set event severity
ip <number> [ip]                 Get/Set alert destination IP
mail <number> [mail]             Get/Set alert mail address
subject <number> [subject]       Get/Set alert mail subject
message <number> [message]       Get/Set alert mail message
send <number>                    Send a test alert mail to destination
delete <number>                  Delete alert destination

Command: ipmi oem x10cfg smtp
Command(s):
list                             List SMTP mail server configuration
ssl [enable|disable]             Get/Set SMTP SSL authentication state
server [server name]             Get/Set SMTP server
port [number]                    Get/Set SMTP port number
user [name]                      Get/Set SMTP user name
password <password>              Set SMTP password
sender <mail>                    Get/Set SMTP sender's address

Command: ipmi oem portService
Command(s):
http [port]                      Get/Set http port
https [port]                     Get/Set https port
ikvm [port]                      Get/Set IKVM port
ssh [port]                       Get/Set ssh port
wsman [port]                     Get/Set wsman port
ssl [y/n]                        Enable/Disable SSL redirection

Command: ipmi oem smbpbi
Command(s):
gpu                              Get/Set GPU commands (1)

Command: ipmi oem smbpbi gpu
Command(s):
info                             List the information

Command: ipmi oem uniquePassword
Command(s):
set <password>                   Set unique password
verify <password>                Verify unique password
lock                             Lock down unique password

Command: ipmi oob
Command(s):
confirm <count of raw data>
[raw data] <verification offset>
<compare byte> <progress byte>
<timeout LSB> <timeout MSB>      The function will circle confirm result of raw data for OOB project
reboot                           This function will soft shutdown for OOB project

Command: ipmi watchdog
Command(s):
reset                                    Reset watchdog timer
set <action> <countdown> <interval>      Set watchdog timer
info                                     Get watchdog timer

Command: sel
Command(s):
info                             System event log information
list                             List system event log
csv <filename>                   Save SEL as csv to file
clear                            Clear system event log
time [YYYYMMDDhhmmss]            Get/Set SEL time

Command: user
Command(s):
add <user id> <user name> <password> <privilege>         Add user
list                                                     List user
delete <user id>                                         Delete user
level <user id> <privilege>                              Update user level
setpwd <user id> <password>                              Update user password
test  <user name> <password>                             Test login

Command: nm
Command(s):
detect                           detect if ME presented
ver                              Node Manager version
cap                              Node Manager capabilities
status [enable|disable]          Enable/Disable Node Manager Global Policy
stat [id]                        Get power statistics(or by PolicyId)
resetStat [id]                   Reset power statistics(or by PolicyId)
pstate [value]                   Get/Set P-State
tstate [value]                   Get/Set T-State
ptstate                          Show P-State and T-State
alert [dest]                     Get/Set alert destination (See LAN Config)
scanPolicy [end]                 Scan Policy
addPolicy <id> <limit> <t> <p>   Add Policy
delPolicy <id>                   Delete Policy
getPolicy <id>                   Get Policy
enablePolicy <id>                Enable Policy
disablePolicy <id>               Disable Policy

Command: nm20
Command(s):
nmSDR                                                                    Display NM SDR
selTime                                                                  Get SEL time
deviceID                                                                 Get ME Device ID
reset                                                                    Reboots ME
reset2Default                                                            Force ME reset to Default
updateMode                                                               Force ME to Update Mode
powerOff                                                                 Set ME power state off
selfTest                                                                 Get Self Test Results
mode                                                                     Get ME running Mode
listImagesInfo                                                           List ME Images information
oemGetPower                                                              OEM Power command for ME
oemGetTemp                                                               OEM Temp. command for ME
globalEnable                                                             Global Enable NM policy control
globalDisable                                                            Global Disable NM policy control
domainEnable <domain ID>                                                 per Domain Enable NM policies
domainDisable <domain ID>                                                per Domain Disable NM policies
policyEnable <domain ID> <policy ID>                                     per Policy Enable NM policy
policyDisable <domain ID> <policy ID>                                    per Policy Disable NM policy
addPowerPolicy <pID> <limit> <t> <p> [<ca>]                              Add Power Policy
getPolicy <domain ID> <policy ID>                                        Get Policy
delPolicy <domain ID> <policy ID>                                        Delete Policy
scanPolicy                                                               Scan all presented Policies
addPolicy <dID> <pID> <ptt> <agg> <a> <l> <t> <tl> <p> [<ca>]            Add Policy
statistics <mode> <domainID> <policy ID>                                 NM statistics
resetStatistics <mode> <domain ID> <policy ID>                           Reset NM statistics
cap <domain ID> <Trigger Type>                                           NM Capabilities
ver                                                                      NM Version
alert [dest]                                                             NM Alert
pstate [value]                                                           Get/Set Max allowed CPU P-State
tstate [value]                                                           Get/Set Max allowed CPU T-State
ptstate                                                                  Show CPU P-State and T-State
cpuCore [cores]                                                          Get/Set max allowed logical processors
totalPower <domainID> [watts]                                            Get/Set Total Power Budget
cpuMemTemp                                                               Get CPU/Memory temperature
hostCpuData                                                              Get host CPU data
getAlertThreshold <domainId> <policyId>                                  Get Policy Alert Thresholds
setAlertThreshold <domainId> <policyId> <count> [<th0> <th1> <th2>]      Set Policy Alert Thresholds
setPowerDrawRange <domainID> <min> <max>                                 Set Node Manager Power Draw Range
policySuspendPeriod                                                      Policy Suspend Periods (5)
dcmi                                                                     DCMI Power Management Commands (5)
sensor                                                                   Get Sensor
summary                                                                  Summary

Command: nm20 policySuspendPeriod
Command(s):
get <domainId> <policyId>                                                                        Get Policy Suspend Periods
add <domainId> <policyId> <startTime> <stopTime> <days>                                          Set Policy Suspend Periods
update <domainId> <policyId> <periodId> [start=<startTime> stop=<stopTime> days=<days>]          Update Policy Suspend Periods
delete <domainId> <policyId> <periodId>                                                          Delete Policy Suspend Periods
clear <domainId> <policyId>                                                                      Clear Policy Suspend Periods

Command: nm20 dcmi
Command(s):
cap                                              Get DCMI Capability Info
powerReading <mode> [<period>]                   Get Power Reading
powerLimit [<action> <limit> <cTime> <period>]   Get/Set Power Limit
powerLimitEnable                                 Enable Power Limit
powerLimitDisable                                Disable Power Limit

Command: nm30
Command(s):
cupsCap                                                                  CUPS Capability
cupsData                                                                 CUPS Data
cupsConfig                                                               CUPS Configuration
cupsPolicy                                                               CUPS Policies
cupsCore                                                                 Core CUPS Utilization
cupsIO                                                                   IO CUPS Utilization
cupsMem                                                                  Memory CUPS Utilization
setCupsPolicy <domainId> <storage> <alert> <threshold> <avgWindow>       Set CUPS Policy
cupsPolicyEnable <domainId>                                              Enable CUPS Policy
cupsPolicyDisable <domainId>                                             Disable CUPS Policy

Command: nm40
Command(s):
setTurboSyncRatio <socket> <limit>       Set Turbo Synchronization Ratio
getTurboSyncRatio <socket> <core>        Get Turbo Synchronization Ratio

Command: dcmi
Command(s):
find [<Start> <End> <netMask>]   Find DCMI device from local or IP range
cap                              List DCMI Capabilities Info
powerStatus                      Display DCMI power reading information
MCID [MCID String]               List Get/Set Management Controller Identifier String

Command: bios
Command(s):
isActivated                                                      Check if Node product key(SFT-OOB-LIC) activated
update <filename> [options]                                      Update BIOS (options:-N -R -MER suggested)
rfupdate <filename> [options]                                    Update BIOS via Redfish (For X12 and later)
ver                                                              Check BIOS info
image <filename>                                                 Check BIOS image file
setKey <ProductKey>                                              Activate Node product key(SFT-OOB-LIC) for BIOS update
setKeys <file>                                                   Activate Node product keys(SFT-OOB-LIC) for BIOS update
getMACs <start> <end> <netMask> [<username> <password>]          Collect MAC addresses into file <file>

Command: mdr
Command(s):
smbios                           Display SMBIOS information (12)
cableID                          Display PCIe Cable EEPROM Data

Command: mdr smbios
Command(s):
biosInfo                         Display BIOS information
systemInfo                       Display system information
baseboardInfo                    Display baseboard/module information
processorInfo                    Display processor information
systemSlots                      Display system slot information
memoryDevice                     Display memory devices
nicInfo                          Display NIC information
pcieInfo                         Display PCIe information
storageDevice                    Display storage device information
all                              Display all information
summary                          Display summary information
dumpToFile <filename>            Dump SMBIOS data to file

Command: found
Command(s):
list                             List found IPMI devices
clear                            Clear found IPMI devices
copy <index1> [index2] [...]     Copy to default managed group
copyall                          Copy all to default managed group
saveAs <filename>                Save found IPMI devices to file
refresh                          Refresh found IPMI devices

Command: host
Command(s):
list                                     List host data
reload                                   Reload host data
add <host> <ip> [username] [password]    Add a host
remove <host>                            Remove a host
rename <old name> <new name>             Rename a host
group                                    Host group data management (5)

Command: host group
Command(s):
add <group> [host] ...           Add a host group
remove <group>                   Remove a host group
rename <old name> <new name>     Rename a host group
addhost <group> <host> ...       Add a host into group
removehost <group> <host> ...    Remove a host from group

Command: mg
Command(s):
list                             List current managed devices
save <filename>                  Save current managed devices to file
load <filename>                  Load managed devices from file
default                          Manage default group
found                            Manage found group
sort                             Sort current managed devices
clear                            Clear all current managed devices
refresh                          Refresh managed devices

Command: deploy
Command(s):
one <ISO file>                   Deploy BIOS/FW for general Server
all <ISO file>                   Deploy BIOS/FW for SuperBlade
check                            Check SuperBlade for deploy task
status                           Display current status of deployment process
clear                            clear and remove all Virtual Media session

Command: hdd
Command(s):
map                              Display HDD present/error status
info [device id]                 Display HDD info table
disk <index> [device id]         Display HDD detail info by index
lmap                             Display Logical HDD present status
linfo                            Display Logical HDD info table
ldisk <index>                    Display Logical HDD detail info by index

Command: bbp
Command(s):
status                           Display battery backup power status
autoDischarge <module> <day>     Set auto discharge by days
discharge <module>               Manually discharge battery
shutdown <on|off> [sec]          On/Off graceful shutdown after timeout
shutdownTimeout                  Get timeout value for graceful shutdown

Command: mbt
Command(s):
start <SIP> <EIP>  <MBT_ini>     Start MBT ECO process
stop                             Stop MBT ECO process
status                           Process status
found                            List found Devices
remove <T-ID>                    Remove Task from working list
oem $TASKID <option>             OEM function used for batch
monitor <on|off> [interval]      Status monitor

Command: mbt rot
Command(s):
provision                                Get/Set Provision commands (2)
cpld                                     CPLD commands (3)
copy <Flash> <Region> [Preserve_opt]     copy active BIOS/BMC to backup/golden region
erase <Flash> <Region> [Preserve_opt]    erase BIOS/BMC backup/staging region

Command: mbt rot provision
Command(s):
status                           Get Provision status
start                            Start Provision operation

Command: mbt rot cpld
Command(s):
update                           CPLD update
ver                              Get the CPLD version
status                           Get the signed key status

Command: tp
Command(s):
info                             Get MCU Info
nodeID                           Get Node ID
systemName  [data]               Get/Set System Name
systemPN                         Get System P/N
systemSN                         Get System S/N
chassisPN                        Get Chassis P/N
chassisSN                        Get Chassis S/N
backPlanePN                      Get BackPlane P/N
backPlaneSN                      Get BackPlane S/N
chassisLocation [data]           Get/Set Chassis Location (Hex Value)
bpLocation                       Get/Set BackPlane Location (FatTwin only, 1:Right 2:Left)
bpnID                            Get BPN ID
bpnRevision                      Get BPN Revision
nodePN                           Get NodeP/N
nodeSN                           Get NodeS/N
configID [id]                    Get/Set Config ID

Command: wsiso
Command(s):
status                           Status of Virtual Media
mount <...>                      mount ISO file
umount                           umount ISO file

Command: psu
Command(s):
check                            Check if power supply support firmware update
update <slaveAddr> <file>        Update power supply firmware

Command: tas
Command(s):
info                             Get TAS Information
pause                            Pause TAS Service
resume                           Resume TAS Service
refresh                          Trigger TAS to recollect data
clear                            Clear TAS collected data in BMC
period <sec>                     Set TAS update period (limit 5 to 60 sec)
exec <cmd>                       Execute a user's specified command

Command: nvme
Command(s):
list                                     NVME Summary
info                                     PCIe SSD NVME Info
rescan                                   Rescan all devices by in band
insert     <aoc> <group> <slot>          Insert SSD by out of band
locate     <HDD Name>                    Locate SSD
stopLocate <HDD Name>                    Stop Locate SSD
remove     <HDD Name>                    Remove NVME device
smartData  [HDD Name]                    NVME SMART Data

Command: nodekey
Command(s):
list                             List Node Product Key

Command: vrm
Command(s):
update                           Update VRM Firmware (4)
fileformat <file path>           Display vrm file format
compare                          Check if the file matches current VRM value (1)

Command: vrm update
Command(s):
3897 <file path>                 Update VRM for chip PX3897
3746 <file1 path> <file2 path>   Update VRM for chip PX3746
memUpdate                        Update VRM for memory
memCheck                         Update VRM current value

Command: vrm compare
Command(s):
3746 <file1 path> <file2 path>   Check for chip PX3746

Command: diag
Command(s):
start <diag Image>               Start diagnostics on target system
download <filename>              Download diagnostic result
display <JSON file>              Display diagnostic result from file

Command: mel
Command(s):
list                             List maintenance event log
download <filename>              Download BMC maintenance event log to a file
clear                            Clear BMC maintenance event log

Command: crashDump
Command(s):
generate                         Generate crash log
download <fileName>              Download crash log

Command: redfish
Command(s):
version                          Redfish version number
accountService                   Redfish account service (4)
ipctrl                           IP access control (5)
firmwareInventory                Firmware inventory management (2)
eventService                     Redfish event (2)
hostInterface                    Host Interface (1)
bpnCPLDUpdate <CPLD file>        Update BPN CPLD
biosConfiguration                BIOS configuration (8)
kvm                              HTML5 version iKVM

Command: redfish accountService
Command(s):
ad                               ActiveDirectory settings (6)
ldap                             LDAP settings (12)
radius <...>                     Radius settings
lockoutSetting [...]             Manage lockout settings

Command: redfish accountService ad
Command(s):
status [enabled]                 Enable/Disable Active Directory Service
list                             List active directory server and role group
addAddress <IP> <Port>           Add new server address
addRole <group> <user> <role>    Add remote role mapping
deleteAddress <number>           Delete server address
deleteRole <number>              Delete remote role mapping

Command: redfish accountService ldap
Command(s):
info                             LDAP Information
status [enabled]                 Enable/Disable LDAP Service
bindDN [name]                    Bind DN
bindPassword <password>          Set bind password
username [username]              Get/Set username attribute
group [group attribute]          Get/Set group attribute
addAddress <IP> <Port> [ssl]>    Add new server address
deleteAddress <number>           Delete server address
addSearchBase <search base>      Add search base
deleteSearchBase <number>        Delete search base
addRole <group> <user> <role>    Add remote role mapping
deleteRole <number>              Delete remote role mapping

Command: redfish ipctrl
Command(s):
status [enabled]                         Enable/Disable IP access control
list                                     List IP access control
Add <IP> <Prefix> <Policy>               Add IP access control policy
edit <rule no> <IP> <Prefix> <Policy>    Edit IP access control policy
delete <rule no>                         Delete IP access control policy

Command: redfish firmwareInventory
Command(s):
info                             Get firmware inventory information
install                          firmware inventory actions

Command: redfish eventService
Command(s):
alert                            List, set, delete and send test alert (7)
smtp                             Configure the SMTP mail server (8)

Command: redfish eventService alert
Command(s):
list                             List alert settings
setSNMPv1 <..>                   Set alert by SNMPv1
setSNMPv3 <..>                   Set alert by SNMPv3
setSMTP <..>                     Set alert by SMTP
setRedfish <..>                  Set alert by Redfish
delete <number>                  Delete alert
sendTest                         Send alert test

Command: redfish eventService smtp
Command(s):
list                             List SMTP mail server configuration
server [server name]             Get/Set SMTP server
port [number]                    Get/Set SMTP port number
protocol [mode]                  Get/Set SMTP connection protocol
authentication [mode]            Get/Set SMTP authentication protocol
user [name]                      Get/Set SMTP user name
password <password>              Set SMTP password
sender [mail]                    Get/Set SMTP sender's address

Command: redfish hostInterface
Command(s):
status [enabled]                 Enable/Disable Host Interface

Command: redfish biosConfiguration
Command(s):
get [command]                    Get BIOS Configuration
set <command> <value>            Set BIOS Configuration
menu                             Display BIOS Configuration menu
list                             Display BIOS Configuration pending setting
clear                            Clear BIOS Configuration pending setting
search [keyword]                 Search BIOS Configuration keyword
save [<filename> [option]]       BIOS Configuration backup to property file
load <filename>                  BIOS Configuration restore from property file

Command: midFRU
Command(s):
init                             Initialize chassis FRU information in midplane
list                             Display FRU information in midplane
write                            write FRU information in midplane
read                             Read FRU information in midplane


Release notes can be found at ReleaseNote.txt
lik
Founder
Founder
 
Posts: 497
Joined: Wed Dec 15, 2010 3:21 am

SMCIPMITool - upgrade IPMI firmware

Postby lik » Thu Jul 10, 2014 11:01 am

One more use case for SMCIPMITool utility is IPMI firmware upgrade.
*** preferred and recommended way to update the firmware is web interface ***

Code: Select all
# smcipmitool 10.1.1.2 ADMIN ADMINPASS ipmi ver
Firmware Revision  = 2.12
IPMI Version       = 2.0
Manufacturer ID    = 7C 2A 00
product ID         = 2B 06 00

Looks like 'product ID' value is the same for particular motherboard model. In this example '2B 06 00' corresponds to Supermicro X9SRE/X9SRE-3F/X9SRi/X9SRi-3F.
Get latest IPMI firmware for this model at Supermicro site.

Run firmware upgrade:
Code: Select all
# smcipmitool 10.1.1.2 ADMIN ADMINPASS ipmi flashh /home/ipmi/Downloads/IPMI_9SRE/SMT_X9_214.bin

This command will upload IPMI firmware image to controller, run firmware upgrade process (preserving settings) and reset BMC after successful run.
Command output:
Code: Select all
**************************************************************
WARNING!
Firmware upgrade must not be interrupted once it is started.
Once you get error after Upgrading, please use local KCS tool
for recovery.(DOS:dupdate.exe, Linux:lupdate or
Windows:wupdate.exe )
**************************************************************
Check firmware file... Done (ver:2.14)
Check BMC status... Done (ver:2.12)
Uploading...Done
Updating >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100%
Resetting BMC
Done. (BMC needs 1 minute to restart)
Total Elapsed Time: 2 min 39 sec(s)

Check firmware version:
Code: Select all
# smcipmitool 10.1.1.2 ADMIN ADMINPASS ipmi ver
Firmware Revision  = 2.14
IPMI Version       = 2.0
Manufacturer ID    = 7C 2A 00
product ID         = 2B 06 00

We can see, that firmware upgrade was successful and firmware revision is 2.14.

Below is quick&dirty version of script which scans provided IPs/networks for open TCP 49152 port and tries to update IPMI firmware if ProductID is known:
Code: Select all
#!/bin/bash
if [ $# -lt 1 ]; then
    echo -e "Usage: $0 subnet1 subnet2 ...subnetN\nFor example: $0 192.168.1.1/24 10.10.10.10"
    exit 1
fi

while (($#)); do
    for ip in `nmap -p49152 $1 -oG - | awk '/49152\/open/ { print $2 }'`
    do
        ipmipass=`curl --connect-timeout 15 --max-time 45 -s $ip:49152/PSBlock | strings | awk 'a-->0;/ADMIN/{a=1}'`
        if [ "z$ipmipass" != "z" ]
            then
                found=false
                productid=$(smcipmitool $ip ADMIN $ipmipass ipmi ver | awk '/product ID/ { print $0 }' )
                case $productid in
                    "product ID         = 60 06 00 ")
                        product_name="X9DRD-iF"
                        firmware_bin="/home/ipmi/Downloads/IPMI_9DRD_IF/SMT_X9_317.bin"
                        found=true
                        ;;
                    "product ID         = 24 06 00 ")
                        product_name="X9SCL/X9SCM"
                        firmware_bin="/home/ipmi/Downloads/IPMI_X9SCL_M_firmware/SMT_X9_319.bin"
                        found=true
                        ;;
                    "product ID         = 03 07 00 ")
                        product_name="X9DBL-3F/X9DBL-iF"
                        firmware_bin="/home/ipmi/Downloads/IPMI_X9DBL_3F_iF_firmware/SMT_X9_317.bin"
                        found=true
                        ;;
                    "product ID         = 43 06 00 ")
                        product_name="X9SPU-F"
                        firmware_bin="/home/ipmi/Downloads/IPMI_X9SPU_F_firmware/SMT_X9_319.bin"
                        found=true
                        ;;
                    "product ID         = 06 00 00 ")
                        product_name="X8DTL"
                        firmware_bin="/home/ipmi/Downloads/IPMI_X8DTL_firmware/SMT_313.bin"
                        found=true
                        ;;
                    "product ID         = 2B 06 00 ")
                        product_name="X9SRE/X9SRE-3F/X9SRi/X9SRi-3F"
                        firmware_bin="/home/ipmi/Downloads/IPMI_X9SR_E_3F_i_i3F_firmware/SMT_X9_319.bin"
                        found=true
                        ;;
                    *)
                        echo -e "\e[31mFailed\e[0m | $ip | ADMIN | $ipmipass | Missed : $productid"
                esac
                if [ "z$found" == "ztrue" ]
                    then
                        echo -e "  \e[32mOK\e[0m   | $ip | ADMIN | $ipmipass | Found : Supermicro $product_name"
                        smcipmitool $ip ADMIN $ipmipass ipmi flashh $firmware_bin
                        sleep 90
                        smcipmitool $ip ADMIN $ipmipass ipmi ver
                        smcipmitool $ip ADMIN $ipmipass ipmi oem clrint
                        smcipmitool $ip ADMIN $ipmipass sel clear
                fi
            else
                echo -e "\e[31mFailed\e[0m | $ip | failed to obtain ADMIN password"
        fi
    done
shift
done
lik
Founder
Founder
 
Posts: 497
Joined: Wed Dec 15, 2010 3:21 am

SMCIPMITool: wrapper script for java -jar SMCIPMITool.jar

Postby lik » Wed Dec 30, 2015 10:55 pm

I found it easier for myself to write generic wrapper script to avoid typing 'java -jar SMCIPMITool.jar' every time. Wrapper script and not shell alias because we need to source additional dynamic libraries which are shipped with SMCIPMITool.
/usr/local/bin/smcipmitool
Code: Select all
#!/bin/sh
BASEDIR="/opt/supermicro/SMCIPMITool"
export LD_LIBRARY_PATH="${BASEDIR}${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"
cd "${BASEDIR}"
java -jar SMCIPMITool.jar "$@"
lik
Founder
Founder
 
Posts: 497
Joined: Wed Dec 15, 2010 3:21 am


Return to Intelligent Platform Management Interface (IPMI)

 


  • Related topics
    Replies
    Views
    Last post
cron