History log of /openbmc/intel-ipmi-oem/src/ (Results 51 – 75 of 375)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
5277179a30-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 ...

7599bcf901-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 ...

0408e79e07-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 ...

41a6e9f323-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 ...

2daecd6f19-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 ...

429b085710-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 ...

493d776104-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 ...

98fa87e604-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 ...

ad129c6805-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 ...

ce3b757714-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 ...

5d24dda213-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 ...

a04e748124-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 ...

c42c7ede10-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 ...

6346e98c09-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 ...

1d0bac9210-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 ...

c9290e7504-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 ...

3a1be32108-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 ...

bc9a82d327-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 ...

a165038f08-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 ...

0d0dc34920-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 ...

382dc97f20-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 ...

2ff15bf630-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 ...

0fac9bf427-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 ...

d2d60ab529-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 ...

1fe485cd17-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 ...

12345678910>>...15