7acb2d27 | 14-Nov-2022 |
V-Sanjana <sanjana.v@intel.com> |
The slot i2c master read write command is updated
The update is to perform read-write operation on the devices behind MUX in various components like RISER, HSBP and PCIe slots present in baseboard.
The slot i2c master read write command is updated
The update is to perform read-write operation on the devices behind MUX in various components like RISER, HSBP and PCIe slots present in baseboard.
Tested: The slot i2c command was tested for reading data from HSBP CPLD present behind baseboard MUX and found to be successful
Signed-off-by: V-Sanjana <sanjana.v@intel.com> Change-Id: I25ce882fda50f5946ca2acec0290d1c769ab019a
show more ...
|
8b7c156e | 27-Sep-2022 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
Update filter to allowlist instead of whitelist
Remove racist terminology in favor of descriptive terminology.
Tested: builds and runs with no change in behavior.
Change-Id: Ic7ab6f4b316043da67f07
Update filter to allowlist instead of whitelist
Remove racist terminology in favor of descriptive terminology.
Tested: builds and runs with no change in behavior.
Change-Id: Ic7ab6f4b316043da67f079cd92cd6f070ddcf108 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
ff4982a2 | 04-Oct-2022 |
Ed Tanous <edtanous@google.com> |
Move the location of sensor object manager
Per phosphor-dbus-interfaces, all sensor implementations should be implementing an ObjectManager at /xyz/openbmc_project/sensors
This commit updates intel
Move the location of sensor object manager
Per phosphor-dbus-interfaces, all sensor implementations should be implementing an ObjectManager at /xyz/openbmc_project/sensors
This commit updates intel-ipmi-oem to look from the corrrect location.
Tested: No good way to test, as I don't have an intel-ipmi-oem platform, but a similar patch made to phosphor-ipmi-host showed the correct results.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I6d059cb1da79a7444da813e329b7ed7ebd8d0350
show more ...
|
097497fb | 07-Oct-2022 |
Alex Schendel <alex.schendel@intel.com> |
Remove ManagedObjectType Dependency
libipmi now has a getManagedObjects() function which obviates the need to specify a custom type and use a direct dbus yield method call. This does not change any
Remove ManagedObjectType Dependency
libipmi now has a getManagedObjects() function which obviates the need to specify a custom type and use a direct dbus yield method call. This does not change any behavior of the Get or Capture Manufacturing Data commands. This commit serves to improve readability and remove unnecessary dependencies.
Tested: Get Manufacturing Data continues to report MAC Address: ipmitool raw 0x30 0xA2 0x00 01 a4 bf 01 8c c4 94
Change-Id: I128ef0679932bf247c1e9e1e8bd2e870a24e3d16 Signed-off-by: Alex Schendel <alex.schendel@intel.com>
show more ...
|
90eb7876 | 01-Sep-2022 |
Alex Schendel <alex.schendel@intel.com> |
Fix Get and Set SM Signal Fan PWM Command
The Get SM Signal and Set SM Signal IPMI commands function under the assumption that there is a 1:1 relationship between the fan Pulse Width Modulator (PWM)
Fix Get and Set SM Signal Fan PWM Command
The Get SM Signal and Set SM Signal IPMI commands function under the assumption that there is a 1:1 relationship between the fan Pulse Width Modulator (PWM), and the fan tachometer. Not all hardware follows this model. The code changes in this commit updates these IPMI commands to handle the introduction of HW that uses one PWM output to control two fans.
For systems that have a 1:1 PWM/Tachometer relationship, this code improves upon the original "signal instance" lookup. The "signal instance" now specifies a "fan number". Systems may not have a linear relationship between "fan header numbers" and the PWM that controls the fan on that header. Prior to this commit the "signal instance" had to be the PWM number. Now the Get/Set commands associate a linear fan number to the respective PWM.
Systems that use one PWM to control multiple fans, and by extension multiple tachometers use a secondary lookup to determine the fan to modify/read. The JSON file describing the fan PWM/tachometer is updated to add a "PWMName" record. The instance number is combined with the PWMName entry to identify the correct HW to read/modify. The PWMName entry in the JSON file nomenclature defines two fans (i.e. "PWMName:" "Pwm_3_4"), which are associated to a PWM, (i.e. "Pwm": 1).
Tested: On system with default PWM name: IPMI command: ipmitool raw 0x30 0x14 0x0d 6 0x00 # read fan 7 pwm 32 ipmitool raw 0x30 0x15 0x05 6 0x1 0x48 # set fan 7 pwm (72%) ipmitool raw 0x30 0x14 0x0d 6 0x00 # read fan 7 pwm 48 root@intel-obmc:~# busctl get-property xyz.openbmc_project.EntityManager /xyz/openbmc_project/inventory/system/chassis/Fan_7 xyz.openbmc_project.Configuration.AspeedFan.Connector Pwm t 12 (In this system, Fan 7 is connected to PWM 12)
Dbus tree showing default name: busctl tree xyz.openbmc_project.FanSensor `-/xyz/openbmc_project/sensors |-/xyz/openbmc_project/sensors/fan_pwm | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_1 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_13 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_14 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_15 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_16 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_2 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_3 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_4 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_5 | `-/xyz/openbmc_project/sensors/fan_pwm/Pwm_6
On system with non-default PWM name: IPMI command: ipmitool raw 0x30 0x14 0x0d 1 0x00 # read fan 2 pwm 64 ipmitool raw 0x30 0x15 0x05 0 0x1 0x48 # set fan 2 pwm ipmitool raw 0x30 0x14 0x0d 0 0x00 # read fan 1 pwm 48 # shared with fan 2
Dbus tree showing non-default PWM name: busctl tree xyz.openbmc_project.FanSensor `-/xyz/openbmc_project/sensors |-/xyz/openbmc_project/sensors/fan_pwm | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_11_12 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_1_2 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_3_4 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_5_6 | |-/xyz/openbmc_project/sensors/fan_pwm/Pwm_7_8 | `-/xyz/openbmc_project/sensors/fan_pwm/Pwm_9_10
Change-Id: I9a40256ed892170f8ba88a3a617b5a2e11693c9f Signed-off-by: Alex Schendel <alex.schendel@intel.com>
show more ...
|
9d2894d9 | 20-Sep-2022 |
Nan Zhou <nanzhoumails@gmail.com> |
treewide: change EM's ObjectManager path
EntityManager moves its ObjectManager in commit [1], this patch is to change accordingly. Please see [1] for why we made that change.
[1] https://gerrit.ope
treewide: change EM's ObjectManager path
EntityManager moves its ObjectManager in commit [1], this patch is to change accordingly. Please see [1] for why we made that change.
[1] https://gerrit.openbmc.org/c/openbmc/entity-manager/+/57279
Tested: code compiles. I don't have a system with this repo enabled. But code inspection can show that only ObjectManager path changed.
Signed-off-by: Nan Zhou <nanzhoumails@gmail.com> Change-Id: I166cc919bf355d5ee3224553129854a28fdf03b7
show more ...
|
039c3495 | 09-Sep-2022 |
Jason M. Bills <jason.m.bills@intel.com> |
Change static flat_map to constexpr array of pairs
This changes a hardcoded static flat_map to a compile-time defined constexpr array of pairs to reduce binary space.
Tested: Confirmed that 'ipmito
Change static flat_map to constexpr array of pairs
This changes a hardcoded static flat_map to a compile-time defined constexpr array of pairs to reduce binary space.
Tested: Confirmed that 'ipmitool sdr elist' shows the correct units
Change-Id: Id66d8c3f7324c39360ccb083fb3b5f3d154ac215 Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
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 ...
|
d42a0c45 | 27-Sep-2022 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
remove intel-dbus in favor of phosphor-dbus
The intel-dbus-interfaces has been merged into phosphor-dbus-interfaces, so we can remove it from the external dependencies.
Tested: ran openbmc-build-sc
remove intel-dbus in favor of phosphor-dbus
The intel-dbus-interfaces has been merged into phosphor-dbus-interfaces, so we can remove it from the external dependencies.
Tested: ran openbmc-build-scripts locally.
Change-Id: I3ca53128bd6aa9b04403335807bf36b28daaf9e0 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
4aee3fc9 | 20-Sep-2022 |
Ed Tanous <edtanous@google.com> |
Add flat_map to includes
A recent change made it so that flat_map is not transitively included by object_server.hpp in sdbusplus. Explicitly add the required enum.
Tested: Code builds.
Signed-off
Add flat_map to includes
A recent change made it so that flat_map is not transitively included by object_server.hpp in sdbusplus. Explicitly add the required enum.
Tested: Code builds.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I50ee58bf194400358b8af29b653f22d4aabd8daa
show more ...
|
ac0b7278 | 01-Sep-2022 |
Patrick Williams <patrick@stwcx.xyz> |
cmake: update to C++20
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id042565981ccbc3d4eb18850562c3f3a70aee67a |
9722151c | 18-Aug-2022 |
Paul Fertser <fercerpav@gmail.com> |
Specify "8-bit ASCII + Latin 1" SDR encoding
Applications using OpenSolaris libipmi can't handle "Unicode" (type 0) encoding for the sensor names [0].
This results in issues with VMWare ESXi which
Specify "8-bit ASCII + Latin 1" SDR encoding
Applications using OpenSolaris libipmi can't handle "Unicode" (type 0) encoding for the sensor names [0].
This results in issues with VMWare ESXi which uses IPMI to fetch sensor data from the BMC, all the names are shown as "Unspecified 1" (if default EntityId is used), so status page, SEL entries and the logs become very confusing.
Fix this by telling it to process all bytes as is by using "8-bit ASCII + Latin 1" type.
Tested with VMWare ESXi 7.0 Update 2 and regular ipmitool (using GNU FreeIPMI), both shows names correctly.
[0] https://github.com/kofemann/opensolaris/blob/master/usr/src/lib/libipmi/common/ipmi_util.c#L258
Signed-off-by: Paul Fertser <fercerpav@gmail.com> Change-Id: I53d74944717b1642eab6bee3c2c8566a1b8808b1
show more ...
|
fc3bc381 | 02-Jun-2022 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
Check reserved fields in appSlotI2CMasterWriteRead
Reserved field checking was not present, so this adds a check to make sure that ther reserved fields do not have bits set. Also fixes a typo for th
Check reserved fields in appSlotI2CMasterWriteRead
Reserved field checking was not present, so this adds a check to make sure that ther reserved fields do not have bits set. Also fixes a typo for the reserved field name.
Tested: Run a slot i2c write read command that has a bit set in the reserved field and see that it gets rejected.
Change-Id: I7f63cc71b97f4864c8dc59738a240630e388120e Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
f1ccb196 | 04-Aug-2022 |
Patrick Williams <patrick@stwcx.xyz> |
MAINTAINERS: remove file
The MAINTAINERS file is deprecated in favor of OWNERS.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3619bc0c05059f1a865accbee7351f64bd75d5f0
|
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 ...
|
bc01d213 | 16-Jun-2022 |
Mike Jones <michaelx.jones@intel.com> |
Check SetEFIBootOptions when Byte 1&2 are 0
Update of: ipmiOemSetEfiBootOptions() A check is done when both arguments are 0. This is a invalid or unuseful condition.
Tested ========== Issue command
Check SetEFIBootOptions when Byte 1&2 are 0
Update of: ipmiOemSetEfiBootOptions() A check is done when both arguments are 0. This is a invalid or unuseful condition.
Tested ========== Issue command "ipmitool raw 0x30 0xEA 0x00 0x00 " expect rtn mess: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0xea rsp=0xcc): Invalid data field in request
Signed-off-by: Mike Jones <michaelx.jones@intel.com> Change-Id: Ia28cb34983baf0c28084227fd1df71e5045406cd
show more ...
|
0ee33db0 | 22-Jul-2022 |
Patrick Williams <patrick@stwcx.xyz> |
OWNERS: switch 'matches' to 'matchers'
The original OWNERS template had a mistake which used 'matches' instead of the field supported by the Gerrit plugin 'matchers'. Update the OWNERS file to have
OWNERS: switch 'matches' to 'matchers'
The original OWNERS template had a mistake which used 'matches' instead of the field supported by the Gerrit plugin 'matchers'. Update the OWNERS file to have the correct field.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I67ddc57706fd5f849426ae61f31ab635066366f6
show more ...
|
95f69336 | 04-Jun-2022 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
bmccontrolservices: Use service name for matching
The object paths of services are changed after service-config-manager switched using sdbusplus to encode them, but now the service names can be deco
bmccontrolservices: Use service name for matching
The object paths of services are changed after service-config-manager switched using sdbusplus to encode them, but now the service names can be decoded from the object paths. This patch changes to use service name for matching accordingly.
Also changes unorderded_map bmcServices to array as random access is not needed here.
Requires service-config-manager change #52557 ("Encode object path with sdbusplus") being merged first.
Tested: Verified both Get/Set BMC Services IPMI commands work as before.
Change-Id: I6da7f275c252059b121c323280214012f330340f Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
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 ...
|
62072075 | 15-Jun-2022 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
fix external dependency for ci build
The external dependency on phosphor-ipmi-host has changed from autotools to meson, so the cmake blurb to build it as an external project needs to change too.
Th
fix external dependency for ci build
The external dependency on phosphor-ipmi-host has changed from autotools to meson, so the cmake blurb to build it as an external project needs to change too.
This also removes the pinned version of ipmid
Tested: checked out unit-test scripts and built it locally
Change-Id: I82021cf401c7db134c45cd5d700753bc6fde8c55 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
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 ...
|
939f3607 | 15-Jun-2022 |
Zhikui Ren <zhikui.ren@intel.com> |
Fix build issue
Pin host ipmid to pre meson build
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: Ica2d700e44ad2842d1d3e9263c39131af940b74b |
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 ...
|