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 "ftp://ftp.supermicro.com/utility/SMCIPMITool/Linux/SMCIPMITool_2.15.0_build.160122_bundleJRE_Linux_x64.tar.gz"

Start KVM launcher:
Code: Select all
# java -jar SMCIPMITool.jar 10.1.1.2 ADMIN ADMINPASS ukvm

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.15.0(Build 160122) - 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 blade management (6)
ipmi                             IPMI device management (27)
sel                              IPMI system event log (5)
user                             IPMI user management (7)
nm                               Node Management V1.5 (16)
nm20                             Node Management V2.0/V3.0 (X9/X10 MBs) (35)
nm30                             Node Management V3.0 (X10 Grantley MBs) (7)
dcmi                             DCMI Management (2) 
bios                             BIOS update (9)     
pminfo [<busId> <SlaAddr>]       Power supply PMBus health
psfruinfo [<busId> <SlaAddr>]    Power supply FRU health
psbbpInfo [<busId> <SlaAddr>]    Battery Backup Power status
shell                            Shell mode           
ver                              SMCIPMITool version 
list [keyword]                   List all or find available commands
exec <filename> [loop] [delay]   Execute commands from file
execm <filename> [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                             KVM launcher (CMM,SIM,SIM(W),SIM(WA),SIM(X9))
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)
dr                               SIM Virtual Media Drive Redirection
vm                               SIM Virtual Media Management (4)
vmw                              SIM(W) Virtual Media
vmwa                             SIM(WA) Virtual Media                                                                                                                                                                                                                         
prompt <type> <on|off>           Config information displayed on prompt                                                                                                                                                                                                       
tagLoc                           Tag for Location (16)                                                                                                                                                                                                                         
sol                              SOL Commands                                                                                                                                                                                                                                 
hdd                              HDD status (6)                                                                                                                                                                                                                               
bbp                              Battery Backup Power Management (5)                                                                                                                                                                                                           
task                             Background Task (13)                                                                                                                                                                                                                         
tp                               TwinPro MCU Information (17)                                                                                                                                                                                                                 
wsiso                            Mount ISO file via Windows Share or SAMBA (for X9,X10) (3)                                                                                                                                                                                   
tas                              TAS settings (7)                                                                                                                                                                                                                             
nvme                             NVMe (Non-Volatile Memory Express) (8)                                                                                                                                                                                                       
nodekey                          Node Product Key (1)                                                                                                                                                                                                                         
rsc [filename.ext]               iKVM remote screen capture(X9,X10 ATEN firmware) ext:png|jpg                                                                                                                                                                                 
rko [filepath]                   iKVM remote keyboard operation(X9,X10 ATEN firmware)


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 blade management (6)                                                                                                                                                                                                               
ipmi                             IPMI device management (27)                                                                                                                                                                                                                   
sel                              IPMI system event log (5)
user                             IPMI user management (7)
nm                               Node Management V1.5 (16)
nm20                             Node Management V2.0/V3.0 (X9/X10 MBs) (35)
nm30                             Node Management V3.0 (X10 Grantley MBs) (7)
dcmi                             DCMI Management (2) 
bios                             BIOS update (9)     
pminfo [<busId> <SlaAddr>]       Power supply PMBus health
psfruinfo [<busId> <SlaAddr>]    Power supply FRU health
psbbpInfo [<busId> <SlaAddr>]    Battery Backup Power status
shell                            Shell mode           
ver                              SMCIPMITool version 
list [keyword]                   List all or find available commands
exec <filename> [loop] [delay]   Execute commands from file
execm <filename> [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                             KVM launcher (CMM,SIM,SIM(W),SIM(WA),SIM(X9))
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)
dr                               SIM Virtual Media Drive Redirection
vm                               SIM Virtual Media Management (4)
vmw                              SIM(W) Virtual Media
vmwa                             SIM(WA) Virtual Media
prompt <type> <on|off>           Config information displayed on prompt
tagLoc                           Tag for Location (16)
sol                              SOL Commands         
hdd                              HDD status (6)       
bbp                              Battery Backup Power Management (5)
task                             Background Task (13)
tp                               TwinPro MCU Information (17)
wsiso                            Mount ISO file via Windows Share or SAMBA (for X9,X10) (3)
tas                              TAS settings (7)     
nvme                             NVMe (Non-Volatile Memory Express) (8)
nodekey                          Node Product Key (1)
rsc [filename.ext]               iKVM remote screen capture(X9,X10 ATEN firmware) ext:png|jpg
rko [filepath]                   iKVM remote keyboard operation(X9,X10 ATEN firmware)

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

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 (10)
fru                              FRU information     
fruw <field> <value>             Write FRU           
frubackup <filename>             Backup FRU information
frurestore <filename>            Restore FRU information
oem                              OEM Commands (17)   
reset                            Reset BMC           
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>                        Flash Hermon (X8&X9,*.bin) IPMI firmware
flasha <filename> [Preserve_opt]         Flash ASPEED (X10, X11 UP,*.bin) IPMI firmware
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

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]]          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)

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
                                 (X8, X9, X10 for ATEN firmware Only)
