32825a23 | 17-Jan-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Get ME version using functional association
Get ME version by checking the functional association endpoints. Firmware versions are now retrieved using identical methods.
Tested: Tested Get OEM Devi
Get ME version using functional association
Get ME version by checking the functional association endpoints. Firmware versions are now retrieved using identical methods.
Tested: Tested Get OEM Device info ipmi command and it works.
Change-Id: I6dda7fff52e1018e8cbd30718c5e1ab4ae2d3ed4 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
6c6cec48 | 26-Feb-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Move get bmc device state api to yield calls
Get BMC current state in getDeviceID IPMI command is using blocking D-Bus calls. Also every GetDeviceID is making 2 D-Bus calls which is overhead conside
Move get bmc device state api to yield calls
Get BMC current state in getDeviceID IPMI command is using blocking D-Bus calls. Also every GetDeviceID is making 2 D-Bus calls which is overhead considering number of GetDeviceID calls from client.
- Moved the blocking D-Bus calls to yield method calls. - Added signal for catching CurrentBMCState change during run time and update value instead of multiple D-Bus calls on every IPMI command request.
Tested: GetDeviceID works fine in both cases(BMC busy and ready).
Change-Id: Ie81192e6b2d7d66d5fe2a3eb705323c6bec79749 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
e99e7ed3 | 17-Jan-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Implement generic function to get active versions
Current logic to get the Active BMC firmware version is not synchronizing with bmcweb code. To get the active firmware version, we are using functio
Implement generic function to get active versions
Current logic to get the Active BMC firmware version is not synchronizing with bmcweb code. To get the active firmware version, we are using functional association endpoints. Endpoints will provide all the functional firmware objects and we retrive version information depending on given version purpose(component). This is the same logic followed in redfish and with change, both ipmi and redfish pulls version with same logic.
Tested: - Get device id command works fine. - Get OEM Device information commands works fine.
Change-Id: I16ac2c52a4fadbffdc8c870cd738683435d56b1f Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
54a502ba | 06-Feb-2020 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
Remove wildcard handlers
There is no need for wildcard handlers that simply print that they were called and then return.
Change-Id: I61716951a09a21f003f0211c92bb905c8f6f4619 Signed-off-by: Vernon M
Remove wildcard handlers
There is no need for wildcard handlers that simply print that they were called and then return.
Change-Id: I61716951a09a21f003f0211c92bb905c8f6f4619 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
9210838e | 27-Feb-2020 |
srikanta mondal <srikantax.mondal@intel.com> |
Correct completion code for read FRU data command
Returning proper completion code when inventory offset value exceeding fru cache size
Tested: Before: Command: ipmitool raw 0x0a 0x11 0x00 0x00 0x3
Correct completion code for read FRU data command
Returning proper completion code when inventory offset value exceeding fru cache size
Tested: Before: Command: ipmitool raw 0x0a 0x11 0x00 0x00 0x30 0x08 //Read fru data Response: Unable to send RAW command (channel=0x0 netfn=0xa lun=0x0 cmd=0x11 rsp=0xcc): Invalid data field in request After: Command: ipmitool raw 0x0a 0x11 0x00 0x00 0x30 0x08 Response: Unable to send RAW command (channel=0x0 netfn=0xa lun=0x0 cmd=0x11 rsp=0xc8): Request data field length limit exceeded
Signed-off-by: srikanta mondal <srikantax.mondal@intel.com> Change-Id: If1f106daf3ae23eb5ffc5d15c30ab099986b4793
show more ...
|
2f32c8ed | 26-Feb-2020 |
jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
ipmi-whitelist: Add Manufacturing Keep alive cmd
Issue:Manufacturing Keep alive command not working in provisioning mode
Fix: Add Manufacturing Keep alive command in ipmi-whitelist.conf
Tested: Ca
ipmi-whitelist: Add Manufacturing Keep alive cmd
Issue:Manufacturing Keep alive command not working in provisioning mode
Fix: Add Manufacturing Keep alive command in ipmi-whitelist.conf
Tested: Case 1: 1. Enable Manufacturing mode by pressing power button while bmc booting. 2. Check the SpecialMode status Command: busctl call xyz.openbmc_project.SpecialMode /xyz/openbmc_project/security/special_mode org.freedesktop.DBus.Properties "Get" ss "xyz.openbmc_project.Security.SpecialMode" "SpecialMode" Response: v s "xyz.openbmc_project.Control.Security.SpecialMode.Modes.Manufacturing" 3. Enable keep alive Manufacturing mode Command: ipmitool raw 0x30 0xB5 0x00 0x49 0x4E 0x54 0x45 0x4C Response: //Success 4. Verify from RMCP+ session. Command: ipmitool -I lanplus -H <BMC-IP> -U root -P <Password> raw 0x30 0xB5 0x00 0x49 0x4E 0x54 0x45 0x4C Response: //Success Case 2: 1. Disable Manufacturing mode Command: ipmitool raw 0x30 0xB4 3 0 Response: //Success 2. Check the SpecialMode status Command: busctl call xyz.openbmc_project.SpecialMode /xyz/openbmc_project/security/special_mode org.freedesktop.DBus.Properties "Get" ss "xyz.openbmc_project.Security.SpecialMode" "SpecialMode" Response: v s "xyz.openbmc_project.Control.Security.SpecialMode.Modes.None" 3. Enable keep alive Manufacturing mode Command: ipmitool raw 0x30 0xB5 0x00 0x49 0x4E 0x54 0x45 0x4C Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xb5 rsp=0xc1): Invalid command 4. Verify from RMCP+ session. Command: ipmitool -I lanplus -H <BMC-IP> -U root -P <Password> raw 0x30 0xB5 0x00 0x49 0x4E 0x54 0x45 0x4C Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xb5 rsp=0xc1): Invalid command
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I87d895c599cf4026a6b61c72f37fecd70ad5d15b
show more ...
|
fa92f35a | 04-Mar-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Update maintainer list in intel-ipmi-oem
Removed Ed and added myself to maintainer.
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com> Change-Id: Ic18df69d6562c21e535b76f5dd2758f057c2c9e2 |
4b1552d8 | 11-Feb-2020 |
jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
oemcommands: fan control profile correction
Corrected default fan control profile for get fan control configuration
Tested: Validate using below raw command. Command: ipmitool raw 0x30 0x8a 0x00 Re
oemcommands: fan control profile correction
Corrected default fan control profile for get fan control configuration
Tested: Validate using below raw command. Command: ipmitool raw 0x30 0x8a 0x00 Response: 80 00 04 00 00 00 00
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I240626160a1fd71c3907fe5db9335b0d19b8248d
show more ...
|
849c319f | 12-Feb-2020 |
arun-pm <arun.p.m@linux.intel.com> |
Adding KCS-SMM channel restriction
Added support to filter the SMM commands as per the updated whitelist conf.
Tested: When RestrictionMode is Provisioning Executed a blocked command on SMM and S
Adding KCS-SMM channel restriction
Added support to filter the SMM commands as per the updated whitelist conf.
Tested: When RestrictionMode is Provisioning Executed a blocked command on SMM and SystemInterface(Success). When RestrictionMode is ProvisionedHostWhitelist Verified following condition over SMM channel 1) Executed a command whitlisted on SMM channel(Success). 2) Executed a command blocked on SMM channel(Denied with CC D5). Verified following condition over SystemInterface 3) Executed a command whitlisted on SystemInterface(Success). 4) Executed a command blocked on SystemInterface(Denied with CC D5). When RestrictionMode is ProvisionedHostDisabled Executed an allowed command on both SMM and SystemInterface (Denied with CC D5).
Change-Id: If99fd90ea9faf1d3440d10ecfc385ab3c907c736 Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com>
show more ...
|
737c4280 | 11-Feb-2020 |
arun-pm <arun.p.m@linux.intel.com> |
Adding KCS-SMM channel restriction to whitelist
Updated the whitelist conf by adding KCS-SMM(Channel 7) channel restriction as per the KCS Command Access Control List.
Example: 0x00:0x00:0xff7f //A
Adding KCS-SMM channel restriction to whitelist
Updated the whitelist conf by adding KCS-SMM(Channel 7) channel restriction as per the KCS Command Access Control List.
Example: 0x00:0x00:0xff7f //Allow all other channels except channel 7.
Tested: Verified filtering logic(ChangeID-29327) is working for KCS-SMM channel restriction.
Change-Id: I5f753bf2cdc395f77371036ee2bb1fb666717538 Signed-off-by: Arun P. Mohanan <arun.p.m@linux.intel.com>
show more ...
|
619186db | 27-Jan-2020 |
Joshi-Mansi <mansi.joshi@linux.intel.com> |
oemcommand: Issue with set fan control config cmd
Issue: Set fan control configuration command (89h) did not have last few optional bytes i.e. DIMM Group Id (CPU Num) and DIMM presence bit-map so it
oemcommand: Issue with set fan control config cmd
Issue: Set fan control configuration command (89h) did not have last few optional bytes i.e. DIMM Group Id (CPU Num) and DIMM presence bit-map so it was giving error "Request data lenght invalid //0xC7" while passing these parameters
Fix: Added these bytes as optional and added checks for CPU Presence.
Tested: ipmitool raw 0x30 0x89 0x07 0xc0 0x00 0x00 0x00 0x00 0x00 //Success
ipmitool raw 0x30 0x89 0x07 0xc0 //Success
ipmitool raw 0x30 0x89 0x07 0xc0 0x01 ////0xCC - CPU_2 is not present Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0x8a rsp=0xcc): Invalid data field in request
Signed-off-by: Joshi-Mansi <mansi.joshi@linux.intel.com> Change-Id: I0b8d27e4ad5ba2c54a1074054ca1da8587f0295e
show more ...
|
e319ecf5 | 10-Feb-2020 |
Terry S. Duncan <terry.s.duncan@linux.intel.com> |
Allow Get Execution Context to run in early boot
BIOS needs execution context before the DBUS resource is available for the partition pointer. In this early boot stage, BIOS does not care about part
Allow Get Execution Context to run in early boot
BIOS needs execution context before the DBUS resource is available for the partition pointer. In this early boot stage, BIOS does not care about partition pointer so return success with an undefined partition pointer when not ready.
Change-Id: Idcf30682aea3de2f5cdfcb4dce2ab41a574b4483 Signed-off-by: Terry S. Duncan <terry.s.duncan@linux.intel.com>
show more ...
|
0d0cd16e | 31-Jan-2020 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
Create an OEM Intel IPMI whitelist filter
This is a derivative of the upstream whitelist filter that also tracks the host state as part of the filtering information.
In addition, the filter underst
Create an OEM Intel IPMI whitelist filter
This is a derivative of the upstream whitelist filter that also tracks the host state as part of the filtering information.
In addition, the filter understands per-channel filtering, so a command can be filtered out on a per-channel basis.
Tested: With the upstream filter disabled, and this filter enabled, run several checks: 1) execute a command prior to host POST completete over kcs (OK) 2) execute a command after host POST complete (denied) 3) execute a command filtered on a lan interface 4) execute a command whitelisted on a lan interface
Change-Id: I9b6755f4bf2c9b9e30de0289f1fed68b3709dea0 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
963a95b6 | 27-Jan-2020 |
Rashmi RV <rashmi.r.v@linux.intel.com> |
Corrected threshold readingmasks for Type01sensors
Issue: The upper and lower threshold reading mask(Byte 16,18) in SDR Type01 sensors are not set under any conditions.
Fix: Setting the threshold m
Corrected threshold readingmasks for Type01sensors
Issue: The upper and lower threshold reading mask(Byte 16,18) in SDR Type01 sensors are not set under any conditions.
Fix: Setting the threshold mask based on its respective threshold conditions.
Tested: 1.Issue Get SDR command for [u,l][c,nc] sensors. 2.Check theresponse for the bits 5,4 of Byte 16 and 18 (lower and upper) are set correctly for respective sensors.
Signed-off-by: Rashmi RV <rashmi.r.v@linux.intel.com> Change-Id: I119560b937bf24c0173acb72cb95aa56d3311314
show more ...
|
b8f2bf95 | 27-Jan-2020 |
jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
firmware-update: Fix for firmware update status
Issue: Get firmware update status shows as 95% instead 100%
Fix: Provided fix to show correct status of firmware update status
Tested: 1. Updated BM
firmware-update: Fix for firmware update status
Issue: Get firmware update status shows as 95% instead 100%
Fix: Provided fix to show correct status of firmware update status
Tested: 1. Updated BMC firmware using fwpiaupd.efi utility >fwpiaupd.efi -ni -u -o -b -pia <Binary file> 2. Get firmware update status Command: ipmitool raw 0x08 0x2a Response: 03 64 00
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I7376c924cc3dc09169d001e358fb0bba69fa6ab7
show more ...
|
d46cb42b | 21-Jan-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Fix minor issues in Get OEM Device Info
Minor fixes in get OEM device information command - As per spec, Byte 2 and Byte 3 are valid only if Byte 1 is selected as BIOS. So corrected the code
Fix minor issues in Get OEM Device Info
Minor fixes in get OEM device information command - As per spec, Byte 2 and Byte 3 are valid only if Byte 1 is selected as BIOS. So corrected the code to make Byte 2 and Byte 3 as optional and checking as per spec. - Corrected the ME object path which is resulting in command failure.
Tested: Get OEM device information command works fine for all BIOS, Management controller and SDR as specified in spec.
Change-Id: If5a5edbaf0464b7253fba2ef9fa0595878c12062 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
e2cddf68 | 30-Jan-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
PFR build error fix
PFR build is failing due to unavailability of checkIPMBChannel() function. This wasn't exposed earlier due to PFR compile flag. Moved checkIPMBChannel() function to top.
Tested:
PFR build error fix
PFR build is failing due to unavailability of checkIPMBChannel() function. This wasn't exposed earlier due to PFR compile flag. Moved checkIPMBChannel() function to top.
Tested: PFR build successful
Change-Id: I02a353e2b059a6e62b350c5872c23ec489f5696d Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
5b1988b1 | 18-Dec-2019 |
Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> |
Blocking firmware update via IPMB
Updated few firmware update commands to return command not available when they are executed via ipmb
Tested:
Tested the commands using FTF tool(which uses IPMB as
Blocking firmware update via IPMB
Updated few firmware update commands to return command not available when they are executed via ipmb
Tested:
Tested the commands using FTF tool(which uses IPMB as the medium) returns proper error code 0xD5(command not available).
Tested the commands from uefi, BMC terminal and remote commands are working fine.
Firmware update using fwupdapi.efi is working fine.
Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> Change-Id: Ibaaf1f6a82567b1f3e7d6c9681e74b8c544a9c51
show more ...
|
c59391ff | 19-Nov-2019 |
Peter Lundgren <peterlundgren@google.com> |
Support the MultiRecord section in FRUs
Add support for FRUs containing a MultiRecord section to ipmiStorageWriteFruData().
Before this patch, the presence of a MultiRecord section was ignored. las
Support the MultiRecord section in FRUs
Add support for FRUs containing a MultiRecord section to ipmiStorageWriteFruData().
Before this patch, the presence of a MultiRecord section was ignored. lastRecordStart would point to the last section populated before the MultiRecord section (e.g. the Product section).
Now, if there is a MultiRecord section, walk the MultiRecord headers to find the last one and set lastRecordStart appropriately.
Tested: I have a system with an eeprom containing a MultiRecord section with two records. Writes to that FRU work after this change. Signed-off-by: Peter Lundgren <peterlundgren@google.com> Change-Id: Iea269ad386b1cbc7b4876ddeb9cfac3b9e83f541
show more ...
|
fee5e4c7 | 17-Jan-2020 |
Yong Li <yong.b.li@linux.intel.com> |
Add NM discovery SDR support
NM discovery is an Intel OEM SDR, it is used by external SW to check the NM functionality
Tested: ipmitool sdr dump sdr.bin The new added sdr is included at the end of
Add NM discovery SDR support
NM discovery is an Intel OEM SDR, it is used by external SW to check the NM functionality
Tested: ipmitool sdr dump sdr.bin The new added sdr is included at the end of the .bin file: 51 c0 0b 57 01 00 0d 01 2c 60 19 18 1a 1b
Signed-off-by: Yong Li <yong.b.li@linux.intel.com> Change-Id: I2b7e8059908791dcc6853be5ba2b9e22210eb736
show more ...
|
36f05ce6 | 14-Jan-2020 |
Joshi-Mansi <mansi.joshi@linux.intel.com> |
Fix for get fan control configuration command CC
Issue: Get Fan Control Configuration (8Ah) command returns response for DIMM Group ID (CPU Number) when CPU is not present. It should return error re
Fix for get fan control configuration command CC
Issue: Get Fan Control Configuration (8Ah) command returns response for DIMM Group ID (CPU Number) when CPU is not present. It should return error response code.
Fix: Added checks for CPUPresent w.r.t. dimmGroupId.
Tested: ipmitool raw 0x30 0x8a 0 //Success - CPU_1 present
ipmitool raw 0x30 0x8a 1 //0xCC - CPU_2 is not present Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0x8a rsp=0xcc): Invalid data field in request
Signed-off-by: Joshi-Mansi <mansi.joshi@linux.intel.com> Change-Id: Ic68bbd6d175b0e803e10af3d759590c0b44ac72f
show more ...
|
cb6386bf | 16-Jan-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Fix: Get device ID returns wrong firmware version
Get device ID is currently getting the version and device information(Product ID, Manufacturing ID etc.) and caching that data. If any failure while
Fix: Get device ID returns wrong firmware version
Get device ID is currently getting the version and device information(Product ID, Manufacturing ID etc.) and caching that data. If any failure while getting the versions info like D-Bus calls, cache data is not getting updated in next call. This is purely timing issue.
Added separate initialize flag for firmware version. If any failure to get firmware version, it will update the cache on next call.
Tested: - Get device id works fine always after boot complete. - Also Unit tested negative scenario by stopping D-Bus service which provides BMC version and restarting IPMI.
Change-Id: I10025c871cf1d23951b9609fcbed277f2b0069e5 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
43539cb6 | 25-Nov-2019 |
jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
bridgecommand: Set PreTimeoutInterruptOccurFlag
Issue: Clear Message Flags failed to clear Watchdog pre-timeout interrupt flag.
Fix: Setting PreTimeoutInterruptOccurFlag, which can clear the
bridgecommand: Set PreTimeoutInterruptOccurFlag
Issue: Clear Message Flags failed to clear Watchdog pre-timeout interrupt flag.
Fix: Setting PreTimeoutInterruptOccurFlag, which can clear the message flags.
Tested: Verified with ipmitool raw commands Step 1: Setting watchdog timer pre-timeout interrupt to enabled command: ipmitool raw 0x06 0x24 0x5 0x30 0x1 0x3e 0x14 0x00 Response: // Success Step 2: Reset the watchdog timer command: ipmitool raw 0x06 0x22 Response: // Success Step 3: Test whether the watchdog timer is finished command: ipmitool raw 0x06 0x25 //get watchdog timer Response: 05 30 00 20 14 00 00 00 Step 4: command: ipmitool raw 0x06 0x31 // get message flags Response: 0a Step 5: command: ipmitool raw 0x06 0x30 0x08 // clear message flags Response: //Success Step 6: command: ipmitool raw 0x06 0x31 //get message flags Response: 02
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I9327e8fd676b24adf54b75d26d92c223c3a2f24c
show more ...
|
6c57e5ca | 10-Jan-2020 |
Suryakanth Sekar <suryakanth.sekar@linux.intel.com> |
ProductId is moved into Motherboard interface
Property ProductId is moved from root into Motherboard interface.
Tested:
To get the base board Product ID
ipmitool raw 0x30 0x93 <0xXX> - XX is the
ProductId is moved into Motherboard interface
Property ProductId is moved from root into Motherboard interface.
Tested:
To get the base board Product ID
ipmitool raw 0x30 0x93 <0xXX> - XX is the Baseboard Product ID
Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com> Change-Id: I11d686aea3d8b0cf244efc39c8f41348fee4414f
show more ...
|
19445ab7 | 20-Dec-2019 |
Yong Li <yong.b.li@linux.intel.com> |
Add a new query option for the effective rank order
This rank order will be changed during PSU Redundancy running, Settings service only stores the user initial settings, add a new option to return
Add a new query option for the effective rank order
This rank order will be changed during PSU Redundancy running, Settings service only stores the user initial settings, add a new option to return the current effective settings from Redundancy service.
Tested: With two PSUs, AC cycle the board,
// Two PSUs available ipmitool raw 0x30 0x2E 0x05 05 02
// Wait for 2 minutes, query the current effective order ipmitool raw 0x30 0x2E 0x06 06 01 02
ipmitool raw 0x30 0x2E 0x03 03 00 00
// Set a new order 2,1 ipmitool raw 0x30 0x2d 0x03 0x01 0x02 0x01 00
// Query the new order settings for several times, always 2,1 ipmitool raw 0x30 0x2E 0x03 03 01 02 01
// Query the current effective order for several times, it changes ipmitool raw 0x30 0x2E 0x06 06 01 02
ipmitool raw 0x30 0x2E 0x06 06 02 01
Change-Id: I355193ea0da18abaf0dfbb3210083614018d05a8 Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
show more ...
|