IPMITOOL cheat sheet

This document is intended to provide a set of ipmitool commands
for OpenBMC usage.

Signed-off-by: Albert Zhang <zhanghaodi@inspur.com>
Change-Id: I4e4b270c97e78f667e2d8019efd32acd4f687a1d
diff --git a/IPMITOOL-cheatsheet.md b/IPMITOOL-cheatsheet.md
new file mode 100644
index 0000000..4daddf1
--- /dev/null
+++ b/IPMITOOL-cheatsheet.md
@@ -0,0 +1,372 @@
+# IPMITOOL-cheatsheet.md
+
+This document is intended to provide a set of ipmitool commands for OpenBMC
+usage.
+
+## Power
+
+#### 1. View server status
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power
+status
+```
+
+#### 2. Server power on
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power
+on
+```
+
+#### 3. Server power off
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power
+off
+```
+
+#### 4. Server power reset
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power
+reset
+```
+
+#### 5. Server power cycle
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power
+cycle
+```
+
+#### 6. Server power soft
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power
+soft
+```
+
+#### 7. Send a diagnostic interrupt directly to the processor(not support)
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power
+diag
+```
+
+## Users
+
+#### 1. View information for all users
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user
+list
+```
+
+#### 2. Display a brief summary of BMC users
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user
+summary
+```
+
+#### 3. Create a BMC user with a given name
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user
+set name <userid> <username>
+```
+
+#### 4. Set a given user with a given password
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user
+set password <userid>[<password>]
+```
+
+#### 5. Disable designated users from accessing BMC
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user
+set disable <userid>
+```
+
+#### 6. Enable the specified user to access BMC
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user
+set enable <userid>
+```
+
+##  Field-replaceable Unit (FRU)
+
+#### 1. View FRU information
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" fru
+list
+```
+
+## Sensor Data Record (SDR)
+
+#### 1. View SDR information
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr
+```
+
+#### 2. Query related SDR information in BMC
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr
+info
+```
+
+#### 3. View sensor date records
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr
+list [all|full|compact|event|mcloc|fru|generic]
+
+##
+all     : All SDR records (sensors and positioners)
+full    : Complete sensor recording
+compact : Simple sensor recording
+event   : Event information recorded by the sensor
+mcloc   : Manage controller locator records
+fru     : FRU (Field Replaceable Unit) locator record
+generic : General SDR records
+```
+
+## Sensors
+
+#### 1. View sensor information
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sensor
+list
+```
+
+## Management Controller (MC)
+
+#### 1. Instruct the BMC to perform a cold reset
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc
+reset cold
+```
+
+#### 2. Instruct the BMC to perform a warm reset(not supported)
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc
+reset warm
+```
+
+#### 3. View BMC information
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc info
+```
+
+#### 4. View the currently available operation options of BMC
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc
+getenables
+```
+
+## Channels
+
+#### 1. Display the authentication function about the selected information
+
+#### channel
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel
+authcap <channel number> <max privilege>
+```
+
+#### 2. Display the information for the selected channel
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel
+info [<channel number>]
+```
+
+#### 3. View channel information
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel
+info
+```
+
+## Chassis
+
+#### 1. Display information about the high-level status of the system rack and
+#### power subsystem.
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis
+status
+```
+
+#### 2. The command will return the power on time
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis
+poh
+```
+
+#### 3. Query the reason for the last system restart.(not supported)
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis
+restart_cause
+```
+
+#### 4. Set rack power strategy in case of power failure
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis
+policy <state>
+
+##
+list        : return supported policies
+always-on   : turn on when power is restored
+previous    : return to previous state when power is restored
+always-off  : stay off after power is restored
+```
+
+#### 5. View and change power status
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis
+power
+
+##
+status : show current status
+on     : power on
+off    : power off
+reset  : power reset
+soft   : power soft
+cycle  : power cycle
+```
+
+#### 6. Set boot device for next system restart
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis
+bootdev <device>
+```
+
+##
+
+Currently supported devices:
+
+| decive | function                                                    |
+| :----: | ----------------------------------------------------------- |
+|  pxe   | boot from pxe                                               |
+|  disk  | boot from BIOS default boot device                          |
+|  safe  | boot from BIOS default boot device,but requires a safe mode |
+|  diag  | boot from the diagnostic partition                          |
+| cdrom  | boot from the CD/DVD                                        |
+|  bios  | enter bios settings                                         |
+
+#### 7. Control panel logo light
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis
+identify <interval>
+```
+
+## Local Area Network(LAN)
+
+#### 1. Output the current configuration information of a given channel
+
+```
+ $ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" lan
+print [<channel number>]
+```
+
+#### 2. Set the given parameters for the given channel
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" lan set
+<channel> <command> <parameter>
+##
+Valid parameter
+ipaddr <x.x.x.x>                 : Set ip for this channel
+netmask <x.x.x.x>                : Set netmask for this channel
+macaddr<xx:xx:xx:xx:xx:xx>       : Set the mac address for this channel
+defgw ipaddr <x.x.x.x>           : Set the default gateway IP address
+defgw macaddr<xx:xx:xx:xx:xx:xx> : Set the mac address of the default gateway
+bakgw ipaddr <x.x.x.x>           : Set the IP address of the backup gateway
+bakgw macaddr<xx:xx:xx:xx:xx:xx> : Set the IP address of the backup gateway
+password <pass>                  : Set no user password
+access <on|off>                  : Set the LAN channel access mode
+```
+
+## System Event Log (SEL)
+
+#### 1. Query the relevant information about SEL and its content in BMC
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel
+info
+```
+
+#### 2. Clear the information in SEL,but it cannot be undone.
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel
+clear
+```
+
+#### 3. Delete a single event
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel
+delete <number>
+```
+
+#### 4. Display the current time of the SEL clock
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel
+time get
+```
+
+## Session
+
+#### 1. Display session information
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" session
+info
+```
+
+## Serial Over Lan (SOL)
+
+#### 1. Retrieve Serial-Over-LAN configuration information for the specified
+#### channel.
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol
+info [<channel number>]
+```
+
+#### 2. Put ipmitool into Serial Over LAN mode
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol
+activate
+```
+
+#### 3. Disable serial LAN in BMC mode
+
+```
+$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol
+deactivate
+```
+