| Linux |
[IPMItool]
ipmitool raw 0x0a 0x10
D[1]
Byte 1
FRU Device ID
FFh = reserved
ipmitool fru internaluse <fru id> info
[ipmiutil]FRU Device ID
FFh = reserved
ipmitool fru internaluse <fru id> info
ipmiutil cmd 00 20 28 10
D[1]
Byte 1
FRU Device ID
FFh = reserved
icmd 00 20 28 10 D[1] Byte 1
FRU Device ID
FFh = reserved
[FreeIPMI]FRU Device ID
FFh = reserved
icmd 00 20 28 10 D[1] Byte 1
FRU Device ID
FFh = reserved
ipmi-raw 0x00 0x0a 0x10
D[1]
Byte 1
FRU Device ID
FFh = reserved
| MS-DOS |FRU Device ID
FFh = reserved
[ipmitool]
ipmitool 20 28 10 Data[1]
For example Hint: hover over Place your mouse over the highlighted area in below
for Response Data description
[IPMItool in Linux]
$ ipmitool raw 0x0a 0x10 0x00
ff Byte 2
FRU Inventory area size in bytes
LS Byte
00 Byte 3
FRU Inventory area size in bytes
MS Byte
00 Byte 4
Response Data Byte 4
[7:1] - reserved
[0] - 0b = Device is accessed by bytes
1b = Device is accessed by words
[ipmiutil in Linux]ff Byte 2
FRU Inventory area size in bytes
LS Byte
00 Byte 3
FRU Inventory area size in bytes
MS Byte
00 Byte 4
Response Data Byte 4
[7:1] - reserved
[0] - 0b = Device is accessed by bytes
1b = Device is accessed by words
$ icmd 00 20 28 10 00
ipmiutil cmd ver 3.10
This is a test tool to compose IPMI commands.
Do not use without knowledge of the IPMI specification.
-- BMC version 1.7, IPMI version 2.0
respData[len=3]: ff Byte 2
FRU Inventory area size in bytes
LS Byte
00 Byte 3
FRU Inventory area size in bytes
MS Byte
00 Byte 4
Response Data Byte 4
[7:1] - reserved
[0] - 0b = Device is accessed by bytes
1b = Device is accessed by words
send_icmd ret = 0
ipmiutil cmd, completed successfully
[FreeIPMI in Linux]ipmiutil cmd ver 3.10
This is a test tool to compose IPMI commands.
Do not use without knowledge of the IPMI specification.
-- BMC version 1.7, IPMI version 2.0
respData[len=3]: ff Byte 2
FRU Inventory area size in bytes
LS Byte
00 Byte 3
FRU Inventory area size in bytes
MS Byte
00 Byte 4
Response Data Byte 4
[7:1] - reserved
[0] - 0b = Device is accessed by bytes
1b = Device is accessed by words
send_icmd ret = 0
ipmiutil cmd, completed successfully
$ ipmi-raw 0x00 0x0a 0x10 0x00
rcvd: 10 00 Byte 1
Completion Code
00h = Command Completed Normally
FF Byte 2
FRU Inventory area size in bytes
LS Byte
00 Byte 3
FRU Inventory area size in bytes
MS Byte
00 Byte 4
Response Data Byte 4
[7:1] - reserved
[0] - 0b = Device is accessed by bytes
1b = Device is accessed by words
rcvd: 10 00 Byte 1
Completion Code
00h = Command Completed Normally
FF Byte 2
FRU Inventory area size in bytes
LS Byte
00 Byte 3
FRU Inventory area size in bytes
MS Byte
00 Byte 4
Response Data Byte 4
[7:1] - reserved
[0] - 0b = Device is accessed by bytes
1b = Device is accessed by words
Read FRU Data - NetFn = Storage (0x0ah), CMD = 0x11h, Privilege Level = User, M/O = M
| Linux |
[IPMItool]
ipmitool raw 0x0a 0x11
D[1]
Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to read
LS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[3] Byte 3
FRU Inventory Offset to read
MS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[4] Byte 4
Count to read
count is '1' based
ipmitool fru
ipmitool fru print [fru id]
ipmitool fru read <fru id> <fru file>
[ipmiutil]FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to read
LS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[3] Byte 3
FRU Inventory Offset to read
MS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[4] Byte 4
Count to read
count is '1' based
ipmitool fru
ipmitool fru print [fru id]
ipmitool fru read <fru id> <fru file>
ipmiutil cmd 00 20 28 11
D[1]
Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to read
LS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[3] Byte 3
FRU Inventory Offset to read
MS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[4] Byte 4
Count to read
count is '1' based
icmd 00 20 28 11 D[1] Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to read
LS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[3] Byte 3
FRU Inventory Offset to read
MS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[4] Byte 4
Count to read
count is '1' based
ipmiutil fru
ifru
ifru -c
ifru -d file
ifru -i <fru ID>
[FreeIPMI]FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to read
LS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[3] Byte 3
FRU Inventory Offset to read
MS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[4] Byte 4
Count to read
count is '1' based
icmd 00 20 28 11 D[1] Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to read
LS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[3] Byte 3
FRU Inventory Offset to read
MS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[4] Byte 4
Count to read
count is '1' based
ipmiutil fru
ifru
ifru -c
ifru -d file
ifru -i <fru ID>
ipmi-raw 0x00 0x0a 0x11
D[1]
Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to read
LS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[3] Byte 3
FRU Inventory Offset to read
MS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[4] Byte 4
Count to read
count is '1' based
ipmi-fru
ipmi-fru -e DEVICE_ID
ipmi-fru --device-id=DEVICE_ID
ipmi-fru --fru-file=FILENAME
| MS-DOS |FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to read
LS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[3] Byte 3
FRU Inventory Offset to read
MS Byte
Offset is in bytes or words per device access type returned in the Get FRU Inventory Area Info command
D[4] Byte 4
Count to read
count is '1' based
ipmi-fru
ipmi-fru -e DEVICE_ID
ipmi-fru --device-id=DEVICE_ID
ipmi-fru --fru-file=FILENAME
[ipmitool]
ipmitool 20 28 11 Data[1:4]
--Completion Code--
81h = FRU device busy
For example Hint: hover over Place your mouse over the highlighted area in below
for Response Data description
[IPMItool in Linux]
$ ipmitool raw 0x0a 0x11 0x00 0x00 0x00 0xff
68 Byte 2
Count returned
count is '1' based
01 01 02 04 08 00 00 f0 01 00 01 04 00 00 03
f7 01 02 17 c5 53 30 36 31 37 c0 c0 c1 00 00 00
c0 01 04 00 00 7f 98 c3 46 58 4c c5 53 30 36 31
37 c0 c8 46 58 2d 53 30 36 31 37 c0 c0 c1 00 00
9d 01 05 00 c3 46 54 50 c7 46 58 4c 53 30 36 31
c7 46 58 2d 53 30 36 31 c3 31 2e 31 c0 c0 c0 c0
c1 00 00 00 00 00 00 00 19
Byte [3:N]
Requested data
$ ipmitool fru
FRU Device Description : Builtin FRU Device (ID 0)
Chassis Type : Rack Mount Chassis
Chassis Part Number : F0617
Board Mfg Date : Sat Jun 17 14:24:00 2017
Board Mfg : FTP
Board Product : F0617
Board Part Number : FT-F0617
Product Manufacturer : FTP
Product Name : FTPF617
Product Part Number : FT-F617
Product Version : 1.1
$ ipmitool fru print 0x00
Chassis Type : Rack Mount Chassis
Chassis Part Number : F0617
Board Mfg Date : Sat Jun 17 14:24:00 2017
Board Mfg : FTP
Board Product : F0617
Board Part Number : FT-F0617
Product Manufacturer : FXL
Product Name : FTPF617
Product Part Number : FT-F617
Product Version : 1.1
$ ipmitool fru read 0x00 fru.bin
Fru Size : 255 bytes
Done
[ipmiutil in Linux]68 Byte 2
Count returned
count is '1' based
01 01 02 04 08 00 00 f0 01 00 01 04 00 00 03
f7 01 02 17 c5 53 30 36 31 37 c0 c0 c1 00 00 00
c0 01 04 00 00 7f 98 c3 46 58 4c c5 53 30 36 31
37 c0 c8 46 58 2d 53 30 36 31 37 c0 c0 c1 00 00
9d 01 05 00 c3 46 54 50 c7 46 58 4c 53 30 36 31
c7 46 58 2d 53 30 36 31 c3 31 2e 31 c0 c0 c0 c0
c1 00 00 00 00 00 00 00 19
Byte [3:N]
Requested data
$ ipmitool fru
FRU Device Description : Builtin FRU Device (ID 0)
Chassis Type : Rack Mount Chassis
Chassis Part Number : F0617
Board Mfg Date : Sat Jun 17 14:24:00 2017
Board Mfg : FTP
Board Product : F0617
Board Part Number : FT-F0617
Product Manufacturer : FTP
Product Name : FTPF617
Product Part Number : FT-F617
Product Version : 1.1
$ ipmitool fru print 0x00
Chassis Type : Rack Mount Chassis
Chassis Part Number : F0617
Board Mfg Date : Sat Jun 17 14:24:00 2017
Board Mfg : FTP
Board Product : F0617
Board Part Number : FT-F0617
Product Manufacturer : FXL
Product Name : FTPF617
Product Part Number : FT-F617
Product Version : 1.1
$ ipmitool fru read 0x00 fru.bin
Fru Size : 255 bytes
Done
$ icmd 00 20 28 11 00 00 00 ff
ipmiutil cmd ver 3.10
This is a test tool to compose IPMI commands.
Do not use without knowledge of the IPMI specification.
-- BMC version 1.7, IPMI version 2.0
respData[len=105]: 68 Byte 2
Count returned
count is '1' based
01 01 02 04 08 00 00 f0 01 00 01 04 00 00 03 f7 01 02 17 c5 46 30 36 31 37 c0 c0 c1 00 00 00 c0 01 04 00 00 7f 98 c3 46 54 50 c5 46 30 36 31 37 c0 c8 4d 53 2d 46 30 36 31 37 c0 c0 c1 00 00 9d 01 05 00 c3 46 54 50 c7 46 54 50 53 36 31 37 c7 4d 53 2d 53 36 31 37 c3 31 2e 31 c0 c0 c0 c0 c1 00 00 00 00 00 00 00 19 Byte [3:N]
Requested data
send_icmd ret = 0
ipmiutil cmd, completed successfully
$ ifru -c
ipmiutil fru version 3.10
-- BMC version 1.07, IPMI version 2.0
--- Scanning SDR Repository for 28 SDRs ---
SDR[0019] IPMB | AST2400-F0617
Baseboard FRU Size | 255
Chassis Type | Rack-Mount Chassis
Chassis Part Number | F0617
Chassis Serial Num |
Chassis OEM Field |
Board Mfg DateTime | Sat Jun 17 14:24:00 2017
Board Manufacturer | FTP
Board Product Name | F0617
Board Serial Number |
Board Part Number | FT-F0617
Board FRU File ID |
Board OEM Field |
Product Manufacturer| FTP
Product Name | FTPF617
Product Part Number | FT-F617
Product Version | 1.1
Product Serial Num |
Product Asset Tag |
Product FRU File ID |
Product OEM Field |
System GUID | d8cb8af7-c6b6-9f03-0010-debf8c003e6c
BIOS Version | FTF617.106
System Name | RMManager
Pri Operating System| SUSEServer1.0
Sec Operating System|
ipmiutil fru, completed successfully
[FreeIPMI in Linux]ipmiutil cmd ver 3.10
This is a test tool to compose IPMI commands.
Do not use without knowledge of the IPMI specification.
-- BMC version 1.7, IPMI version 2.0
respData[len=105]: 68 Byte 2
Count returned
count is '1' based
01 01 02 04 08 00 00 f0 01 00 01 04 00 00 03 f7 01 02 17 c5 46 30 36 31 37 c0 c0 c1 00 00 00 c0 01 04 00 00 7f 98 c3 46 54 50 c5 46 30 36 31 37 c0 c8 4d 53 2d 46 30 36 31 37 c0 c0 c1 00 00 9d 01 05 00 c3 46 54 50 c7 46 54 50 53 36 31 37 c7 4d 53 2d 53 36 31 37 c3 31 2e 31 c0 c0 c0 c0 c1 00 00 00 00 00 00 00 19 Byte [3:N]
Requested data
send_icmd ret = 0
ipmiutil cmd, completed successfully
$ ifru -c
ipmiutil fru version 3.10
-- BMC version 1.07, IPMI version 2.0
--- Scanning SDR Repository for 28 SDRs ---
SDR[0019] IPMB | AST2400-F0617
Baseboard FRU Size | 255
Chassis Type | Rack-Mount Chassis
Chassis Part Number | F0617
Chassis Serial Num |
Chassis OEM Field |
Board Mfg DateTime | Sat Jun 17 14:24:00 2017
Board Manufacturer | FTP
Board Product Name | F0617
Board Serial Number |
Board Part Number | FT-F0617
Board FRU File ID |
Board OEM Field |
Product Manufacturer| FTP
Product Name | FTPF617
Product Part Number | FT-F617
Product Version | 1.1
Product Serial Num |
Product Asset Tag |
Product FRU File ID |
Product OEM Field |
System GUID | d8cb8af7-c6b6-9f03-0010-debf8c003e6c
BIOS Version | FTF617.106
System Name | RMManager
Pri Operating System| SUSEServer1.0
Sec Operating System|
ipmiutil fru, completed successfully
$ ipmi-raw 0x00 0x0a 0x11 0x00 0x00 0x00 0x0f
rcvd: 11 00 Byte 1
Completion Code
00h = Command Completed Normally
81h = FRU device busy
0F Byte 2
Count returned
count is '1' based
01 01 02 04 08 00 00 F0 01 00 01 04 00 00 03 Byte [3:N]
Requested data
$ ipmi-fru
FRU Inventory Device: Default FRU Device (ID 00h)
FRU Chassis Type: Rack Mount Chassis
FRU Chassis Part Number: F0617
FRU Board Manufacturing Date/Time: 06/17/17 - 22:24:00
FRU Board Manufacturer: FTP
FRU Board Product Name: F0617
FRU Board Part Number: FT-F0617
FRU Product Manufacturer Name: FTP
FRU Product Name: FTPF617
FRU Product Part/Model Number: FT-F617
FRU Product Version: 1.1
FRU Product Asset Tag: tag
rcvd: 11 00 Byte 1
Completion Code
00h = Command Completed Normally
81h = FRU device busy
0F Byte 2
Count returned
count is '1' based
01 01 02 04 08 00 00 F0 01 00 01 04 00 00 03 Byte [3:N]
Requested data
$ ipmi-fru
FRU Inventory Device: Default FRU Device (ID 00h)
FRU Chassis Type: Rack Mount Chassis
FRU Chassis Part Number: F0617
FRU Board Manufacturing Date/Time: 06/17/17 - 22:24:00
FRU Board Manufacturer: FTP
FRU Board Product Name: F0617
FRU Board Part Number: FT-F0617
FRU Product Manufacturer Name: FTP
FRU Product Name: FTPF617
FRU Product Part/Model Number: FT-F617
FRU Product Version: 1.1
FRU Product Asset Tag: tag
Write FRU Data - NetFn = Storage (0x0ah), CMD = 0x12h, Privilege Level = Operator, M/O = M
| Linux |
[IPMItool]
ipmitool raw 0x0a 0x12
D[1]
Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to write
LS Byte
D[3] Byte 3
FRU Inventory Offset to write
MS Byte
D[4:N] Byte [4:N]
Data to write
ipmitool fru write <fru id> <fru file>
ipmitool fru edit <fruid> field <section> <index> <string>
[ipmiutil]FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to write
LS Byte
D[3] Byte 3
FRU Inventory Offset to write
MS Byte
D[4:N] Byte [4:N]
Data to write
ipmitool fru write <fru id> <fru file>
ipmitool fru edit <fruid> field <section> <index> <string>
ipmiutil cmd 00 20 28 12
D[1]
Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to write
LS Byte
D[3] Byte 3
FRU Inventory Offset to write
MS Byte
D[4:N] Byte [4:N]
Data to write
icmd 00 20 28 12 D[1] Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to write
LS Byte
D[3] Byte 3
FRU Inventory Offset to write
MS Byte
D[4:N] Byte [4:N]
Data to write
[FreeIPMI]FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to write
LS Byte
D[3] Byte 3
FRU Inventory Offset to write
MS Byte
D[4:N] Byte [4:N]
Data to write
icmd 00 20 28 12 D[1] Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to write
LS Byte
D[3] Byte 3
FRU Inventory Offset to write
MS Byte
D[4:N] Byte [4:N]
Data to write
ipmi-raw 0x00 0x0a 0x12
D[1]
Byte 1
FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to write
LS Byte
D[3] Byte 3
FRU Inventory Offset to write
MS Byte
D[4:N] Byte [4:N]
Data to write
| MS-DOS |FRU Device ID
FFh = reserved
D[2] Byte 2
FRU Inventory Offset to write
LS Byte
D[3] Byte 3
FRU Inventory Offset to write
MS Byte
D[4:N] Byte [4:N]
Data to write
[ipmitool]
ipmitool 20 28 12 Data[1:N]
--Completion Code--
80h = write-protected offset
81h = FRU device busy
81h = FRU device busy
For example Hint: hover over Place your mouse over the highlighted area in below
for Response Data description
[IPMItool in Linux]
$ ipmitool raw 0x0a 0x12 0x00 0x00 0x00 0x01 0x01 0x02 0x04 0x08 0x00 0x00 0xf0
08 Byte 2
Count written
count is '1' based
$ ipmitool fru write 0x0 fru.bin
Fru Size : 255 bytes
Size to Write : 255 bytes
$ ipmitool fru edit 0x0 field b 1 FTP0617
String size are not equal, resizing fru to fit new string
Read All FRU area
Fru Size : 255 bytes
Copy to new FRU
Section Length: 32
Padding Length: 2
NumByte Change: 2
Start SecChnge: c5
End SecChnge : 4d
Start Section : 1
End Sec wo Pad: c1
End Section : 9d
New Padding Length: 0
Updating Field : 'SSSSS' with 'FTP0617' ... (Length from '197' to '199')
Copying remaining of sections: 13
Calculate New Checksum: ffffff03
Writing new FRU.
Done.
[ipmiutil in Linux]08 Byte 2
Count written
count is '1' based
$ ipmitool fru write 0x0 fru.bin
Fru Size : 255 bytes
Size to Write : 255 bytes
$ ipmitool fru edit 0x0 field b 1 FTP0617
String size are not equal, resizing fru to fit new string
Read All FRU area
Fru Size : 255 bytes
Copy to new FRU
Section Length: 32
Padding Length: 2
NumByte Change: 2
Start SecChnge: c5
End SecChnge : 4d
Start Section : 1
End Sec wo Pad: c1
End Section : 9d
New Padding Length: 0
Updating Field : 'SSSSS' with 'FTP0617' ... (Length from '197' to '199')
Copying remaining of sections: 13
Calculate New Checksum: ffffff03
Writing new FRU.
Done.
$ icmd 00 20 28 12 00 00 00 01 01 02 03 08 00 00 f0
ipmiutil cmd ver 3.10
This is a test tool to compose IPMI commands.
Do not use without knowledge of the IPMI specification.
-- BMC version 1.7, IPMI version 2.0
respData[len=1]: 08 Byte 2
Count written
count is '1' based
send_icmd ret = 0
ipmiutil cmd, completed successfully
[FreeIPMI in Linux]ipmiutil cmd ver 3.10
This is a test tool to compose IPMI commands.
Do not use without knowledge of the IPMI specification.
-- BMC version 1.7, IPMI version 2.0
respData[len=1]: 08 Byte 2
Count written
count is '1' based
send_icmd ret = 0
ipmiutil cmd, completed successfully
$ ipmi-raw 0x00 0x0a 0x12 0x00 0x00 0x00 0x01 0x01 0x02 0xf0
rcvd: 12 00 Byte 1
Completion Code
00h = Command Completed Normally
80h = write-protected offset
81h = FRU device busy
04 Byte 2
Count written
count is '1' based
rcvd: 12 00 Byte 1
Completion Code
00h = Command Completed Normally
80h = write-protected offset
81h = FRU device busy
04 Byte 2
Count written
count is '1' based
Reference
[1] "Intelligent Platform Management Interface Specification Second Generation v2.0 Document Revision 1.1"
https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmi-second-gen-interface-spec-v2-rev1-1.pdf
[2] "Platform Management FRU Information Storage Definition v1.0"
https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/platform-management-fru-document-rev-1-2-feb-2013.pdf
[3] "IPMItool" http://sourceforge.net/projects/ipmitool/
[4] "IPMI Command Test Tool" http://www.intel.com/design/servers/ipmi/ipmi_tool.htm
[5] "IPMIUTIL USER GUIDE" http://ipmiutil.sourceforge.net/
[6] "FreeIPMI Documentation" http://www.gnu.org/software/freeipmi/index.html
Last Updated: Jun 1, 2018
No comments:
Post a Comment