b6f89a0b | 15-Aug-2023 |
Zhikui Ren <zhikui.ren@intel.com> |
psusensor: add error handling for all err code
In psusensor handleResponse check for all non 0 error code and read bytes equal 0, skip parse read data and start waitTimer to try again. Without this
psusensor: add error handling for all err code
In psusensor handleResponse check for all non 0 error code and read bytes equal 0, skip parse read data and start waitTimer to try again. Without this change, sometimes psusensor would log a read error when power state is off and the sensor requires power state to be on, which is non desirable.
Tested: No more read error message in the journal log when system power state is off.
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: I228de0d454862335ccaa42c1fb12efc08da55084
show more ...
|
cafd72f6 | 16-Dec-2022 |
Matt Simmering <matthew.simmering@intel.com> |
psu-sensor: Add devmgmt and powercallback to PSU
Some PSU sensors are dependent on system power state. Without change the device initialization would fail and dbus-sensors and entity-manager wouldn'
psu-sensor: Add devmgmt and powercallback to PSU
Some PSU sensors are dependent on system power state. Without change the device initialization would fail and dbus-sensors and entity-manager wouldn't come back to properly instantiate.
Same intention as this hwmontempsensor change: https://github.com/openbmc/dbus-sensors/commit/a1456c4abafc697e7caa6b8e95ac9ddb35c4e7d1
Tested: Same sensors are getting created. Sensors are getting created/destroyed on host power events based on their PowerState.
Signed-off-by: Matt Simmering <matthew.simmering@intel.com> Change-Id: I3ee719cf65df225f964148d3994eec4d758d72a1
show more ...
|
38857578 | 10-Aug-2023 |
Matt Simmering <matthew.simmering@intel.com> |
intelcpusensor: Update DIMM presence check
Some Intel CPUs will use 0xFF to indicate DIMMs not being present. Add this check before setting dimmReady. We should be safe checking against 0 and 0xFF
intelcpusensor: Update DIMM presence check
Some Intel CPUs will use 0xFF to indicate DIMMs not being present. Add this check before setting dimmReady. We should be safe checking against 0 and 0xFF since these shouldn't be actual temperatures in the field.
Also remove the check on pkgConfig[2] because bits 23:16 are reserved.
Tested: intelcpusensor doesn't set dimmReady too early in case of Intel CPUs setting PCS 14 to 0xFFFF
Change-Id: If943736d3798d02dea17139f408572d80eb74e33 Signed-off-by: Matt Simmering <matthew.simmering@intel.com>
show more ...
|
c564eda5 | 12-May-2023 |
Matt Simmering <matthew.simmering@intel.com> |
hwmontempsensor: Move instantiateDevices
Move instantiateDevices to DeviceMgmt.hpp as a template function. This way other sensors can leverage this functionality.
Tested: Same hwmon temp devices ar
hwmontempsensor: Move instantiateDevices
Move instantiateDevices to DeviceMgmt.hpp as a template function. This way other sensors can leverage this functionality.
Tested: Same hwmon temp devices are getting instantiated.
Change-Id: I5d932ea57fa67809232a92fc769cd66a17a0cc70 Signed-off-by: Matt Simmering <matthew.simmering@intel.com>
show more ...
|
90ef14d8 | 01-Aug-2023 |
Alexander Hansen <alexander.hansen@9elements.com> |
psusensor: support ibm cffps driver
certain PSU's, like ACBEL R1CA2122A do not comply with the mechanism that 'pmbus' driver uses to discover the number of pages.
In that case, the hwmon directory
psusensor: support ibm cffps driver
certain PSU's, like ACBEL R1CA2122A do not comply with the mechanism that 'pmbus' driver uses to discover the number of pages.
In that case, the hwmon directory is filled with garbage sensors, and hardcoding the number of pages is required.
IBM cffps driver hardcodes the number of pages. This commit is to support using this driver in EM config.
Tested: on Tyan s8030 Board with before mentioned powersupplies.
Change-Id: I8288f183b115b8a3e9dd3bb93dcde3b6950739ac Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
6e69973e | 29-Mar-2023 |
Paul Fertser <fercerpav@gmail.com> |
IntelCPUSensor: support new Linux PECI API
The upstream PECI bus implementation doesn't support any ioctl() or other means to send and receive PECI messages directly from the userspace, instead it o
IntelCPUSensor: support new Linux PECI API
The upstream PECI bus implementation doesn't support any ioctl() or other means to send and receive PECI messages directly from the userspace, instead it only provides regular kernel-level abstractions (just hwmon CPU and DIMM temperature devices for now). It also requires the userspace to trigger bus rescan after the CPU(s) are powered on.
This patch makes IntelCPUSensor automatically detect and use the new API.
Change-Id: Icbd568aeeca6428a9fade12416e260741a76213c Signed-off-by: Paul Fertser <fercerpav@gmail.com>
show more ...
|
4cd5a90b | 04-Jul-2023 |
Wang Xiaohua <wangxiaohua.1217@bytedance.com> |
intelcpusensor:always unlock peci fd in detectCPU
Currently, intelcpusensor can leave peci fd locked after detectCPU call. This causes lock to fail for the next detectCPU call. It also can cause ker
intelcpusensor:always unlock peci fd in detectCPU
Currently, intelcpusensor can leave peci fd locked after detectCPU call. This causes lock to fail for the next detectCPU call. It also can cause kernel issues, when driver is unbound and application keeps the file open (since peci_unlock is not called it keeps) - the kernel structures remain in memory. Which means, that on application stop (during reboot or for any reason) the kernel warnings/errors will appear.
Tested: intelcpusensor journal log does not have below error message anymore "intelcpusensor[31213]: PECI device failed to unlock."
Change-Id: Ib2e7682d5f9a25124aeb340cc5cdb5375b4d773d Signed-off-by: Wang Xiaohua <wangxiaohua.1217@bytedance.com> Signed-off-by: Zhikui Ren <zhikui.ren@intel.com>
show more ...
|
75f92587 | 29-Mar-2023 |
Paul Fertser <fercerpav@gmail.com> |
IntelCPUSensor: retry when hwmon nodes not found
Due to the dynamic nature of loading kernel modules and creating hwmon devices it makes sense to retry searching for the suitable hwmon nodes as they
IntelCPUSensor: retry when hwmon nodes not found
Due to the dynamic nature of loading kernel modules and creating hwmon devices it makes sense to retry searching for the suitable hwmon nodes as they might appear later.
This is needed with the current upstream Linux PECI support code.
Change-Id: I4ce1585010bddc5b2162c3f64aae87006fe9a179 Signed-off-by: Paul Fertser <fercerpav@gmail.com>
show more ...
|
a0c6b5b7 | 06-Jun-2023 |
Zhikui Ren <zhikui.ren@intel.com> |
Add uring_args for all build targets in package
io_uring backend is enabled with uring_args. Add them to package args. All build targets including static libraries for utils and thresholds and senso
Add uring_args for all build targets in package
io_uring backend is enabled with uring_args. Add them to package args. All build targets including static libraries for utils and thresholds and sensor services executables are built consistently.
Currently steady timer in utils.cpp fires right away for services build with io_uring enabled like fansensor, hwmontempsensor. https://github.com/openbmc/dbus-sensors/blob/master/src/Utils.cpp#L472
Tested: Added debug print and verified the above timer handler is called 10 seconds after the timer is started as expected. intelcpusensor, which does not use random_access_file with io_uring backend reads sensor values successfully. Services use random_access_file read sensor data successfully.
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: I8cf3a9a0d1ffca459eb6c2c37e4e2220ce5100ac
show more ...
|
cb359da1 | 03-Aug-2023 |
Zhikui Ren <zhikui.ren@intel.com> |
Revert "fix formatting issues in CI"
This reverts commit a704a8f7391053f11c3479df1c4cce12e5cc6905. CI build is broken with this commit
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: I0
Revert "fix formatting issues in CI"
This reverts commit a704a8f7391053f11c3479df1c4cce12e5cc6905. CI build is broken with this commit
Signed-off-by: Zhikui Ren <zhikui.ren@intel.com> Change-Id: I02dc3ee2dedc53c34fb7c13801300c6480d16444
show more ...
|
a704a8f7 | 01-Aug-2023 |
Alexander Hansen <alexander.hansen@9elements.com> |
fix formatting issues in CI
Change-Id: Ib0e14adf4255017aa15329acb51ae7a23d259197 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com> |
aff100c1 | 25-Jul-2023 |
Jian Zhang <zhangjian.3032@bytedance.com> |
PSUSensor: Rename IPSPS to IPSPS1
Due to upstream[0] in the `EntityManager` using the driver name `IPSPS1`, update it.
[0]: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/58861
Change-Id: I
PSUSensor: Rename IPSPS to IPSPS1
Due to upstream[0] in the `EntityManager` using the driver name `IPSPS1`, update it.
[0]: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/58861
Change-Id: Ie03967ab24e9d79cb65e2786755b4686599de724 Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>
show more ...
|
63c9122e | 21-Jul-2023 |
Willy Tu <wltu@google.com> |
ipmbsensor: remove debug log
The debug log causes log spams and should be removed.
Change-Id: Ib46b280ddf2247f2824a4c126690a0b51cf76ff6 Signed-off-by: Willy Tu <wltu@google.com> |
2d5ee50b | 06-Jul-2023 |
Vikash Chandola <vikash.chandola@intel.com> |
Avoid thresholds vector update while iterating
new data is pushed on thresholds vector while it is being iterated. vector insertion can resize vector length. Resize in vector cause invalidation of i
Avoid thresholds vector update while iterating
new data is pushed on thresholds vector while it is being iterated. vector insertion can resize vector length. Resize in vector cause invalidation of iterators and further operation iterator is undefined behaviour(i.e. crash). Iterate through vector by indexing it from beginning to original size.
Tested: No cashes were observed with thresholds vector iteration.
Change-Id: Idf1d017847fa77128922a38eb6e33e0fa5702f3d Signed-off-by: Vikash Chandola <vikash.chandola@intel.com>
show more ...
|
c54f6c5b | 02-May-2023 |
Nnamdi Ajah <nnamdi@cloudflare.com> |
nvmesensor: Make bus and address private variables
It is recommended to make the bus and address as const variables to prevent it from being edited in code. Tested: Manually by verifying that the be
nvmesensor: Make bus and address private variables
It is recommended to make the bus and address as const variables to prevent it from being edited in code. Tested: Manually by verifying that the behavior remains the same, and that the bus and address gotten from Entity Manager configuration is used by the binary.
Change-Id: Ib69e8d7e68f433064504f2502ce79c4e5c234f3e Signed-off-by: Nnamdi Ajah <nnamdi@cloudflare.com>
show more ...
|
a7109574 | 27-Jun-2023 |
Matt Simmering <matthew.simmering@intel.com> |
intrusion sensor: fix default reading value
As-is the updateValue method will never update the mOldValue and trigger a redfish message. This can be fixed by changing the default mOldValue to "Norma
intrusion sensor: fix default reading value
As-is the updateValue method will never update the mOldValue and trigger a redfish message. This can be fixed by changing the default mOldValue to "Normal". With this change it'll detect an intrusion event at boot and then any changes in intrusion state thereafter.
Tested: Before change no redfish messages were being triggered.
After change asserting intrusion even triggered redfish message and any changes to the intrusion jumper triggered redfish messages.
Change-Id: Idafa5b2dbd5501a433607981ef042a1802fab0ad Signed-off-by: Matt Simmering <matthew.simmering@intel.com>
show more ...
|
95f49937 | 19-Apr-2023 |
Chau Ly <chaul@amperecomputing.com> |
intrusionsensor: Add hwmon reading method
This commit adds a new reading method for intrusionsensor, which reads the chassis intrusion status from hwmon.
Example: { "Class": "Aspeed260
intrusionsensor: Add hwmon reading method
This commit adds a new reading method for intrusionsensor, which reads the chassis intrusion status from hwmon.
Example: { "Class": "Aspeed2600_Hwmon", "Name": "Chassis_Intrusion_Status", "Type": "ChassisIntrusionSensor" }
intrusionsensor will search for the sysfs hwmon name string in the compatibleHwmonNames map using the Class string (e.g intrusion0_alarm for Aspeed2600_Hwmon class) and read the chassis intrusion status from it. This currently just supports Aspeed2600_Hwmon class which is based on the aspeed-chassis driver from Aspeed SDK. The driver reads the Intrusion Status bit in the CHAI10 register from AST2600. This bit needs to be cleared every read in order to get the current state (which means to write 0 to the hwmon file). In the condition of being cleared every read, it will show 0 in hwmon for the normal state, and 1 for the intrusion state.
Tested:
$ busctl get-property xyz.openbmc_project.IntrusionSensor \ /xyz/openbmc_project/Chassis/Intrusion \ xyz.openbmc_project.Chassis.Intrusion Status
If the chassis cover is closed: "Normal" If the chassis cover is open: "HardwareIntrusion"
Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: I6f6a42592c8acae7be4f10e65a8b52ee30a4bd4f
show more ...
|
9a7db6af | 19-Jun-2023 |
Hieu Huynh <hieuh@os.amperecomputing.com> |
hwmontemp: add tmp464
Change-Id: Ic7337e9450a9cb83222b99d70c666f10211f1668 Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com> |
55832f37 | 07-Jun-2023 |
Matt Spinler <spinler@us.ibm.com> |
Rename Sensor class variable
The name of the entity-manager D-Bus interface the sensor was created from was stored in a variable called objectType. Rename that to configInterface to make it obvious
Rename Sensor class variable
The name of the entity-manager D-Bus interface the sensor was created from was stored in a variable called objectType. Rename that to configInterface to make it obvious it's an interface name.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I5258ebf12c6aa565a6a2ea286cd2724fd54cf986
show more ...
|
0489ec20 | 05-Jun-2023 |
Matt Spinler <spinler@us.ibm.com> |
hwmontemp: Fix object type being passed to ctors
The Sensor base class is now tacking on the 'xyz.openbmc_project.Configuration' prefix to the objectType argument passed into its constructor. But i
hwmontemp: Fix object type being passed to ctors
The Sensor base class is now tacking on the 'xyz.openbmc_project.Configuration' prefix to the objectType argument passed into its constructor. But in createSensors() the value passed into the constructor was already the full interface name taken from the buildSensorConfigMap() output, so the prefix ended up being in the objectType member variable twice.
This was causing the InterfacesRemoved handler to not find an interface match when entity-manager removed interfaces, leaving sensors on D-Bus for hardware that was no longer in the system.
Fix it by stripping off all but the last segment before passing it to the sensor object constructor.
Tested: Sensors are now removed from D-Bus when the corresponding objects are removed from entity-manager.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I3312a6cddbe2b175b89f8566d5c9359b7c2df201
show more ...
|
28c56bf1 | 11-May-2023 |
Oleksandr Shulzhenko <oleksandr.shulzhenko.viktorovych@intel.com> |
IntelCPUSensor: use libpeci to open peciFd
To stay consistent with libpeci usage we should use dedicated functions to open PECI file descriptors when using peci-legacy.
Tested: hwmons are successfu
IntelCPUSensor: use libpeci to open peciFd
To stay consistent with libpeci usage we should use dedicated functions to open PECI file descriptors when using peci-legacy.
Tested: hwmons are successfully created in the same way they were created opening peciFd directly
Change-Id: I924c3fdc8029f47aed80480ebc03d2dca71d134f Signed-off-by: Oleksandr Shulzhenko <oleksandr.shulzhenko.viktorovych@intel.com>
show more ...
|
40bd6718 | 01-Jun-2023 |
Jeff Lin <JeffLin2@quantatw.com> |
psusensor: Add xdpe152c4 support
Tested: Combined with related driver and entity-manager changes from https://gerrit.openbmc.org/c/openbmc/entity-manager/+/63921 sensors properly show up in IPMI sen
psusensor: Add xdpe152c4 support
Tested: Combined with related driver and entity-manager changes from https://gerrit.openbmc.org/c/openbmc/entity-manager/+/63921 sensors properly show up in IPMI sensors
Change-Id: I2958d0e566c67881f6e237e9d15c0c2621f30165 Signed-off-by: Jeff Lin <JeffLin2@quantatw.com>
show more ...
|
779c96a2 | 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: I0d10afa582342818b9d90b168f6f39f71ce4e0f4 Signed-off-by: Patrick Williams <patrick@stwcx.xyz> [AJ: regenerate using .clang-format from openbmc/docs@f44abd66eca8] Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
show more ...
|
cebb28c2 | 21-Oct-2022 |
Chau Ly <chaul@amperecomputing.com> |
intrusionsensor: Refactor source code
This commit splits the intrusionsensor source code into a base class and derived classes to dictate sensor of different methods. Only one method of chassis intr
intrusionsensor: Refactor source code
This commit splits the intrusionsensor source code into a base class and derived classes to dictate sensor of different methods. Only one method of chassis intrusion detection is expected for one given system.
Tested with hwmon method on Ampere Mt.Mitchell platform which is implemented in the patch: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/62775
Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: Ia2b71d897a27ee7c7955e233d060ad14d62be3a8
show more ...
|
88a32137 | 15-May-2023 |
Michael Shen <gpgpgp@google.com> |
Fix format in HwmonMain.cpp to pass format check
Change-Id: I6b39dad6e00e1682cb7ed9bbafcc85999b073c44 Signed-off-by: Michael Shen <gpgpgp@google.com> |