5277179a | 30-May-2022 |
Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
Conditionally clear watchdog pre-timeout interrupt
"Clear Message Flags" IPMI command is used to clear the Event Message buffer, Receive Message queue and Watchdog pre-timeout interrupt flag if that
Conditionally clear watchdog pre-timeout interrupt
"Clear Message Flags" IPMI command is used to clear the Event Message buffer, Receive Message queue and Watchdog pre-timeout interrupt flag if that specific BIT is set.
Existing code is setting the "Watchdog Pre-timeout interrupt" flag to True when user (host/end user) tries to clear other bits like Message Buffer or Receive Message Queue which is not correct. So correct the condition to clear "watchdog Pre-timeout interrupt" flag only if BIT 3 is set.
Tested: Verified using cmdtool utility and clear linux OS.
On Cmdtool- Case 1: When "PreTimeoutInterruptOccurFlag" flag is enable and clear other flags Command: > cmdtool.efi 20 18 31 //Get Message Flags Response: 00 08 Command: > cmdtool.efi 20 18 30 2 //Clear Message Flags Response: 00 Command: > cmdtool.efi 20 18 31 //Get Message Flags Response: 00 08 //watchdog "PreTimeoutInterruptOccurFlag" is not //cleared
Case 2: When "PreTimeoutInterruptOccurFlag" flag is enable and clear PreTimeoutInterruptOccurFlag Command: > cmdtool.efi 20 18 30 8 //Clear Message Flags Response: 00 Command: > cmdtool.efi 20 18 31 //Get Message Flags Response: 00 02 //watchdog "PreTimeoutInterruptOccurFlag" is not //cleared
On Linux OS- Case 1: When "PreTimeoutInterruptOccurFlag" flag is enable and clear other flags Command: ipmitool raw 0x06 0x31 //get message flags Response: 08 Command: ipmitool raw 0x06 0x30 0x02 // clear message flags Response: //Success Command: ipmitool raw 0x06 0x31 //get message flags Response: 08
Case 2: When "PreTimeoutInterruptOccurFlag" flag is enable and clear PreTimeoutInterruptOccurFlag Command: ipmitool raw 0x06 0x30 0x08 // clear message flags Response: //Success Command: ipmitool raw 0x06 0x31 //get message flags Response: 02
Signed-off-by: JitendraKumar Tripathy <jitendra.kumarx.tripathy@intel.com> Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I85a742c6d5799fe31b4c0a64b3d4f62256772be6
show more ...
|
7599bcf9 | 01-Jun-2022 |
Mike Jones <michaelx.jones@intel.com> |
Fix return code ipmiGetSetFirmwareUpdateControl
Update of: ipmiGetSetFirmwareUpdateControl() . When the command 'update complete' is issued without FirmwareUpdateControl & TransferStart the error me
Fix return code ipmiGetSetFirmwareUpdateControl
Update of: ipmiGetSetFirmwareUpdateControl() . When the command 'update complete' is issued without FirmwareUpdateControl & TransferStart the error message "Unspecified error" is returned. An improved respose should be "Command not supported in present state" with error code 0xd5. In the log 'transferFirmwareUpdate not started.' is reported.
Tested ========== Issue command "ipmitool raw 0x08 0x29 0x02" expect return message: "Command not supported in present state" with rsp=0xd5
Signed-off-by: Mike Jones <michaelx.jones@intel.com> Change-Id: I41fd24815d2780016c293ac1e2e38668a6038edc
show more ...
|
0408e79e | 07-Jun-2022 |
Zhikui Ren <zhikui.ren@intel.com> |
Detect Write Protect when programming MAC address
When Write Protect is enabled, write to eeprom chips from different vendors fail differently. For ATMEL chip, write returns success, read and verify
Detect Write Protect when programming MAC address
When Write Protect is enabled, write to eeprom chips from different vendors fail differently. For ATMEL chip, write returns success, read and verify is needed to detect write failure. For STMicroelectronics, write return error, add read attempt to detect if Write Protect is enabled.
Tested: No regression in MAC programing commands. Fake write error and verified read is tried through debug print.
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: I8d9a851d9fde7a0bd6b0a681d13c5be55f43f6cc
show more ...
|
41a6e9f3 | 23-May-2022 |
Zhikui Ren <zhikui.ren@intel.com> |
sensorcommands: handle NaN in threshold interface
dbus-sensor threshold has been changed to always create high and low interfaces. Threshold value is set to NaN when there is no actual limit.
When
sensorcommands: handle NaN in threshold interface
dbus-sensor threshold has been changed to always create high and low interfaces. Threshold value is set to NaN when there is no actual limit.
When creating threshold attributes in SDR, verify that sensor threshold value is not NaN.
When getting min and max from threshold interfaces, use std::fmin and std::fmax instead of std::min and std::max. If one of the two arguments is NaN, the value of the other argument is returned. Since sensors are always created with default min/max values, the other argument is not going to be NaN.
Tested: ipmitool sensor list returns without error. Sensor limit is na when threshold interface value is NaN.
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: Ib0465ceb706a8e29bfad05092f24f545356dc0de
show more ...
|
2daecd6f | 19-May-2022 |
Matt Simmering <matthew.simmering@intel.com> |
biosConfigCommands: Add check for invalid paramSel
Add additional check in Get Payload IPMI command for parameter selection. Check that it's a valid parameter.
Tested: When parameter selection is
biosConfigCommands: Add check for invalid paramSel
Add additional check in Get Payload IPMI command for parameter selection. Check that it's a valid parameter.
Tested: When parameter selection is set above max we're returning the expected error code 0xcc instead of 0xff.
Change-Id: I77f94a164fb9f05a7d17ad558a9afb91b762b6c8 Signed-off-by: Matt Simmering <matthew.simmering@intel.com>
show more ...
|
429b0857 | 10-May-2022 |
Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
Fix for ClearMessageFlags IPMI command
Issue: "In ClearMessageFlags IPMI command implementation, Watchdog pre-timeout interrupt flag is cleared unconditionally. Due to that Get Message Flags IPMI co
Fix for ClearMessageFlags IPMI command
Issue: "In ClearMessageFlags IPMI command implementation, Watchdog pre-timeout interrupt flag is cleared unconditionally. Due to that Get Message Flags IPMI command response is not expected.
Fix: In ClearMessageFlags, Set dbus property "PreTimeoutInterruptOccurFlag" of interface "xyz.openbmc_project.State.Watchdog" to actual user input.
Tested: 1. Verified using cmdtool utility and clear linux OS. Command: ipmitool raw 6 0x24 0x5 0x33 0x5 0x3e 0x64 0x00 //Set watchdog timer Response: //Success Command: ipmitool raw 6 0x22 //Reset Watchdog Timer Response: //Success Command: ipmitool raw 6 0x25 //Get Watchdog Timer Response: 05 33 00 00 64 00 64 00
Verified from system interface using cmdtool utility and Clear linux. Command: > cmdtool.efi 20 18 31 //Get Message Flags Response: 00 0A
Signed-off-by: JitendraKumar Tripathy <jitendra.kumarx.tripathy@intel.com> Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: Ib5e25268204295e5250fb8500d95a1f0169f2043
show more ...
|
493d7761 | 04-May-2022 |
Jason M. Bills <jason.m.bills@intel.com> |
Include fstream
Missing the fstream include is causing build errors, so adding it to fix the build.
Tested: Confirmed that it builds.
Change-Id: I3417340256f9965778f7cde0a1d26a33edd2d320 Signed-of
Include fstream
Missing the fstream include is causing build errors, so adding it to fix the build.
Tested: Confirmed that it builds.
Change-Id: I3417340256f9965778f7cde0a1d26a33edd2d320 Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
show more ...
|
98fa87e6 | 04-May-2022 |
Zhikui Ren <zhikui.ren@intel.com> |
Store mac to eeprom enhancement
1. Add delay after write mac to eeprom before read back to verify. Issue: Some eeprom has timing requirement to allow internal write cycle to complete.
2. Make sure
Store mac to eeprom enhancement
1. Add delay after write mac to eeprom before read back to verify. Issue: Some eeprom has timing requirement to allow internal write cycle to complete.
2. Make sure MAC address are written within one EEPROM page. Issue: Block write rolls over back to start of same page. Use 8bytes as page size. It works also on 16byte page device.
3. Add mac header and checksum for mac record.
Tested: Write MAC and Read MAC commands complete successfully ipmitool raw 0x30 0xa1 0x00 0x56 0xd5 0xa9 0x8a 0xbd x3e ipmitool raw 0x30 0xa2 0x00 01 56 d5 a9 8a bd 3e i2cdump to verify eeprom data root@bmc-mac56d5a98abd3e:~# i2cdump -y 11 0x52 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ e0: 40 56 d5 a9 8a bd 3e 67 40 56 d5 a9 8a bd 3e 67 @V????>g@V????>g f0: 40 56 d5 a9 8a bd 3e 67 ff ff ff ff ff ff ff ff @V????>g........
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: Ib62e274fe22ec5cbc134239efb06bb528178f601
show more ...
|
ad129c68 | 05-Apr-2022 |
Zhikui Ren <zhikui.ren@intel.com> |
Add MAC to FRU EEPROM
If FRU device and MAC offset configuration is found from entity-manager, Set MAC command writes MAC to the FRU eeprom.
If FRU device config is not found or write to the device
Add MAC to FRU EEPROM
If FRU device and MAC offset configuration is found from entity-manager, Set MAC command writes MAC to the FRU eeprom.
If FRU device config is not found or write to the device failed, MAC is programmed using the existing method.
Tested: issue ipmi command to write and read MAC
1. On system has the FRU EEPROM, MAC is programmed to the eeprom correctly. #read MAC ipmitool raw 0x30 0xa2 0 01 ff ff ff ff ff ff #write MAC ipmitool raw 0x30 0xa1 0x00 0x16 0xc1 0x5f 0xb9 0x43 0x47 #read MAC ipmitool raw 0x30 0xa2 0 01 16 c1 5f b9 43 47
2. On system that the eeprom is write protected, return as follow #read MAC ipmitool raw 0x30 0xa2 0 01 ff ff ff ff ff ff #write MAC ipmitool raw 0x30 0xa1 0x0 0xbe 0x7f 0x17 0xff 0x59 0x7e Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xa1 rsp=0xd5): Command not supported in present state #read MAC ipmitool raw 0x30 0xa2 0 01 ff ff ff ff ff ff
3. On system that does not has FRU EEPROM, MAC is programmed the same way as before into filesystem.
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: I74e6e4270523a9abb020745bf4b93b4411bce597
show more ...
|
ce3b7577 | 14-Apr-2022 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
Fix incorrect generatorID shifting
generatorID is an address or a software ID in the upper seven bits followed by bit-0 of a 1 (for software ID) or a 0 for address. This means that the address is ef
Fix incorrect generatorID shifting
generatorID is an address or a software ID in the upper seven bits followed by bit-0 of a 1 (for software ID) or a 0 for address. This means that the address is effectively an 8-bit address, if bit-0 is 0.
This change removes the right shifting to fix comparisons to 8-bit addresses done in the code.
Change-Id: Ia386596ad1ce7f15ef4dca446b5c4fc778dbb8e8 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
5d24dda2 | 13-Apr-2022 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
do not shift kcs-passed software ID
When the software ID is passed in over KCS, the LSBit is required to be set and the software ID is already in the correct format to be used as the generatorID for
do not shift kcs-passed software ID
When the software ID is passed in over KCS, the LSBit is required to be set and the software ID is already in the correct format to be used as the generatorID for SEL data.
Change-Id: Ic19b55fd8f686584524fc9c0348b43d63956f292 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
a04e7481 | 24-Mar-2022 |
Snehalatha Venkatesh <snehalathax.v@intel.com> |
Fix for Redfish event when BIOS attributes changed
No Redfish event logged when set of BIOS attributes is changed.
Added "BIOSAttributesChanged" event to log in Redfish.
Tested: 1. PATCH: /redfish
Fix for Redfish event when BIOS attributes changed
No Redfish event logged when set of BIOS attributes is changed.
Added "BIOSAttributesChanged" event to log in Redfish.
Tested: 1. PATCH: /redfish/v1/Systems/system/Bios/Settings Body: { "data": { "serialDebugMsgLvl": "0x2" }} Response: Success 2. Do BIOS reset. 3. Check for the redfish event in redfish logs. GET: /redfish/v1/Systems/system/LogServices/EventLog/Entries Response: { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/32635", "@odata.type": "#LogEntry.v1_8_0.LogEntry", "Created": "1970-01-01T09:03:55+00:00", "EntryType": "Event", "Id": "32635", "Message": "Set of BIOS Attributes changed.", "MessageArgs": [], "MessageId": "OpenBMC.0.1.BIOSAttributesChanged", "Name": "System Event Log Entry", "Severity": "OK" }
Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com> Change-Id: Id88c21d894436a9c89e99237266827046cc7757a
show more ...
|
c42c7ede | 10-Jan-2022 |
Andrei Kartashev <a.kartashev@yadro.com> |
move PowerRestoreDelay to RestorePolicy interface
The `xyz.openbmc_project.Control.Power.RestoreDelay` is undocumented which prevents to use phosphor-settings to handle this parameter.
This propert
move PowerRestoreDelay to RestorePolicy interface
The `xyz.openbmc_project.Control.Power.RestoreDelay` is undocumented which prevents to use phosphor-settings to handle this parameter.
This property looks good fit to `xyz.openbmc_project.Control.Power.RestorePolicy` interface, so it was included there.
Type of the value was changed from uint16 to uint64 and units changes from seconds to microseconds. See https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/50231 for details.
Tested: Jason M. Bills confirmed that the commands to get and set the power restore delay correctly convert to and from unit64_t.
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Change-Id: I58dd601e561b53660ddb50e2b2c2b77ee2083030
show more ...
|
6346e98c | 09-Mar-2022 |
Snehalatha Venkatesh <snehalathax.v@intel.com> |
Fix for restoring Default values in BIOS
Enabling restoreDefaultvalue bit in Get Stored BIOS Setup Password to restore Default values in BIOS and setting back to 0 when NoAction.
Tested: 1. POST -
Fix for restoring Default values in BIOS
Enabling restoreDefaultvalue bit in Get Stored BIOS Setup Password to restore Default values in BIOS and setting back to 0 when NoAction.
Tested: 1. POST - /redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios 2. Perform Reset BIOS 3. Command: Get Stored BIOS Setup Password(0x30 0xd8) Response: flag bit is enabled
Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com> Change-Id: If819e6b3b16661a43e59d47aa367a9475912b5bc
show more ...
|
1d0bac92 | 10-Feb-2022 |
Arun Lal K M <arun.lal@intel.com> |
Removing IsSystemInterface from biosconfigmanager
IsSystemInterface functionality is handled by whitelist filter.
Tested: OOB commands work as expected. Case-1: RMCPP interface Command: ipmitool -I
Removing IsSystemInterface from biosconfigmanager
IsSystemInterface functionality is handled by whitelist filter.
Tested: OOB commands work as expected. Case-1: RMCPP interface Command: ipmitool -I lanplus -H xx.xx.xx.xx -U debuguser -P 0penBmc1 -C 17 raw 0x30 0xd8 Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xd8 rsp=0xd4): Insufficient privilege level Case-2: KCS interface Working as expected from BIOS to BMC before CoreBIOSdone/POSTComplete and blocking after CoreBIOSdone/POSTComplete.
Signed-off-by: Arun Lal K M <arun.lal@intel.com> Change-Id: Ica3bec4a2f72d072718a7310d493692332a6d5bb
show more ...
|
c9290e75 | 04-Jan-2022 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Fix SOL over SSH service control
According to Intel BMC EPS, byte 2 bit 6 of control BMC Service command (0x30 0xB1) controls SOL over SSH service. But now it controls the SOL service, meaning that
Fix SOL over SSH service control
According to Intel BMC EPS, byte 2 bit 6 of control BMC Service command (0x30 0xB1) controls SOL over SSH service. But now it controls the SOL service, meaning that disabling it will also disable other SOL services like SOL over RMCP+ and SOL on web, while SOL SSH port is still open and accepts incoming connections. This patch fixes this issue by only disabling the SOL SSH service.
Tested: * Disabling SOL over SSH will stop the SOL SSH service and all existing SOL SSH connections are closed. The port is also closed. * After disabling SOL SSH service, SOL can still be connected from web.
Change-Id: I4f4001805a636ea33168327be806afba1328fcc4 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
3a1be321 | 08-Feb-2022 |
Arun Lal K M <arun.lal@intel.com> |
Use consistent error code in biosconfigcommands.
biosconfigcommands is checking for IsSystemInterface and getPostCompleted to throw error for OOB IPMI commands. But the error code was inconsistent.
Use consistent error code in biosconfigcommands.
biosconfigcommands is checking for IsSystemInterface and getPostCompleted to throw error for OOB IPMI commands. But the error code was inconsistent.
Fix added to make error code consistent. If not IsSystemInterface, error code is ipmi::responseCommandNotAvailable If getPostCompleted, error code is ipmi::ipmiCCNotSupportedInCurrentState
Tested: By sending following OOB BIOS commands: 1) Set Payload (0xD5), for type payload type 0. 2) Set BIOS Password Hash info (D7). 3) Set BIOS Feature Capability (D3). 4) Get BIOS Feature Capability (D4).
And verified that after post complete, correct error was thrown.
Signed-off-by: Arun Lal K M <arun.lal@intel.com> Change-Id: Ie0e1337e4be74a0f5ebb9576ccdff4072fc51bf1
show more ...
|
bc9a82d3 | 27-Dec-2021 |
Andrei Kartashev <a.kartashev@yadro.com> |
fix interface usage for OperatingSystemState
OperatingSystemState property of xyz.openbmc_project.State.OperatingSystem.Status should be PDI enum of type OSStatus. This commit fixes values to be com
fix interface usage for OperatingSystemState
OperatingSystemState property of xyz.openbmc_project.State.OperatingSystem.Status should be PDI enum of type OSStatus. This commit fixes values to be compatible with PDI.
Tested: Updated to the full enum string and Confirmed that the 'Updated to POST Complete' and 'Updated to !POST Complete' messages both get logged correctly on a host reboot, and that the VALUE of 'Read POST complete value' is correct when ipmid starts with the host off or on.
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Signed-off-by: Jason M. Bills <jason.m.bills@intel.com> Change-Id: I2b54f9128102e6dedda442e77fc920aeabef58ce
show more ...
|
a165038f | 08-Jan-2022 |
Ankita Vilas Gawade <ankita.gawade@intel.com> |
Add OEM Command to Read Mailbox PFR Registers
This OEM command allows user to read PFR mailbox registers by specifying register address, no of bytes to read and register identifier (single byte or F
Add OEM Command to Read Mailbox PFR Registers
This OEM command allows user to read PFR mailbox registers by specifying register address, no of bytes to read and register identifier (single byte or FIFO register) Below command supports reading of single byte and FIFO registers
ipmitool raw 0x3e 0x84 [Register Address] [No of Bytes to Read] [Register Identifier] Note: Register Identifier:0 for single byte read register Register Identifier:1 for FIFO read register
Tested: 1.Single Byte Register Testing: a.ipmitool raw 0x3e 0x84 0x08 13 0: Successfully returned 13 bytes starting from the single byte read register address 0x08. 2.FIFO Read Register Testing: a.ipmitool raw 0x3e 0x84 0x08 13 1: Successfully returned 13 bytes from the FIFO address 0x08. 3.When Register Identifier is not 0 or 1 command will fail. 4.When either of register address or no of bytes is zero the command will fail.
Signed-off-by: Ankita Vilas Gawade <ankita.gawade@intel.com> Change-Id: Ie64af93b1c9d79d407b331ef9d0d64a408614780
show more ...
|
0d0dc349 | 20-Jan-2022 |
Snehalatha Venkatesh <snehalathax.v@intel.com> |
Fix Get Payload Data failing for type 0 and 5 files.
Issue: Get Payload Data for type 0 and type 5 is giving command response error(0xce).
Fix: Added validation code to get response data.
Tested:
Fix Get Payload Data failing for type 0 and 5 files.
Issue: Get Payload Data for type 0 and type 5 is giving command response error(0xce).
Fix: Added validation code to get response data.
Tested: Before Fix: Command: ipmitool raw 0x30 0xd6 1 5 0 0 0 0 0x44 0 0 0 Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xd6 rsp=0xce): Command response could not be provided
After Fix: Case-1: For Payload type 0 Command: Get Payload Info ipmitool raw 0x30 0xd6 0x0 0x0 Response : 00 00 00 47 36 04 00 62 c8 b8 62 00 01 3a 43 a9 61 Command: Get Payload Data ipmitool raw 0x30 0xd6 1 0 0 0 0 0 0x08 0 0 0 Response: 00 08 00 00 00 06 bb c3 29 5d 00 00 00 01 22 54 ac Case-2: For Payload type 5 1. Create Payload 5 Command: Set Payload Start Info ipmitool raw 0x30 0xd5 0 5 0 0 0x44 0 0 0 0xc 0xab 0xc2 0x53 0x0 Response: Success with Reservation ID Command: Set Payload In Progress ipmitool raw 0x30 0xd5 1 5 <ReservationID> 0 0 0 0 0x44 0 0 0 0xc 0xab 0xc2 0x53 0x50 0x58 0x4F 0x24 0x44 00 0x20 00 0x02 0x4E 0x81 00 0x03 00 0x03 0xF8 0x02 00 00 0x79 0x18 00 0x04 00 0x07 00 00 00 00 00 00 00 0x02 0x24 00 00 0xE8 0x7E 0xF8 0x83 0x06 00 00 00 00 00 00 00 00 00 00 00 00 0x7F 00 0x07 00 00 0x81 00 00 00 00 00 00 00 00 00 Response: Success Command: Set Payload End Transfer ipmitool raw 0x30 0xd5 2 5 <ReservationID> Response: Success 2. Reboot BMC 3. Check for Payload 5 file in /var/oob folder 4. Check with Get Payload Command: Get Payload Info ipmitool raw 0x30 0xd6 0 5 Response: 00 00 05 44 00 00 00 0c ab c2 53 00 01 fc 43 a9 61 Command: Get Payload Data ipmitool raw 0x30 0xd6 1 5 0 0 0 0 0x44 0 0 0 Response: Success with data
Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com> Change-Id: I198fa005f1732f80d5eb94550ab6cabd0f3754be
show more ...
|
382dc97f | 20-Jan-2022 |
Arun Lal K M <arun.lal@intel.com> |
Use correct OSStatus in biosconfigcommands to detect post completed.
biosconfigcommands was checking for "OperatingState" as value of interface xyz.openbmc_project.State.OperatingSystem.Status, but
Use correct OSStatus in biosconfigcommands to detect post completed.
biosconfigcommands was checking for "OperatingState" as value of interface xyz.openbmc_project.State.OperatingSystem.Status, but "OperatingState" is not in list of valid enum in OSStatus.
Fix: use "Standby" or "xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Standby"
Tested By sending following OOB BIOS commands: 1) Set Payload (0xD5), for type payload type 0. 2) Set BIOS Password Hash info (D7). 3) Set BIOS Feature Capability (D3).
And verified that after post complete, above commands are blocked.
Signed-off-by: Arun Lal K M <arun.lal@intel.com> Change-Id: Id3a80b91645af72faf3d5715c1e933086b7dd148
show more ...
|
2ff15bf6 | 30-Dec-2021 |
Snehalatha Venkatesh <snehalathax.v@intel.com> |
Add extra validation for GetPayloadData
Issue: GetPayloadData gives command response error when greater data length is given.
Fix: Added extra validation to give correct response
Tested: Before fi
Add extra validation for GetPayloadData
Issue: GetPayloadData gives command response error when greater data length is given.
Fix: Added extra validation to give correct response
Tested: Before fix: 1. To get datalength Command : ipmitool raw 0x30 0xd6 0x0 0x0 Response: 00 00 00 cb 36 04 00 2a 5f 12 28 00 01 6d 2e 52 5c Case-1: When data length is invalid Command : ipmitool raw 0x30 0xd6 1 0 0 0 0 0 0 0 0 0x05 Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xd6 rsp=0xce): Command response could not be provided Case-2:When data length is valid Command : ipmitool raw 0x30 0xd6 1 0 0x09 0 0 0 0xcb 0 0 0 Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xd6 rsp=0xce): Command response could not be provided
After fix: 1. Repeat 1 in before fix to get data length Case-1: When data length is invalid Command : ipmitool raw 0x30 0xd6 1 0 0 0 0 0 0 0 0 0x05 Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xd6 rsp=0xcc): Invalid data field in request Case-2:When data length is valid Command : ipmitool raw 0x30 0xd6 1 0 0x09 0 0 0 0xcb 0 0 0 Response: //Success
Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com> Change-Id: I85d9648cb48991510c3a016a9d6bc6ef65904259
show more ...
|
0fac9bf4 | 27-Dec-2021 |
Prithvi A Pai <prithvi.a.pai@intel.com> |
Fix for non-existance of smbios file
After server reset, smbios info (file) will be created little late in booting flow and causing error for consumers. This commit adds smbios existence check and r
Fix for non-existance of smbios file
After server reset, smbios info (file) will be created little late in booting flow and causing error for consumers. This commit adds smbios existence check and returns "CommandResponseNotProvided" for consumer to handle such case.
Tested: Verified using IPMI command Command: ipmitool raw 0x3E 0x31 0x01 0x01 0x00 //read smbios data Response: Unable to send RAW command (channel=0x0 netfn=0x3e lun=0x0 cmd=0x31 rsp=0xce):Command response could not be provided.
Change-Id: I70c8ce42fc6673331dfea353ae3d0ac4980a5c3b Signed-off-by: Prithvi A Pai <prithvi.a.pai@intel.com>
show more ...
|
d2d60ab5 | 29-Dec-2021 |
Arun Lal K M <arun.lal@intel.com> |
Add support for Enumeration in BIOSConfig
Bios knobs have options (possible set of values for the knob) as Enumaration, Hence BMC must treat it as type enumuration and not as string.
Bios knobs hav
Add support for Enumeration in BIOSConfig
Bios knobs have options (possible set of values for the knob) as Enumaration, Hence BMC must treat it as type enumuration and not as string.
Bios knobs have options (possible set of values for the knob) as Enumaration,Hence BMC must treat it as type enumuration and not as string.
This change is also to support the following change in bios-settings-mgr https://gerrit.openbmc-project.xyz/c/openbmc/bios-settings-mgr/+/49126
Tested: By giving following commands and making sure functionalities are not affected.
1) GET to /Registries/BiosAttributeRegistry/BiosAttributeRegistry/
2) GET to Systems/system/Bios/Settings
3) PATCH to Systems/system/Bios/Settings
Redfish validator result: 1) For /redfish/v1/Registries/ Counter({'metadataNamespaces': 2295, 'pass': 2053, 'skipOptional': 1267, 'warnDeprecated': 232, 'passGet': 11, 'warningPresent': 6, 'serviceNamespaces': 5}) Validation has succeeded.
2) For /redfish/v1/Systems/system/Bios/ Counter({'pass': 7405, 'metadataNamespaces': 2295, 'skipOptional': 14, 'serviceNamespaces': 4, 'passGet': 2, 'passAction': 2, 'reflink': 1, 'warningPresent': 1}) Validation has succeeded.
Signed-off-by: Arun Lal K M <arun.lal@intel.com> Change-Id: Ib86b0dbd3536a33fa85c8bb9897901b8220c4539
show more ...
|
1fe485cd | 17-Dec-2021 |
ANJALI RAY <anjali.ray@intel.com> |
Make enableUnit and disableUnit files as optional
Disable Unit Files has no effect if the service is already masked. Here are the logs: root:~# systemctl mask xyz.openbmc_project.PCIe Created symlin
Make enableUnit and disableUnit files as optional
Disable Unit Files has no effect if the service is already masked. Here are the logs: root:~# systemctl mask xyz.openbmc_project.PCIe Created symlink /etc/systemd/system/xyz.openbmc_project.PCIe.service -> /dev/null. root:~# systemctl disable xyz.openbmc_project.PCIe Unit /etc/systemd/system/xyz.openbmc_project.PCIe.service is masked, ignoring. Thus disabling after masking is not really required.
As masking creates a symlink of the unit file in /etc/systemd/system to /dev/null and unmasking removes it. Due to symlink being directed to /dev/null, it would not be possible to start a masked service at all.
Disabling removes an existing (proper) symlink in /etc/systemd/system/ <multi-user.target.wants>or<insert-other-relevant-directory>/* to the unit file, and enabling it inserts back the symlink in /etc/systemd/ system/<multi-user.target.wants>or<insert-other-relevant-directory>/*. In case of mctpd, the "enable unit" created an unnecessary symlink in /etc/systemd/system, thus it caused systemd to start mctp service but they are designed to be started by a different service than systemd. Thus, enabling after unmasking is not required for mctp.
However, there is an issue here with the service which has its unit file's symlink defined in /etc/systemd/system directory, then, unmasking will remove the symlink altogether. Although no service today has its symlink in /etc/systemd/system, but to work with such possibility we made an optional parameter disableOrEnableUnitFiles i.e. pass it as an argument for the startOrStopService. Also, the correct order needs to be disable the service first and mask it. In the other way around - it needs to be unmasked first and enable it.
Tested: Regression testing has been done and all the functionalities are working as intended for all the below tests: 1) Stop,start,enable and disable functionalities for all the MCTP services and PCIe service. 2) For disable test, we disable the service, restart the BMC and check is it still disabled or not. Same with AC cycle. 3) For enable test, we re-enable the service, restart BMC and check whether it is enabled or not and same with AC cycle.
Signed-off-by: ANJALI RAY <anjali.ray@intel.com> Change-Id: I9ebd20a4f0ba8c11d6f08a54078550172cb382ea
show more ...
|