Intelligent Platform Management Interface (IPMI) Tool for Linux/Windows IPMIVIEW Documentation v1.06 1. Introduction =============== This tool is designed to accesses any "Intelligent Platform Management Interface" (IPMI) compliant "Baseboard Management Controller" (BMC) through specific interfaces: OS Tool Name Supported Access Interfaces ------- ----------------- -------------------------------------------- Windows IPMIVIEW64.exe WMI class "Microsoft_IPMI" method "RequestResponse" Intel IMB driver interface IPMI-over-LAN via Windows Sockets (Winsock) Linux IPMIVIEW64 OpenIPMI driver interface IPMI-over-LAN via network socket interface UEFI IPMIVIEW.efi Protocol IPMI_PROTOCOL_GUID Protocol EFI_DXE_IPMI_TRANSPORT_PROTOCOL_GUID Protocol FJK_IPMI_BASE_PROTOCOL_GUID 2. Command Line Parameters ========================== Windows: IPMIVIEW64.exe [] [] Linux: ./IPMIVIEW64 [] [] UEFI: IPMIVIEW64.efi [] LANAccess / IPMI-over-LAN (for Windows and Linux versions only): -HOST= Selects the BMC IP address or host name to connect with (if missing, the local BMC is accessed) -USR= Selects the username for the connection (optional, default=admin) -PWD= Selects the password for the connection (optional, default=admin) -PRVL= Selects the desired privilege level number (optional, default=4) Operation (only one of these paramters has to be used at a time): -SCD Writes various general BMC specific informations to the text file IPMIVIEW.SCD (see section 3. for details) -SCDS As -SCD, but additionally adds sensor information (see section 3. for details) -IDP0 / -IDP1 / -IDP2 Writes the binary contents of all IPMI-FRU IdProms to the files IDPIeeii.BIN ee/ii=EntityID/Instance (both hex) The extent of the console output can be selected: -IDP0: IdProm list only -IDP1: IdProm list and formated contents -IDP2: IdProm list, formated and hexdump contents -PNI Reads Platform Network Inventory and outputs info to console -SENSORINFO Outputs information, status and current values of all sensors -SEL Outputs System Event Log (SEL) entries -CLEARSEL Clears System Event Log (SEL) -IEL Reads and outputs the Internal Event Log -SDRR Outputs the Sensor Data Record Repositiory (SDRR) -INI[=] An automatic/noninteractive execution of a test sequence is started, which is configured by the parameters given in text file (or ipmiview.ini, if '=' is not given). If all of the configured tests succeed, an errorlevel 0 is returned. If any of the configured tests fail, a nonzero errorlevel is returned and all errors are appended to the text file ERROR.LOG. A description of all supported parameters of the configuration file is given as comments (separated by ';') in the distributed template ipmiview.ini. -EXEC=,,,.., Directly executes an IPMI command (Example "GetDeviceID": -exec=0x18,0x01) -EXECX=,,,,.., Directly executes an IPMB command to target a target BMC given by -TFTPFLASH=,, Update with a TFTP server. For , specify the IP address or DNS name of the TFTP Firmware Update Server. Specify FTP Firmware Update file (Max. 64 bytes) in . FlashSelect sets one of the following values:. 0x00 older firmware based on version number 0x01 firmware in EEPROM 1 0x02 firmware in EEPROM 2 0x03 newer firmware based on version number 0x04 older firmware based on most recently flashed 0x05 newer firmware based on most recently flashed 0x80 Bios flash 0x81 test flash parameter 0xFF Auto, inactive firmware (default) -FANINFO Outputs FTS-BMC specific fan information -MEMINFO[X] Outputs FTS-BMC specific memory module information (MEMINFOX additionally outputs SPD information) -CSSINFO Outputs FTS-BMC specific component status signal infos -CHANNELINFO Outputs a list the BMC interface channels -USERINFO Outputs information of all BMC users -CPUINFO Outputs FTS-BMC specific CPU information -PCIINFO Outputs FTS-BMC specific PCI device information -CLI= Executes a FTS-BMC specific internal firmware command (use '_' as ' ') -MEM=
Reads FTS-BMC internal memory at the given address -PMBusFWUpd[F] Executes PMBus controller firmware update ([F]orce) (Windows & Linux versions only) The appropriate firmware image files are selected automatically and have to be named "DPS*.bin" This option is used for PSU Gen2. -PMBusFWUpdWO[F] Executes PMBus controller firmware update ([F]orce) (Windows & Linux versions only) The appropriate firmware image files are selected automatically and have to be named "DPS*.bin" This option is used for PSU Gen3. -BOOTWD Stop the watchdog timer. -XML Write informations to IPMIVIEW.xml (Windows & Linux versions only) -ENUMCFG Enumerate all ConfigSpace variables -LOGD Read internal log Options: -INISECTION=
This an optional argument for the above operation -INI. If given, the parameter lines in the configuration file following the section line containing "[SectionName]", are executed. SectionName is case sensitive. There can be several section-lines within one configuration file, which could distinguish different test schedules. If not given, the parameters before the first section line are executed. -BMC= Select BMC Address (optional, default=autodetect) -IMB Enforce use of IMB interface (for Windows version only) -DEBUG Outputs detailed trace of IPMI interface communication to the console. Lowercase in linux. (e.g -debug) 3. Format of IPMIVIEW.SCD ========================= IPMIVIEW.SCD (for all systems): [IPMI] ProgramVersion=x.xx DeviceID=0xXX DeviceRevision=X FirmwareRevision=X.YY ManufacturerID=0xXXXXX ProductID=0xXXXX AuxFWRevInfo=0xXX,0xXX,0xXX,0xXX,Y.ZZc DeviceGUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX SystemGUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX PowerOnHours="x Days x Hours" MACAddress.x=XX:XX:XX:XX:XX:XX SDRR=XXXX,XX.YYc FirmwareBuild="VERSION.SVN - DATETIME - DESCRIPTION" Microcontroller.x=PIC_XXX,HW-VXX,FW-VXX,BL-X,EI-XX-XX,"Name" EEPROM1=FWx.yy_x.yyc,SDRRxx.yyc,BOOTERx.yy_x.yy EEPROM2=FWx.yy_x.yyc,SDRRxx.yyc,BOOTERx.yy_x.yy CurrentEEPROM=x LicenseStatus=NoLicense | PermanentLicense | TemporaryLicensexDaysxHoursRemaining LicenseStatuseLCM=NoLicense | PermanentLicense | TemporaryLicensexDaysxHoursRemaining SDCardStatus=NotPresent | Present_NotMounted | Present_Mounted | Present_CheckingFS | Present_CreatingFS | Unknown TYPCONTROLSDCARD="1" eLCMFunction.x="UEFI.iso (uefi)" PowerControlMode=Disabled | BestPerformance | MinimumPower | Automatic | Scheduled | Limitiation | LowNoiseMode TemperatureName.x= "SensorName" [-scds only] TemperatureStatus.x=Status [-scds only] Temperature.x=Temperature [-scds only] FanName.x="SensorName" [-scds only] FanStatus.x=Status [-scds only] FanSpeed.x=Speed [-scds only] FanSpeedMax.x=MaxSpeed [-scds only] FanCtrlMode.x="..." [-scds only] TYPCONTROLFAN=1 [-scds only] VoltageName.x="SensorName" [-scds only] VoltageStatus.x=Status [-scds only] Voltage.x=Voltage [-scds only] PowerSupplyName.x="PSName" [-scds only] PowerSupplyStatus.x=Status [-scds only] CPUBladeID=x [BX400/900 only] NICxMACAddress=XX:XX:XX:XX:XX:XX [BX400/900 + iRMCS3 only] OptionROMBIOSVersion.x="..." [BX400/900 + iRMCS3 only] PeripheralDeviceFirmwareVersion.x="..." [BX400/900 + iRMCS3 only] PNIModuleName.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIModuleFirmwareVersion.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#NICMAC.x=XX:XX:XX:XX:XX:XX [iRMCS4/iRMCS5/iRMCS6] PNIPort#NICOprom.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#FCWWNN.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#FCWWPN.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#FCOprom.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#FCoEWWNN.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#FCoEWWPN.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#FCoEMAC.x=XX:XX:XX:XX:XX:XX [iRMCS4/iRMCS5/iRMCS6] PNIPort#FCoEOprom.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#iSCSIMAC.x=XX:XX:XX:XX:XX:XX [iRMCS4/iRMCS5/iRMCS6] PNIPort#iSCSIOprom.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#IBGUID.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#IBOprom.x="..." [iRMCS4/iRMCS5/iRMCS6] PNIPort#RoCeMAC.x=XX:XX:XX:XX:XX:XX [iRMCS4/iRMCS5/iRMCS6] PNIPort#RoCeOprom.x="..." [iRMCS4/iRMCS5/iRMCS6] [PICInformation] PicClass.x=0xXX,PIC_XXX BootLoader.x=0xXX HwVersion.x=X SubClass.x=0xXX, SwVersion.x=0xXX SGPIO_ID.x=0xXX [Class SGX/SGP only] SGPIO_HWREV.x=0xXX [Class SGX/SGP only] SGPIO_FWREV.x=0xXX [Class SGX/SGP only] SGPIO_DRVTYP0.x=0xXX,SAS | SATA | SATAe | ePCIe | Unplugged [Class SGX/SGP only] SGPIO_DRVTYP1.x=0xXX,SAS | SATA | SATAe | ePCIe | Unplugged [Class SGX/SGP only] SGPIO_DRVTYP2.x=0xXX,SAS | SATA | SATAe | ePCIe | Unplugged [Class SGX/SGP only] SGPIO_DRVTYP3.x=0xXX,SAS | SATA | SATAe | ePCIe | Unplugged [Class SGX/SGP only] SGPIO_BPLTYPE.x=0xXX,n x 2.5 | n x 3.5,n combo-slots [Class SGX/SGP only] BU100_ID.x=0xXX [Class BRG_RAID only] HWREV.x=0xXX [Class BRG_RAID only] LPC_FWREV.x=0xXX [Class BRG_RAID only] FX3S_FWREV.x=0xXX [Class BRG_RAID only] SD0_VendorID.x=0xXX [Class BRG_RAID only] SD0_Type.x=0xXX [Class BRG_RAID only] SD0_Size.x=x GB [Class BRG_RAID only] SD0_Status.x=0xXX,Present Failed Offline Standby Active SupportSMARTXxxx [Class BRG_RAID only] SD1_VendorID.x=0xXX [Class BRG_RAID only] SD1_Type.x=0xXX [Class BRG_RAID only] SD1_Size.x=x GB [Class BRG_RAID only] SD1_Status.x=0xXX,Present Failed Offline Standby Active SupportSMARTXxxx [Class BRG_RAID only] RAID_Status.x=0xXX,Ok | Failed/Degraded | Rebuilding [Class BRG_RAID only] RAID_Size.x=x GB [Class BRG_RAID only] USB_VendorID.x=0x%XXXX [Class BRG_RAID only] USB_DeviceID.x=0x%XXXX [Class BRG_RAID only] UUID.x=0xXXXXXXXX-0xXXXXXXXX-0xXXXXXXXX-0xXXXXXXXX EntityID.x=0xXX, EntityInstance.x=0xXX SlaveAddress.x=0xXX BusId.x=0xXX Description.x="..." [PowerSupplyx] [RX4770M1 only] [PMBusController#] MFR_ID="..." MFR_MODEL="..." MFR_REVISION="..." MFR_LOCATION="..." MFR_DATE="..." MFR_SERIAL="..." IC_DEVICE_ID="..." IC_DEVICE_REV="..." FW_REVISION="..." HW_COMPATIBILITY="..." FW_REVISIONX="..." HW_COMPATIBILITYX="..." TYPCONTROLPSU="..." Additional files are created for systems BX400/900: BXSYSTEM.SCD (General box information for systems BX400/900 only): [IPMI] ProgramVersion=x.xx ManagementBlade0-1Status=Status ManagementBlade0-1Designation="Designation" ManagementBlade0-1FirmwareVersion="FirmwareVersion" ManagementBlade0-1PhysicalAddress0=XX:XX:XX:XX:XX:XX ManagementBlade0-1PhysicalAddress1=XX:XX:XX:XX:XX:XX KVMBlade="FirmwareVersion",XX:XX:XX:XX:XX:XX BxPowerSupplyUnit1-6Status=Status BxPowerSupplyUnit1-6FirmwareVersion="FirmwareVersion" FSIOMDeviceID=0xXX FSIOMDeviceRevision=X FSIOMFirmwareRevision=X.YY FSIOMManufacturerID=0xXXXXX FSIOMProductID=0xXXXX FSIOMAuxFWRevInfo=0xXX,0xXX,0xXX,0xXX,Y.ZZc FSIOMCabinetStatus=Floorstand/DoorOpen | Floorstand/DoorClosed BxTemperatureName.0-23="SensorName" [-scds only] BxTemperatureStatus.0-23=Status [-scds only] BxTemperature.0-23=Temperature [-scds only] BxFanName.0-48="SensorName" [-scds only] BxFanStatus.0-48=Status [-scds only] BxFanSpeed.0-48=Speed [-scds only] BxFanSpeedMax.0-48=MaxSpeed,NominalMax [-scds only] TYPCONTROLFAN=1 [-scds only] BXSWB0-7.SCD (Switchblade information for systems BX400/900 only): [IPMI] ProgramVersion=x.xx SwitchBlade0-7Status=Status SwitchBlade0-7Name="Name" SwitchBlade0-7FirmwareVersion="FirmwareVersion" SwitchBlade0-7PhysicalAddress=XX:XX:XX:XX:XX:XX SwitchBlade0-7PhysicalAddressServicePort=XX:XX:XX:XX:XX:XX SX01-18.SCD (Storageblade / SX information for systems BX400/900 only): [UBMC] ProgramVersion=x.xx DeviceID=0xXX DeviceRevision=X FirmwareRevision=X.YY ManufacturerID=0xXXXXX ProductID=0xXXXX AuxFWRevInfo=0xXX,0xXX,0xXX,0xXX,Y.ZZc 4. Return Codes ============= IPMI command general: 0x00 = 0 Operation successful 0x01 = 1 IPMI interface not found 0x02 = 2 IPMI command response Net/LUN invalid 0x03 = 3 IPMI command response CMD invalid 0x01XX = * IPMI command failed with completion code XX XX is as follows. 0x01 There is no Component Status Signal in this available index. 0x02 The component does not exist. 0x13 ConfigSpaceVariable does not exist. 0x31 Kronos:disabled 0x32 Kronos:deleted 0x81 License Key is invalid appears. 0xC0 Node busy 0xC3 timeout 0xC5 reservation id canceled or lost 0xC7 request data length invalid 0xC9 ChannelNumber parameter out of range 0xCB Not supported 0xCC invalid data field 0xCE Load from Sensor OK 0xD0 SDRR(Sensor Data Record Repository) in update mode 0xD1 Device in firmware update mode 0xD2 BMC initialization in progress 0xD5 Current state not supported (Command execution during pending initialization process) 0xFF Retry when executing the (Windows Version) command. 0x04 = 4 IPMI commnad response data length too large IPMI-over-LAN: 0x10 = 16 Winsock DLL startup failed 0x11 = 17 Hostname could not be resolved to IP address 0x12 = 18 UDP socket could not created 0x13 = 19 UDP socket option could not be set 0x14 = 20 Binding of UDP socket to local address failed 0x15 = 21 Size of IPMI over LAN password greater than 16 bytes 0x16 = 22 IPMI command request data length too large 0x17 = 23 Sending UDP LAN request package failed 0x18 = 24 Waiting for UDP LAN response package timed out 0x19 = 25 Receiving UDP LAN responses package failed 0x1A = 26 UDP LAN response package format invalid 0x1B = 27 UDP LAN response package too large 0x1C = 28 IPMI over LAN command 'Get Channel Authentication Capabilites' failed 0x1D = 29 Size of IPMI over LAN username greater than 16 bytes 0x1E = 30 IPMI over LAN command 'Set Session Privilege Level' failed Local WBEM/WMI IPMI interface [Windows only]: 0x21 = 33 Windows WBEM/WMI service missing 0x22 = 34 WMI class/property 'Microsoft_IPMI.BMCAddress' missing 0x23 = 35 WMI class/property 'Microsoft_IPMI.__PATH' missing 0x24 = 36 Memory allocation failed 0x25 = 37 Getting WMI class 'Microsoft_IPMI' failed 0x26 = 38 Getting WMI method 'Microsoft_IPMI.RequestResponse' failed 0x27 = 39 Spawning WMI instance failed 0x28 = 40 Creating SafeArray failed 0x29 = 41 Writing to SafeArray failed 0x2A = 42 Setting WMI property failed 0x2B = 43 Exection fo WMI method 'Microsoft_IPMI.RequestResponse' failed 0x2C = 44 Getting WMI property failed 0x2D = 45 Reading from SafeArray failed Local OpenIPMI interface [Linux only] 0x30 = 48 OpenIPMI interface/driver not present 0x31 = 49 OpenIPMI service 'IPMICTL_SET_GETS_EVENTS_CMD' failed 0x32 = 50 OpenIPMI service 'IPMICTL_SEND_COMMAND' failed 0x33 = 51 Waiting for OpenIPMI command response timed out 0x34 = 52 OpenIPMI command response contains no data 0x35 = 53 OpenIPMI service 'IPMICTL_RECEIVE_MSG_TRUNC' failed 0x36 = 54 OpenIPMI command response contains no completion code -INI option specified[Common]: 0x00 = 0 Operation successful. 0x01 = 1 Failed to read INI file. 0x0a = 10 BMC Device ID, Firmware Revision is not as expected. 0x14 = 20 The temperature sensor is not present. Failed to get information of temperature sensor. The temperature sensor status error. The checking error for upper and lower limit of temperature sensor. 0x15 = 21 The fan speed sensor is not present. Failed to get information of fan speed sensor. The fan speed sensor status error. Failed to get the maximum fan speed. Failed to get information of OEM fan status sensor. The checking error for upper and lower limit of fan speed sensor. 0x16 = 22 The voltage sensor is not present. Failed to get information of voltage sensor. The voltage sensor status error. The checking error for upper and lower limit of voltage sensor. The OtherUnitsBased sensor is not present. Failed to get information of OtherUnitsBased sensor. The OtherUnitsBased sensor status error. The checking error for upper and lower limit of OtherUnitsBased sensor. 0x1d = 29 Fan nominal speed error. 0x1e = 30 Failed to get SEL. 0x1f = 31 SEL event information is not as expected. 0x23 = 35 Failed to clear SEL. Failed to get SEL timestamp time. Failed to set SEL timestamp time. 0x24 = 36 The time for SEL timestamp is out of ±20 sec range on RTC. 0x26 = 38 Failed to reset maximum nominal speed of fan. BMC does not support function. SDRR information (ID and Version) is not as expected. 0x27 = 39 The fan test did not work. 0x28 = 40 The specified Entity cannot be found. 0x29 = 41 Failed to read IDPROM with specified Entity. I2C devices corresponding to Entity are not supported. 0x2a = 42 Failed to write IDP file (idp.bin). 0x2b = 43 The specified Entity cannot be found. 0x2c = 44 Failed to read IDP file (idp.bin). The data size read from an IDP file (idp.bin) is less than 256 bytes. 0x2d = 45 The specified Entity cannot be found. Failed to write IDPROM with specified Entity. I2C devices corresponding to Entity are not supported. Failed to write IDPROM in addressing. BMC does not support function. 0x2e = 46 Failed to read IDPROM with specified Entity. I2C devices corresponding to Entity are not supported. 0x2f = 47 The FRU data read is incorrect. (FRU header version error, FRU header checksum error, invalid FRU data) The written and read FRU data do not match. 0x32 = 50 Failed to get information of PhysicalSecurity sensor. The PhysicalSecurity sensor status is not as expected. 0x33 = 51 Failed to set Identify LED. BMC does not support function. 0x34 = 52 Failed to access Configuration Space file (scsmctr.dat). Configuration Space variables are not available. BMC does not support function. 0x35 = 53 Configuration Space variables are not available. BMC does not support function. Failed to access Configuration Space file (scsmctr.dat). The signature data read from the Configuration Space file (scsmctr.dat) is not "CF00". 0x36 = 54 Failed to get information of Component Status Signal. BMC does not support function. The Component Status Signal status is not as expected. 0x3c = 60 Failed to write system display. BMC does not support function. 0x46 = 70 The PowerSupply sensor is not present. Failed to get information of PowerSupply sensor. The PowerSupply sensor status is not as expected. The processor sensor is not present. Failed to get information of processor sensor. The processor sensor status is not as expected. The Button sensor is not present. (Power Button/Sleep Button/Reset Button/FRU latch open switch/FRU service request button) Failed to access the LAN configuration file (lan_cfg.dat). Configuration Space variables are not available. BMC does not support function. 0x47 = 71 Failed to get information of Button sensor. (Power Button/Sleep Button/Reset Button/FRU latch open switch/FRU service request button) The signature data read from the LAN configuration file (lan_cfg.dat) is not "LC00". Failed to get network address information. Failed to set network address information. Configuration Space variables are not available. BMC does not support function. Failed to set license key. Failed to clear license key. 0x48 = 72 The button status is not as expected. (Power Button/Sleep Button/Reset Button/FRU latch open switch/FRU service request button) Failed to get network address information. Failed to set network address information. 0x4a = 74 Faild to get Channel information of LAN. 0x4b = 75 The LAN setting information is incorrect. 0x4c = 76 Failed to configure settings LAN. BMC does not support function. 0x4d = 77 Failed to configure settings User. Failed to get access information of User. 0x4e = 78 The LAN setting information is incorrect. Failed to get access information of User. Configuration Space variables are not available. BMC does not support function. 0x4f = 79 Failed to configure settings LAN. BMC does not support function. The MAC address setting information is incorrect. Failed to set Management Lan MAC address. 0x50 = 80 The VLAN setting information is incorrect. 0x51 = 81 Failed to configure settings LAN. BMC does not support function. Failed to set BootSelector. The BootSelector setting information is incorrect. 0x52 = 82 BMC Devicd ID does not support setting the Management LAN MAC address #2 and #3. 0x5f = 95 Failed to reset BMC. BMC does not support function. 0x63 = 99 Failed to startup IPMI Communication. Failed to allocation memory. -INI option specified[for S31]: 0x3c = 60 BMC does not support function. Failed to get information of Management Blade. Management Blade Status error. (Not OK/Standby) The Management Blade firmware version is not as expected. Failed to get information of PowerSupplyUnit. The PowerSupplyUnit status is not as expected. Failed to get information of fan speed sensor. The fan speed sensor status error. (Not OK) The checking error for upper and lower limit of fan speed sensor. Failed to get information of temperature sensor. The temperature sensor status error. (Not OK) The checking error for upper and lower limit of temperature sensor. Failed to get information of ChassisIntrusion. The ChassisIntrusion status is not as expected. Failed to get information of SwitchBlade. The Switch Blade status error. (Not Ok/Standby/Present) The SwitchBlade firmware version is not as expected. 0x3d = 61 The Management Blade time setting failed. 0x3e = 62 The agent IP information is incorrect. 0x3f = 63 Failed to setting agent IP. BMC does not support function.