History log of /openbmc/intel-ipmi-oem/src/firmware-update.cpp (Results 1 – 25 of 36)
Revision Date Author Comments
# 843f4820 29-Jan-2024 PavanKumarIntel <pavanx.kumar.martha@intel.com>

Increase MaxFWImageSize to avoid transfer failure

While doing Firmware update via KCS, image is not
transferring properly due to exceeding the max Firmware
image size

Tested:
After increasing t

Increase MaxFWImageSize to avoid transfer failure

While doing Firmware update via KCS, image is not
transferring properly due to exceeding the max Firmware
image size

Tested:
After increasing the Max Firmware Image Size, image transferred
successfully and updated

Change-Id: I3c4a2eea50e9c4cb21fdcc66a7c08f3c27ae757e
Signed-off-by: PavanKumarIntel <pavanx.kumar.martha@intel.com>

show more ...


# f0feb49c 05-Dec-2023 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: avoid deprecated phosphor::Timer

sdbusplus had an older type named `phosphor::Timer` which was
recently renamed to `sdbusplus::Timer`. Update the code to use
the new type alias.

Change-

sdbusplus: avoid deprecated phosphor::Timer

sdbusplus had an older type named `phosphor::Timer` which was
recently renamed to `sdbusplus::Timer`. Update the code to use
the new type alias.

Change-Id: I694f0624eae2cdbb071ab97fe019cd5684615541
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 87381417 20-Oct-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-17 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-17 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I1367c2eabf95f27b5acb08b9e6fd6eedcb77377f
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# dcff1506 28-Sep-2022 Vernon Mauery <vernon.mauery@linux.intel.com>

changes needed for meson build

Fix warnings that the meson build turns into errors.

Tested: builds without warnings.

Change-Id: I66b02c4c616f37d09ceba61c494903acc3d28bd5
Signed-off-by: Vernon Maue

changes needed for meson build

Fix warnings that the meson build turns into errors.

Tested: builds without warnings.

Change-Id: I66b02c4c616f37d09ceba61c494903acc3d28bd5
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# 152e9145 15-Jun-2023 Johnathan Mantey <johnathanx.mantey@intel.com>

Fix IPMI firmware update programming failure

The IPMI Firmware Update sequence fails on some systems. The update
process receives the new firmware image data in the /tmp file
system. During the fina

Fix IPMI firmware update programming failure

The IPMI Firmware Update sequence fails on some systems. The update
process receives the new firmware image data in the /tmp file
system. During the final update phase the image is copied into the
/tmp/images subdirectory. If /tmp and /tmp/images are not part of the
same filesystem the std::filesystem::rename() function fails.

This commit changes the update process. The rename() is still
attempted. In the event the rename() fails, a copy() operation is
performed in the belief the destination is on a separate filesystem.

Tested:
Confirmed this change works on systems with a common /tmp filesystem.
Confirmed this change works on systems with the source file and the
destination file on different filesystems.

Change-Id: I5e3da6c0f453941ea54cb829d2bcaeadda0db438
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# b37abfb2 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I59c0a8c4b89131ecd3e9a841ed37ef3b8dcf8e9d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 0748c69d 08-Sep-2022 Jason M. Bills <jason.m.bills@intel.com>

Condense std::variants

Where possible, reduce to a single std::variant type to reduce binary
size.

Change-Id: I73b59765109ce1ccd7339f0e214d1ec3929e1ffc
Signed-off-by: Jason M. Bills <jason.m.bills@

Condense std::variants

Where possible, reduce to a single std::variant type to reduce binary
size.

Change-Id: I73b59765109ce1ccd7339f0e214d1ec3929e1ffc
Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>

show more ...


# f944d2e5 22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ie7375047bd567aa052d3bd35a6dd7008779a05b4

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


# bd51e6a9 06-Oct-2021 Patrick Williams <patrick@stwcx.xyz>

catch exceptions as const

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ia9932efb6a9335e80b3f2376d2d62e1b65866f44


# 153d4c14 25-Aug-2021 Arun Lal K M <arun.lal@intel.com>

Kloxwork Issue : NULL check after EVP_MD_CTX_new

EVP_MD_CTX_new could return NULL.
This Commit adds a NULL check to avoid NULL pointer dereferencing.

Tested:
By performing f

Kloxwork Issue : NULL check after EVP_MD_CTX_new

EVP_MD_CTX_new could return NULL.
This Commit adds a NULL check to avoid NULL pointer dereferencing.