restorecfg <filename>            Configuration restore from binary file
                                 (X8, X9, X10 for ATEN firmware Only)
getcfg <filename>                Configuration backup to text file
                                 (X8, X9, X10 for ATEN firmware Only)
setcfg <filename>                Configuration restore from text file
                                 (X8, X9, X10 for ATEN firmware Only)
lani [0|1|2]                     LAN Interface       
mac                              System MAC address   
x10cfg                           OEM configuration setting for X10 (9)
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]                         Get/Set DNS IP. Format:###.###.###.###

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 [enable|disable]          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 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: 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 [YYYYMMDDhhmm]              Get/Set SEL time     

Command: user
Command(s):
add                              Add user             
list                             List user           
delete                           Delete user         
level                            Update user level   
setpwd                           Update user password
test                             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
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>     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>   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   

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

Command: dcmi
Command(s):
find [<Start> <End> <netMask>]   Find DCMI device from local or IP range
cap                              List DCMI Capabilities Info

Command: bios
Command(s):
isActivated                      Check if Node product key(SFT-OOB-LIC) activated
update <filename> [options]      Update BIOS (options:-N -R -MER suggested)
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> <file>   Collect MAC addresses into 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: vm
Command(s):
status                           Virtual media status
stop                             Stop virtual media   
floppy                           Upload a floppy image as virtual media
iso                              Virtual media via windows share

Command: tagLoc
Command(s):
fullTag <dc> <rm> <ro> <rk> <n1> <n2> <mt> <et> <pt>     write full location tag
dataCenter <id>                  get/set data Center tag
room <id>                        Get/Set room tag     
row <id>                         Get/Set row tag     
rack <id>                        Get/Set rack tag     
number <major id> [minor id]     Get/Set number tag   
mbType <id>                      Get/Set mb type tag 
chassisType <id>                 Get/Set chassis type tag
PowerType <id>                   Get/Set power supply type tag
osType <id>                      Get/Set OS type tag 
string <text>                    OEM String (20 characters maximum)
info                             Display tag Info     
label                            Display tag Label   
clear                            Clear tag           
export [filename]                Export to file       
import [filename]                Import from file     

Command: hdd
Command(s):
map                              Display HDD present/error status
info                             Display HDD info table
disk <index>                     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: task
Command(s):
run <IP> <ID> <PW> <Cmd...>      Execute a command in background
command   <taskID>               Execute task command
startTime <taskID>               Get task start time 
endTime   <taskID>               Get task end time   
state     <taskID>               Get task state       
exitcode  <taskID>               Get task exit code   
message   <taskID>               Get task message     
remove     <taskID>              Remove Task         
message2file <taskID> <file>     Save task message to file
removeAll                        Remove All Task (State = END)
getTaskIDs                       Get all Task ID     
status                           Display task status 
limit <n>                        Limit the number of concurrent Tasks

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: 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
mcuUpdate <filename>             Update MCU firmware (Twin Backplane)

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


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