Tested:
By performing firmware update using following steps.

1. Generate fw update random number
ipmitool raw 0x08 0x26

2. Enter fw update mode
ipmitool raw 0x08 0x27 0xa8 0xa8 0x32 0x49 0x0a 0x28 0xef 0x40

3. Start Image transfer
ipmitool raw 0x08 0x29 0x01

4. Set Firmware update options
ipmitool raw 0x08 0x2B 0x04 0x04 0xe3 0xb0 0xc4 0x42 0x98 0xfc 0x1c
0x14 0x9a 0xfb 0xf4 0xc8 0x99 0x6f 0xb9 0x24 0x27 0xae 0x41 0xe4 0x64
0x9b 0x93 0x4c 0xa4 0x95 0x99 0x1b 0x78 0x52 0xb8 0x55

5. Set file name (file:///tmp/BMC.Bin)
ipmitool raw 0x08 0x29 0x04 0x13 0x66 0x69 0x6c 0x65 0x3a 0x2f 0x2f
0x2f 0x74 0x6d 0x70 0x2f 0x42 0x4d 0x43 0x2e 0x42 0x69 0x6e

6. End Image transfer
ipmitool raw 0x08 0x29 0x02

7. Exit fw-update mode
ipmitool raw 0x08 0x28

Signed-off-by: Arun Lal K M <arun.lal@intel.com>
Change-Id: Iefb83247278bfc58af209dad252f01c4bf01f2f4

show more ...


# c08e9752 14-Jul-2021 P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>

Klocwork Issue Fix - File Resource Lost

In the event when file_size() fails and file open was successful,
with the current implementation, the function would return without
closing t

Klocwork Issue Fix - File Resource Lost

In the event when file_size() fails and file open was successful,
with the current implementation, the function would return without
closing the file.
This commit fixes this condition by having separate checks for
file_size error code and file open failure.

Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
Change-Id: I44e46a4093f5fab087b40bb95440fbb3d215bad8

show more ...


# a8dd197a 19-Aug-2020 Punith Nadur Basavarajaiah <punitx.basavarajaiah@intel.com>

firmware-update:Add Support to get fwSecurityVer

Add support to read BKC and SVN version for BMC Active and Recovery
image.

Tested:
Command : ipmitool raw 0x08 0x21 //get fi

firmware-update:Add Support to get fwSecurityVer

Add support to read BKC and SVN version for BMC Active and Recovery
image.

Tested:
Command : ipmitool raw 0x08 0x21 //get firmware security version
Response: 02 01 01 01 02 01 01

Signed-off-by: Punith Nadur Basavarajaiah <punitx.basavarajaiah@intel.com>
Change-Id: I25a801fe00fef3c4c65b57aacb59089be1705d58

show more ...


# 52a292b8 27-Jul-2020 srikanta mondal <srikantax.mondal@intel.com>

GetFwVersionInfo: Fix for Firmware aux version

Issue: Get Version Information return incorrect Firmware AUX version

FIX: Firmware aux version was parsing incorrectly. Do the parsing

GetFwVersionInfo: Fix for Firmware aux version

Issue: Get Version Information return incorrect Firmware AUX version

FIX: Firmware aux version was parsing incorrectly. Do the parsing by
correct regex pattern of BMC version.

Tested:
Verified using ipmitool raw commands
Before fix:
Command: ipmitool raw 0x08 0x20 // Get version Information
Response: 01 02 00 70 01 00 00 00 00 00 00 00 00 00 00 00

After fix:
Command: ipmitool raw 0x08 0x20 // Get version Information
Response: 02 01 00 74 0a 8a 37 78 00 00 00 00 00 00 00 00
02 00 70 01 00 00 00 00 00 00 00 00 00 00 00

Signed-off-by: srikanta mondal <srikantax.mondal@intel.com>
Change-Id: I7c2baf8a0da15e3ca4db5d6f9d6de7bf739aa755

show more ...


# c2a07d4b 30-May-2020 Patrick Venture <venture@google.com>

types: move common types into types header

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I8e6f6fbae784a8ceebcc83ac53c1beb5c7b46779


# fcd2d3a9 28-May-2020 James Feist <james.feist@linux.intel.com>

Update to latest clang-format

Update to clang-format-10

Change-Id: I1c33ef7115c7a1459164d71f63921019d2dc9a98
Signed-off-by: James Feist <james.feist@linux.intel.com>


# 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 car

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


# 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

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


# 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

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

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


# 28972063 10-Nov-2019 AppaRao Puli <apparao.puli@linux.intel.com>

Firmware update commmands re-write

Firmware update commands re-write
* Updated to new API style
* Coding guidelines for all names
* Restricted few commands for PFR
* Few

Firmware update commmands re-write

Firmware update commands re-write
* Updated to new API style
* Coding guidelines for all names
* Restricted few commands for PFR
* Few updates as per new OpenBMC EPS
* Changes for fw update status
* Removed legacy API's used for FW update

Tested:
- Tested firmware update using fwpiaupd.efi tool
in usb and kcs trasfer mode.
- Tested all firmware update commands over LAN.

Change-Id: I666cb139b2ca61d352e1cb6b1c18d045b7b1f197
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>

show more ...


# 09a8314b 22-Nov-2019 AppaRao Puli <apparao.puli@linux.intel.com>

Updated BMCState when firmware update mode is set

Updated BMCState value to "UpdateInProgress" when
user sets the Firmware Update mode via IPMI command
and resetting it to "Ready" du

Updated BMCState when firmware update mode is set

Updated BMCState value to "UpdateInProgress" when
user sets the Firmware Update mode via IPMI command
and resetting it to "Ready" during exit Firmware update
mode.

This change will make sure correct setting of BMCState
when device is in update mode and same will be reflected
in GetDeviceId byte4 as per IPMI specification.

New value "UpdateInProgress" is added to dbus as part of
below change.
https://gerrit.openbmc-project.xyz/#/c/openbmc/phosphor-dbus-interfaces/+/26867/

Tested:
Set and reset the Firmware Update mode using OEM IPMI
commands and verified the get device ID response.
root@intel-obmc:~# ipmitool raw 8 0x26
7f 64 a5 c9 af 00 b9 30
root@intel-obmc:~# ipmitool raw 8 0x27 0x7f 0x64 0xa5 0xc9 0xaf 0x00 0xb9 0x30

root@intel-obmc:~# ipmitool raw 6 1
23 00 80 01 02 bf 57 01 00 7b 00 ca 0a 9a 62
root@intel-obmc:~# ipmitool raw 8 0x28

root@intel-obmc:~# ipmitool raw 6 1
23 00 00 01 02 bf 57 01 00 7b 00 ca 0a 9a 62
root@intel-obmc:~#

Change-Id: Ie7e4a778cb80708a0a8ca239e9a24e82de1f9de2
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>

show more ...


# 3ec26204 29-Oct-2019 Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com>

Refactoring: Firmware image write data command.

Updated firmware write data command as per new design.

Tested:

Tested firmware update utility via KCS interface

Sig

Refactoring: Firmware image write data command.

Updated firmware write data command as per new design.

Tested:

Tested firmware update utility via KCS interface

Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com>
Change-Id: I59bd15f639634cf34a9d188ce62cc6529fe038fb

show more ...


# c8864062 15-Oct-2019 Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com>

Updated Get Firmware Root Certficate data command

Updated IPMI Get Firmware Root Certficate data command(0x25) for PFR

This command works only for PFR enabled platforms.

Te

Updated Get Firmware Root Certficate data command

Updated IPMI Get Firmware Root Certficate data command(0x25) for PFR

This command works only for PFR enabled platforms.

Tested:
- Enabled INTEL_PFR_ENABLED flag and verified the below command
ipmitool -I dbus raw 0x08 0x25
Returns proper data.
- Disabled INTEL_PFR_ENABLED flag and verified
Returns error.

Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com>
Change-Id: I8a6d0c939d26a8e8058dc35b26c6f78228ea8e5c

show more ...


# 37fde6b6 25-Oct-2019 AppaRao Puli <apparao.puli@linux.intel.com>

Added support for Get Firmware Version Information

Added support for Get Firmware Version Information.
This command works only for PFR enabled platform.

Tested:
- On PFR en

Added support for Get Firmware Version Information

Added support for Get Firmware Version Information.
This command works only for PFR enabled platform.

Tested:
- On PFR enabled platforms:
Req: ipmitool raw 0x08 0x20
Res: 02 01 00 14 02 00 00 00 00 00 00 00 00 00 00 00
02 00 14 02 00 00 00 00 00 00 00 00 00 00 00
- Non-PFR platforms
Req: ipmitool raw 0x08 0x20
Res: Invalid command(0xC1)

Change-Id: I67a0674fbde053dc9088e76bbec871ddbab32e04
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>

show more ...


12