History log of /openbmc/entity-manager/src/ (Results 1 – 25 of 402)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
ae2a6f2a02-Sep-2024 Chiang Brian <chiang.brian@inventec.com>

Strip extra spaces from fru

Trailing spaces were discovered in the FRU EEPROM of some SSDs, which
should not originally appear in the device. Strip the trailing spaces
in case that one gets the prop

Strip extra spaces from fru

Trailing spaces were discovered in the FRU EEPROM of some SSDs, which
should not originally appear in the device. Strip the trailing spaces
in case that one gets the properties about FRU with unnecessary spaces.

Tested:
before the CL added:

curl http://localhost/redfish/v1/Chassis/SSD_NVMe_2/ | \
grep -E "PartNumber|SerialNumber"
% Total % Received % Xferd Average Speed Time Time Time
Dload Upload Total Spent Left
100 1661 100 1661 0 0 104k 0 --:--:-- --:--:-- --:--:--
"PartNumber": "MZWLO7T6HBLA-01AGG ",
"SerialNumber": "S7BVNE0W900253 ",

After after CL added :

curl http://localhost/redfish/v1/Chassis/SSD_NVMe_2/ | \
grep -E "PartNumber|SerialNumber"
% Total % Received % Xferd Average Speed Time Time Time
Dload Upload Total Spent Left
100 1661 100 1661 0 0 98739 0 --:--:-- --:--:-- --:--:--
"PartNumber": "MZWLO7T6HBLA-01AGG",
"SerialNumber": "S7BVNE0W900253"

Change-Id: I4faf5b4fa62f2330ed0d12f41b552af41ce7dd9a
Signed-off-by: Brian Chiang <chiang.brian@inventec.com>

show more ...

5c1a61a824-Oct-2024 George Liu <liuxiwei@ieisystem.com>

Fix threshold probability loss

During bmc reset stress testing, some sensors occasionally lose
thresholds, and the lost thresholds are not created on DBus.

This is because when EM loads the json fi

Fix threshold probability loss

During bmc reset stress testing, some sensors occasionally lose
thresholds, and the lost thresholds are not created on DBus.

This is because when EM loads the json file and creates interface,
dbus-sensors may have listened and started to create the sensor just
after the `Type` interface is created but before the threshold
interface is created. This is the sensor interface obtained from EM
and does not include the threshold interface. Therefore, the sensor
displayed on DBus does not have a threshold interface.

This commit changes the order of creating interfaces in EM. The Type
interface should be created after the Threshold interface is created.
This is because for the callback method of dbus-sensors, when the
Type interface is created, it is considered that all configurations
of this sensor have been loaded.

Tested:
The bmc reset stress test did not reproduce this issue.

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Ia8d9e24a8697992cab13aecb35438f142ed29e67

show more ...

2ab7341b15-Oct-2024 Chris Sides <Christopher.Sides@hpe.com>

service: device-tree node vpd to d-bus hw id data

A daemon for transferring Viable Product Data (VPD) from device-tree
nodes to D-Bus as described in the design doc @
https://gerrit.openbmc.org/c/op

service: device-tree node vpd to d-bus hw id data

A daemon for transferring Viable Product Data (VPD) from device-tree
nodes to D-Bus as described in the design doc @
https://gerrit.openbmc.org/c/openbmc/docs/+/66369

and discussed in this Technical Oversight Forum topic @
https://github.com/openbmc/technical-oversight-forum/issues/38

Tested:
Ensure 'model' and/or 'serial-number' nodes are populated in
/proc/device-tree. Can be hardcoded into platform DTS via
linux-kernel recipe if needed.

'''
After OBMC boot, calling
> busctl introspect xyz.openbmc_project.MachineContext /xyz/openbmc_project/MachineContext

produces the following output:

NAME TYPE SIGNATURE RESULT/VALUE FLAGS
...
xyz.openbmc_project.Inventory.Decorator.Asset interface - - -
.BuildDate property s "" emits-change writable
.Manufacturer property s "" emits-change writable
.Model property s "hpe,dl360" emits-change writable
.PartNumber property s "" emits-change writable
.SerialNumber property s "t5texpl" emits-change writable
...

Note: Writing to one of these properties will update the property on D-Bus without affecting the
underlying device-tree node. An 'updated' event will be fired, so Entity-Manager probes monitoring
a given property would recognize the new value and key off it.
'''

Change-Id: Id52d1fc3b26010c864c7e64d3dfdf0a2b5de9294
Signed-off-by: Chris Sides <Christopher.Sides@hpe.com>

show more ...


/openbmc/entity-manager/.gitignore
/openbmc/entity-manager/OWNERS
/openbmc/entity-manager/configurations/bmc_storage_module.json
/openbmc/entity-manager/configurations/catalina_fio.json
/openbmc/entity-manager/configurations/catalina_hdd.json
/openbmc/entity-manager/configurations/catalina_osfp.json
/openbmc/entity-manager/configurations/catalina_pdb.json
/openbmc/entity-manager/configurations/catalina_scm.json
/openbmc/entity-manager/configurations/compuware_cdr_9011_3m1_psu.json
/openbmc/entity-manager/configurations/harma_fanboard.json
/openbmc/entity-manager/configurations/harma_mb.json
/openbmc/entity-manager/configurations/harma_mb_vr_infineon.json
/openbmc/entity-manager/configurations/minerva_cmm.json
/openbmc/entity-manager/configurations/minerva_cmm_bsm.json
/openbmc/entity-manager/configurations/minerva_cmm_hsc_infineon.json
/openbmc/entity-manager/configurations/minerva_cmm_scm.json
/openbmc/entity-manager/configurations/minerva_fanboard.json
/openbmc/entity-manager/configurations/minerva_pdb.json
/openbmc/entity-manager/configurations/minerva_pdb_hsc_xdp.json
/openbmc/entity-manager/configurations/minerva_pttv.json
/openbmc/entity-manager/configurations/mtjade.json
/openbmc/entity-manager/configurations/mtjefferson_bmc.json
/openbmc/entity-manager/configurations/mtjefferson_mb.json
/openbmc/entity-manager/configurations/mtmitchell_bmc.json
/openbmc/entity-manager/configurations/mtmitchell_bp.json
/openbmc/entity-manager/configurations/mtmitchell_mb.json
/openbmc/entity-manager/configurations/mtmitchell_riser.json
/openbmc/entity-manager/configurations/nvidia_gb200.json
/openbmc/entity-manager/configurations/nvidia_gb200_io_board.json
/openbmc/entity-manager/configurations/nvidia_hmc.json
/openbmc/entity-manager/configurations/sbp1_baseboard.json
/openbmc/entity-manager/configurations/sbp1_chassis.json
/openbmc/entity-manager/configurations/sbp1_nvme.json
/openbmc/entity-manager/configurations/sbp1_psu.json
/openbmc/entity-manager/configurations/sbp1_rssd.json
/openbmc/entity-manager/configurations/ventura_fanboard.json
/openbmc/entity-manager/configurations/ventura_ioboard.json
/openbmc/entity-manager/configurations/ventura_ledboard.json
/openbmc/entity-manager/configurations/ventura_rmc.json
/openbmc/entity-manager/configurations/ventura_scm.json
/openbmc/entity-manager/configurations/yosemite4.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max_adc_ti_led_nxp_efuse_max.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max_adc_ti_led_nxp_efuse_mps.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_max.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_mps.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_12vhsc_adi_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_12vhsc_mps_48vhsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_12vhsc_mps_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_hsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_isl_12vhsc_adi_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_12vhsc_adi_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_12vhsc_mps_48vhsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_12vhsc_mps_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_hsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t1.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t1_retimer.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t2.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t2_retimer.json
/openbmc/entity-manager/configurations/yosemite4_spiderboard_adc_max_pwr_ti.json
/openbmc/entity-manager/configurations/yosemite4_spiderboard_adc_ti_pwr_ti.json
/openbmc/entity-manager/configurations/yosemite4_wailuafalls.json
/openbmc/entity-manager/configurations/yosemite4n.json
/openbmc/entity-manager/meson.build
/openbmc/entity-manager/meson_options.txt
/openbmc/entity-manager/schemas/global.json
/openbmc/entity-manager/schemas/ibm.json
/openbmc/entity-manager/schemas/intel.json
/openbmc/entity-manager/schemas/legacy.json
/openbmc/entity-manager/schemas/openbmc-dbus.json
/openbmc/entity-manager/schemas/pid.json
/openbmc/entity-manager/schemas/pid_zone.json
/openbmc/entity-manager/schemas/satellite_controller.json
/openbmc/entity-manager/schemas/stepwise.json
/openbmc/entity-manager/schemas/virtual_sensor.json
/openbmc/entity-manager/scripts/autojson.py
/openbmc/entity-manager/scripts/validate_configs.py
/openbmc/entity-manager/service_files/devicetree-vpd-parser.service
/openbmc/entity-manager/service_files/meson.build
devicetree_vpd_parser.cpp
machine_context.cpp
machine_context.hpp
meson.build
/openbmc/entity-manager/subprojects/phosphor-dbus-interfaces.wrap
c3db2c3c20-Aug-2024 Alexander Hansen <alexander.hansen@9elements.com>

meson: use phosphor-logging for debug statements

There is no need to individually patch each file to enable debug
logging.

All the different definitions of 'bool debug' are removed in favor of
usin

meson: use phosphor-logging for debug statements

There is no need to individually patch each file to enable debug
logging.

All the different definitions of 'bool debug' are removed in favor of
using phosphor-logging.

Change-Id: Ia9a8ecfa4ea220f588d7cf2d291b14067e0391e7
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...


/openbmc/entity-manager/configurations/minerva_pdb_hsc_xdp.json
/openbmc/entity-manager/configurations/mtmitchell_bmc.json
/openbmc/entity-manager/configurations/mtmitchell_mb.json
/openbmc/entity-manager/configurations/yosemite4_chassis.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max_adc_ti_led_nxp_efuse_max.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max_adc_ti_led_nxp_efuse_mps.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_max.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_mps.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_12vhsc_adi_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_12vhsc_mps_48vhsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_12vhsc_mps_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_rns_hsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_12vhsc_adi_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_12vhsc_mps_48vhsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_12vhsc_mps_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_hsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_chassis.json
/openbmc/entity-manager/configurations/yosemite4_spiderboard_adc_max_pwr_ti.json
/openbmc/entity-manager/meson.build
/openbmc/entity-manager/schemas/legacy.json
fru_device.cpp
fru_utils.cpp
meson.build
overlay.cpp
perform_probe.cpp
perform_scan.cpp
/openbmc/entity-manager/subprojects/phosphor-logging.wrap
/openbmc/entity-manager/subprojects/sdbusplus.wrap
bf26398425-Jan-2024 Anupama B R <anupama.b.r1@ibm.com>

Reducing expire time in propertiesChangedCallback

This code change is related to the code review,
https://gerrit.openbmc.org/c/openbmc/phosphor-led-manager/+/66774

Where “Phosphor LED Manager” app

Reducing expire time in propertiesChangedCallback

This code change is related to the code review,
https://gerrit.openbmc.org/c/openbmc/phosphor-led-manager/+/66774

Where “Phosphor LED Manager” app was waiting to read interface
value from DBus hosted by EntityManager to find out its system type.
It caused more delay in loading appropriate system JSON file, hence
“Phosphor LED Manager” app missing early faulty FRU notifications.

To fix this issue, reading system type from device tree is introduced.
For this, code reviewer asked to check what was causing delay in
EntityManager and asked to improve efficiency of EM if possible.

For this suggestion, tested EntityManager with varying delays in
propertiesChangedCallback api, ranging from 5 seconds to
500 milliseconds on IBM systems.
Observed improved performance in creating interfaces for matching
probes with a 500 millisecond delay.

Decided to retain the 500 millisecond delay to avoid altering the
system's behavior significantly. This delay should not impact
other systems. The choice of 500 milliseconds is arbitrary but based
on observed performance improvements.

Testing:
With the change observed EM is starting fine, observed no error on log
and publishes all its matched interfaces on DBus. And all other system
services are up and running on reboot.

Change-Id: I2e1528e408686d80476b9c834d6c2735dcadff22
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>

show more ...

b707743716-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

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

show more ...


/openbmc/entity-manager/.clang-format
/openbmc/entity-manager/configurations/brcm_100g_1p_ocp_mezz.json
/openbmc/entity-manager/configurations/cx7_ocp.json
/openbmc/entity-manager/configurations/harma_bsm.json
/openbmc/entity-manager/configurations/harma_mb.json
/openbmc/entity-manager/configurations/harma_mb_vr_infineon.json
/openbmc/entity-manager/configurations/harma_scm.json
/openbmc/entity-manager/configurations/minerva_cmm.json
/openbmc/entity-manager/configurations/minerva_cmm_hsc_infineon.json
/openbmc/entity-manager/configurations/minerva_pdb.json
/openbmc/entity-manager/configurations/minerva_pttv.json
/openbmc/entity-manager/configurations/minerva_sitv.json
/openbmc/entity-manager/configurations/mtmitchell_bmc.json
/openbmc/entity-manager/configurations/mtmitchell_mb.json
/openbmc/entity-manager/configurations/sbp1_baseboard.json
/openbmc/entity-manager/configurations/sbp1_psu.json
/openbmc/entity-manager/configurations/system1_baseboard.json
/openbmc/entity-manager/configurations/terminus_2x100g_nic_tsff.json
/openbmc/entity-manager/configurations/yosemite4.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max_adc_ti_led_nxp_efuse_max.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max_adc_ti_led_nxp_efuse_mps.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_nct_adc_max_led_ons_efuse_mps.json
/openbmc/entity-manager/configurations/yosemite4_floatingfalls.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_12vhsc_mps_48vhsc_inf.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard_adc_ti_hsc_adi.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t1.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t1_retimer.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t2.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t2_retimer.json
/openbmc/entity-manager/configurations/yosemite4_spiderboard_adc_ti_pwr_ti.json
/openbmc/entity-manager/configurations/yosemite4_wailuafalls.json
/openbmc/entity-manager/configurations/yosemite4n.json
/openbmc/entity-manager/meson.build
/openbmc/entity-manager/schemas/legacy.json
devices.hpp
entity_manager.cpp
entity_manager.hpp
fru_device.cpp
fru_reader.cpp
fru_utils.cpp
fru_utils.hpp
overlay.cpp
perform_probe.cpp
perform_scan.cpp
topology.cpp
utils.cpp
/openbmc/entity-manager/test/test_topology.cpp
b9a1f96313-Jul-2024 Patrick Williams <patrick@stwcx.xyz>

fru_reader: add header for off_t

GCC-14 with the latest Yocto refresh give the following compile
failure:

```
| ../git/src/fru_reader.hpp:36:27: error: 'off_t' was not declared in this scope
| 3

fru_reader: add header for off_t

GCC-14 with the latest Yocto refresh give the following compile
failure:

```
| ../git/src/fru_reader.hpp:36:27: error: 'off_t' was not declared in this scope
| 36 | std::function<int64_t(off_t offset, size_t len, uint8_t* outbuf)>;
```

This appears to be defined in `stdio.h`, so include `<cstdio>`.

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

show more ...


/openbmc/entity-manager/README.md
/openbmc/entity-manager/configurations/brcm_100g_1p_ocp_mezz.json
/openbmc/entity-manager/configurations/brcm_200g_1p_ocp_mezz.json
/openbmc/entity-manager/configurations/harma_bsm.json
/openbmc/entity-manager/configurations/harma_fanboard.json
/openbmc/entity-manager/configurations/harma_mb.json
/openbmc/entity-manager/configurations/harma_mb_vr_infineon.json
/openbmc/entity-manager/configurations/harma_scm.json
/openbmc/entity-manager/configurations/minerva_cmm.json
/openbmc/entity-manager/configurations/minerva_cmm_bsm.json
/openbmc/entity-manager/configurations/minerva_cmm_scm.json
/openbmc/entity-manager/configurations/minerva_fanboard.json
/openbmc/entity-manager/configurations/minerva_pdb.json
/openbmc/entity-manager/configurations/minerva_pttv.json
/openbmc/entity-manager/configurations/minerva_sitv.json
/openbmc/entity-manager/configurations/nf5280m7_baseboard.json
/openbmc/entity-manager/configurations/terminus_2x100g_nic_tsff.json
/openbmc/entity-manager/configurations/yosemite4.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max_adc_ti.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t1.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome_t2.json
/openbmc/entity-manager/configurations/yosemite4_spiderboard.json
/openbmc/entity-manager/configurations/yosemite4_wailuafalls.json
/openbmc/entity-manager/configurations/yosemite4n.json
/openbmc/entity-manager/docs/associations.md
/openbmc/entity-manager/meson.build
/openbmc/entity-manager/schemas/global.json
/openbmc/entity-manager/schemas/legacy.json
/openbmc/entity-manager/schemas/pid.json
fru_reader.hpp
fru_utils.hpp
f375fecc21-Mar-2024 Potin Lai <potin.lai@quantatw.com>

meson: change install_dir to /usr/libexec/entity-manager

We notice a issue that if user accidentally execute fru-device and
terminate it after few second, the xyz.openbmc_project.FruDevice
busname w

meson: change install_dir to /usr/libexec/entity-manager

We notice a issue that if user accidentally execute fru-device and
terminate it after few second, the xyz.openbmc_project.FruDevice
busname will not exist on dbus, but the status of FruDevice.service is
still active running.

It because sdbusplus changes the behavior of request_name() and it
allows the busname can be replaced by new service. [1]

In order to avoid unexpected behavior by running service binary
accidentally, move the install_dir to /usr/libexec/entity-manager.

Tested result:
- EntityManager is still running normally after the change
```
root@bmc:~# systemctl status xyz.openbmc_project.EntityManager.service
● xyz.openbmc_project.EntityManager.service - Entity Manager
Loaded: loaded (/usr/lib/systemd/system/xyz.openbmc_project.EntityManager.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-03-20 23:25:44 PDT; 27min ago
Process: 596 ExecStartPre=/bin/mkdir -p /var/configuration (code=exited, status=0/SUCCESS)
Process: 679 ExecStartPre=/bin/mkdir -p /tmp/overlays (code=exited, status=0/SUCCESS)
Main PID: 687 (entity-manager)
CPU: 7.203s
CGroup: /system.slice/xyz.openbmc_project.EntityManager.service
└─687 /usr/libexec/entity-manager/entity-manager
```
- FruDevice is still running normally after the change
```
root@bmc:~# systemctl status xyz.openbmc_project.FruDevice.service
● xyz.openbmc_project.FruDevice.service - Fru Device
Loaded: loaded (/usr/lib/systemd/system/xyz.openbmc_project.FruDevice.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-03-20 23:25:40 PDT; 28min ago
Main PID: 598 (fru-device)
CPU: 729ms
CGroup: /system.slice/xyz.openbmc_project.FruDevice.service
└─598 /usr/libexec/entity-manager/fru-device
```

[1] https://github.com/openbmc/sdbusplus/commit/946c940434a7d5403f469ce2ab56f9136293ff38

Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Change-Id: I01c1f0fe7a1bdbaf74ec4d080b62450f4a90a057

show more ...

536665b013-May-2024 Yi-Shum <EasonChen1@quantatw.com>

Make fru-device produce Mfg date in ISO8601 format

Modify the time format of BOARD_MANUFACTURE_DATE in fru-device to
ISO8601 format.

Tested:
```
root@bmc:~# busctl introspect xyz.openbmc_project.Fr

Make fru-device produce Mfg date in ISO8601 format

Modify the time format of BOARD_MANUFACTURE_DATE in fru-device to
ISO8601 format.

Tested:
```
root@bmc:~# busctl introspect xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/Minerva_CMM_EVT2
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
...
xyz.openbmc_project.FruDevice interface - - -
.ADDRESS property u 84 emits-change
.BOARD_FRU_VERSION_ID property s "FRU Ver 0.01" emits-change
.BOARD_INFO_AM1 property s "19-100140" emits-change
.BOARD_INFO_AM2 property s "TOD-TDT" emits-change
.BOARD_INFO_AM3 property s "D1KI6" emits-change
.BOARD_LANGUAGE_CODE property s "25" emits-change
.BOARD_MANUFACTURER property s "Quanta" emits-change
.BOARD_MANUFACTURE_DATE property s "20240509T053800Z" emits-change
...

```

Change-Id: Ie2bcd60e4973ada81885df299fdfe132fe242828
Signed-off-by: Yi-Shum <EasonChen1@quantatw.com>

show more ...


/openbmc/entity-manager/configurations/asrock_romed8hm3.json
/openbmc/entity-manager/configurations/bletchley_baseboard.json
/openbmc/entity-manager/configurations/bletchley_chassis.json
/openbmc/entity-manager/configurations/blueridge_1s4u_chassis.json
/openbmc/entity-manager/configurations/blueridge_2u_chassis.json
/openbmc/entity-manager/configurations/blueridge_4u_chassis.json
/openbmc/entity-manager/configurations/brcm_100g_1p_ocp_mezz.json
/openbmc/entity-manager/configurations/brcm_200g_1p_ocp_mezz.json
/openbmc/entity-manager/configurations/fuji.json
/openbmc/entity-manager/configurations/harma_fanboard.json
/openbmc/entity-manager/configurations/harma_mb.json
/openbmc/entity-manager/configurations/minerva_cmm.json
/openbmc/entity-manager/configurations/minerva_cmm_bsm.json
/openbmc/entity-manager/configurations/minerva_cmm_scm.json
/openbmc/entity-manager/configurations/minerva_fanboard.json
/openbmc/entity-manager/configurations/minerva_pdb.json
/openbmc/entity-manager/configurations/mtjade.json
/openbmc/entity-manager/configurations/mtmitchell_mb.json
/openbmc/entity-manager/configurations/nuvoton_npcm8xx_evb.json
/openbmc/entity-manager/configurations/nvme_intel_p_series.json
/openbmc/entity-manager/configurations/nvme_p4500_p5500.json
/openbmc/entity-manager/configurations/sbp1_baseboard.json
/openbmc/entity-manager/configurations/sbp1_chassis.json
/openbmc/entity-manager/configurations/sbp1_hbm.json
/openbmc/entity-manager/configurations/system1_baseboard.json
/openbmc/entity-manager/configurations/yosemite4.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_adc_ti.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_max_adc_ti.json
/openbmc/entity-manager/configurations/yosemite4_fanboard_fsc_nct.json
/openbmc/entity-manager/configurations/yosemite4_floatingfalls.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome.json
/openbmc/entity-manager/configurations/yosemite4_spiderboard.json
/openbmc/entity-manager/configurations/yosemite4_wailuafalls.json
/openbmc/entity-manager/meson.build
/openbmc/entity-manager/meson_options.txt
/openbmc/entity-manager/schemas/global.json
/openbmc/entity-manager/schemas/ibm.json
/openbmc/entity-manager/schemas/legacy.json
/openbmc/entity-manager/schemas/openbmc-dbus.json
fru_utils.cpp
fc17142804-Apr-2024 Ed Tanous <ed@tanous.net>

Update clang-tidy

Fix a bunch of minor issues, ignore others. We use a lot of global
variables. Enabling a check will hopefully make sure we don't add more.

Change-Id: Ie76053d4afc95a5372b70b2fb7

Update clang-tidy

Fix a bunch of minor issues, ignore others. We use a lot of global
variables. Enabling a check will hopefully make sure we don't add more.

Change-Id: Ie76053d4afc95a5372b70b2fb768be464468cec0
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

a3ca14a627-Mar-2024 Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

Add clang tidy check

Change-Id: I1c9f03e95aa0ca1977ddef84ea765222d2281b4f

b02752f730-Nov-2023 Jeff Lin <JeffLin2@quantatw.com>

topology: Add powered_by topology

bmcweb already support the power supply command, refer to
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/57668

Use "PowerPort" to add the powered_by association for

topology: Add powered_by topology

bmcweb already support the power supply command, refer to
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/57668

Use "PowerPort" to add the powered_by association for upstream port, so
that the PowerSupplyCollection in redfish can get the power supply
information.

Tested:
Add the following config in mobo.json:
```
{
"Name": "Mobo Upstream Port",
"Type": "Mobo Upstream Port"
},
```
Add the following config in PSU.json:
```
{
"ConnectsToType": "Mobo Upstream Port",
"Name": "PSU $BUS Downstream Port",
"Type": "DownstreamPort",
"PowerPort": true
},
```
Result for association:
```
{
"type" : "as",
"data" : [
[
"/xyz/openbmc_project/inventory/system/board/PSU_1"
]
]
}
```
Result in bmcweb:
```
$ curl -s -k -H "X-Auth-Token: $token" http://${bmc}/redfish/v1/Chassis/Mobo | jq .Links.Contains
[
{
"@odata.id": "/redfish/v1/Chassis/PSU_1"
}
]
$ curl -k -H "X-Auth-Token: $token" http://${bmc}/redfish/v1/Chassis/Mobo/PowerSubsystem/PowerSupplies/PSU_1
{
"@odata.id": "/redfish/v1/Chassis/Mobo/PowerSubsystem/PowerSupplies/PSU_1",
"@odata.type": "#PowerSupply.v1_5_0.PowerSupply",
...
}
```

Run unitest for test_topology is PASSED.

Change-Id: Iad10e61417437a41628cf311cdd7893725a5dcde
Signed-off-by: Jeff Lin <JeffLin2@quantatw.com>

show more ...


/openbmc/entity-manager/configurations/aspower_u1a-d10550_psu.json
/openbmc/entity-manager/configurations/aspower_u1a-d10800_psu.json
/openbmc/entity-manager/configurations/aspower_u1a-d11600_psu.json
/openbmc/entity-manager/configurations/asrock_c3_medium_x86.json
/openbmc/entity-manager/configurations/asrock_romed8hm3.json
/openbmc/entity-manager/configurations/cx7_ocp.json
/openbmc/entity-manager/configurations/fp5280g3_chassis.json
/openbmc/entity-manager/configurations/fp5280g3_fanboard.json
/openbmc/entity-manager/configurations/harma_fanboard.json
/openbmc/entity-manager/configurations/harma_mb.json
/openbmc/entity-manager/configurations/minerva_cmm.json
/openbmc/entity-manager/configurations/minerva_cmm_scm.json
/openbmc/entity-manager/configurations/minerva_fanboard.json
/openbmc/entity-manager/configurations/minerva_pttv.json
/openbmc/entity-manager/configurations/mtjade.json
/openbmc/entity-manager/configurations/mtmitchell_mb.json
/openbmc/entity-manager/configurations/nvme_p4000.json
/openbmc/entity-manager/configurations/sbp1_baseboard.json
/openbmc/entity-manager/configurations/sbp1_chassis.json
/openbmc/entity-manager/configurations/sbp1_nvme.json
/openbmc/entity-manager/configurations/sbp1_psu.json
/openbmc/entity-manager/configurations/sbp1_rssd.json
/openbmc/entity-manager/configurations/yosemite4.json
/openbmc/entity-manager/configurations/yosemite4_fanboard.json
/openbmc/entity-manager/configurations/yosemite4_floatingfalls.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome.json
/openbmc/entity-manager/configurations/yosemite4_spiderboard.json
/openbmc/entity-manager/configurations/yosemite4_wailuafalls.json
/openbmc/entity-manager/meson.build
/openbmc/entity-manager/schemas/global.json
/openbmc/entity-manager/schemas/legacy.json
/openbmc/entity-manager/schemas/openbmc-dbus.json
topology.cpp
topology.hpp
/openbmc/entity-manager/test/test_topology.cpp
6af72c9b19-Apr-2023 Jonathan Doman <jonathan.doman@intel.com>

Call linkMux after async buildDevice

linkMux is supposed to only be called after buildDevice returns
successfully, but the latter function may return success even when it
fails and retries asynchron

Call linkMux after async buildDevice

linkMux is supposed to only be called after buildDevice returns
successfully, but the latter function may return success even when it
fails and retries asynchronously. We need to move the linkMux call into
buildDevice to always be called at the right time.

Tested: Confirmed channel name links were created for a mux device.

Change-Id: I67657250e392e0db92e562eac130ca85e5a022e7
Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>

show more ...

0f3a4d9904-Dec-2023 Potin Lai <potin.lai@quantatw.com>

Support C-style comments for configuration JSON parsing

1. Add and set ignore_comment to true to all nlohmann::json::parse().
2. Add remove_c_comments() in `validate_configs.py` to remove C-style

Support C-style comments for configuration JSON parsing

1. Add and set ignore_comment to true to all nlohmann::json::parse().
2. Add remove_c_comments() in `validate_configs.py` to remove C-style
comments before loading.
3. Attempt to reformat comments in the `autojson.py` taking liberal
short-cuts which are documented in the script.

Supported comment examples:

- Single-line style comments
```
{
// Single-line style comment (new line)
"Key": "Value" // Single-line comment (end of content)
}
```

- Multi-line style comments
```
{
/* Multi-line style comment */
/*
* Multi-line style comments
*/
}
```

Tested on harma system with manual applied patch below, which contains
a c-style comment in harma-pttv.json file.
Link: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/67469/25

- scripts/autojson.py
Run autojson.py on harma-pttv.json, the output as same as original file.

- scripts/validate_configs.py
Run validate_configs.py passed.

- EntityManager service
EntityManager service loads and probes harma-pttv.json successfully.
```
root@harma:~# busctl introspect xyz.openbmc_project.EntityManager \
> /xyz/openbmc_project/inventory/system/board/Harma_PTTV \
> xyz.openbmc_project.Inventory.Item.Board
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.Name property s "Harma PTTV" emits-change
.Probe property s "xyz.openbmc_project.FruDevice({\'BOA... emits-change
.Type property s "Board" emits-change
```

Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ib235f2aa6a724615dc4c8184577f57abda8e17a6

show more ...


/openbmc/entity-manager/CONFIG_FORMAT.md
/openbmc/entity-manager/configurations/asrock_e3c256d4i.json
/openbmc/entity-manager/configurations/asrock_m3_small_x86.json
/openbmc/entity-manager/configurations/asrock_n3_xlarge_x86.json
/openbmc/entity-manager/configurations/asrock_spc621d8hm3.json
/openbmc/entity-manager/configurations/bonnell.json
/openbmc/entity-manager/configurations/everest.json
/openbmc/entity-manager/configurations/minerva_cmm.json
/openbmc/entity-manager/configurations/minerva_scm.json
/openbmc/entity-manager/configurations/rainier_1s4u_chassis.json
/openbmc/entity-manager/configurations/rainier_2u_chassis.json
/openbmc/entity-manager/configurations/rainier_4u_chassis.json
/openbmc/entity-manager/configurations/sbp1_baseboard.json
/openbmc/entity-manager/configurations/sbp1_rssd.json
/openbmc/entity-manager/configurations/system1_baseboard.json
/openbmc/entity-manager/configurations/system1_chassis.json
/openbmc/entity-manager/configurations/yosemite4.json
/openbmc/entity-manager/configurations/yosemite4_fanboard.json
/openbmc/entity-manager/configurations/yosemite4_floatingfalls.json
/openbmc/entity-manager/configurations/yosemite4_medusaboard.json
/openbmc/entity-manager/configurations/yosemite4_sentineldome.json
/openbmc/entity-manager/configurations/yosemite4_spiderboard.json
/openbmc/entity-manager/configurations/yosemite4_wailuafalls.json
/openbmc/entity-manager/meson.build
/openbmc/entity-manager/schemas/global.json
/openbmc/entity-manager/schemas/legacy.json
/openbmc/entity-manager/schemas/openbmc-dbus.json
/openbmc/entity-manager/scripts/autojson.py
/openbmc/entity-manager/scripts/validate_configs.py
entity_manager.cpp
perform_probe.cpp
/openbmc/entity-manager/subprojects/nlohmann_json.wrap
2447c24d09-Nov-2023 Matt Simmering <matthew.simmering@intel.com>

Update terminology used within repo

Change terms to more inclusive language. This update is only for
variables that are internal.

Change-Id: I91c44d1f9513c9a4ef52352d5842e1fe9e8f4f8d
Signed-off-by

Update terminology used within repo

Change terms to more inclusive language. This update is only for
variables that are internal.

Change-Id: I91c44d1f9513c9a4ef52352d5842e1fe9e8f4f8d
Signed-off-by: Matt Simmering <matthew.simmering@intel.com>

show more ...

6fdfac0a29-Oct-2023 Yong Li <yong.b.li@intel.com>

Remove the old dbus interfaces for one i2c bus rescan

During the one bus re-scanning,
the previous found bus interfaces should be removed too.

Tested:
Trigger the one i2c bus re-scan dbus call, no

Remove the old dbus interfaces for one i2c bus rescan

During the one bus re-scanning,
the previous found bus interfaces should be removed too.

Tested:
Trigger the one i2c bus re-scan dbus call, no errors,
and ipmitool fru print still works.

Change-Id: If33a34e98fe634d30f1867bf02877ac268797ef4
Signed-off-by: Yong Li <yong.b.li@linux.intel.com>

show more ...

d97c631926-Oct-2023 John Edward Broadbent <jebr@google.com>

Add error handling wrapper for sdbusplus init

There are several places that (sdbusplus::asio::dbus_interface) iface
throws an unhandled expeciton. This change adds a wrapper to handle
these expectio

Add error handling wrapper for sdbusplus init

There are several places that (sdbusplus::asio::dbus_interface) iface
throws an unhandled expeciton. This change adds a wrapper to handle
these expection, and cerr a message.

Change-Id: I2964b43844a754c7aba7de40241faf730f908972
Signed-off-by: John Edward Broadbent <jebr@google.com>

show more ...

d2b7861820-Oct-2023 Patrick Williams <patrick@stwcx.xyz>

perform_probe: fix clang-tidy modernize-use-emplace warning

Fix the following warning with clang-tidy-17:

```
../src/perform_probe.cpp:207:19: error: use emplace_back instead of push_back [moderniz

perform_probe: fix clang-tidy modernize-use-emplace warning

Fix the following warning with clang-tidy-17:

```
../src/perform_probe.cpp:207:19: error: use emplace_back instead of push_back [modernize-use-emplace,-warnings-as-errors]
207 | foundDevs.push_back(
| ^~~~~~~~~~
| emplace_back(
208 | {boost::container::flat_map<std::string, DBusValueVariant>{},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
209 | std::string{}});
| ~~~~~~~~~~~~~~
```

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

show more ...

b9dd7f8620-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: I014bacc34b5a3a7a2a6de6a29b81a3b147eb6ed9
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

bfda2c4326-Oct-2022 Bonnie Lo <Bonnie_Lo@wiwynn.com>

Extend blacklist function for address.

Currently, blacklist only support for blocking a entire bus from
scanning by FruDevice. This extension makes user can specify certain
addresses on i2c bus.

Ex

Extend blacklist function for address.

Currently, blacklist only support for blocking a entire bus from
scanning by FruDevice. This extension makes user can specify certain
addresses on i2c bus.

Example :
{
"buses": [
10,
12,
{
"bus": 11,
"addresses": ["0x40", "0x44"]
}
]
}

User can put in number for blocking i2c buses and addresses on
certain bus.

Tested: Tested and verified systemd journal for function.
Change-Id: Ibdb8dd8c3b9593a0c5e0d60e9e765dbf82938dd7
Signed-off-by: Bonnie Lo <Bonnie_Lo@wiwynn.com>

show more ...

d0eb129119-Apr-2023 Jonathan Doman <jonathan.doman@intel.com>

Refactor unnecessary shared_ptr usage

No need to use shared_ptr for a uint64_t. Instead just use optional to
check whether it was loaded from the JSON.

For devices without a Bus+Address specified,

Refactor unnecessary shared_ptr usage

No need to use shared_ptr for a uint64_t. Instead just use optional to
check whether it was loaded from the JSON.

For devices without a Bus+Address specified, skip the deviceIsCreated()
check and 5x retry, since there is no point to that for non-I2C devices.

Tested: Confirmed EM still creates/probes an i2c device exposed in an
active config. For a test INA219 device exposed without an Address,
confirmed that the kernel error message (i2c i2c-x: new_device: Can't
parse I2C address) is only output once instead of 5 times.

Change-Id: Ib3778559235b19d9846b3bb973a795e82e37b123
Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>

show more ...

3f98b5eb12-Apr-2023 Willy Tu <wltu@google.com>

fru-device: Remove the use of mktime

mktime get the time in localtime and will mess up the time if the
timezone != UTC. The FRU data should be the raw data in UTC and the
reader will convert to loca

fru-device: Remove the use of mktime

mktime get the time in localtime and will mess up the time if the
timezone != UTC. The FRU data should be the raw data in UTC and the
reader will convert to localtime at their end.

This issue is detected when we change the timezone to PST/PDT with
https://gerrit.openbmc.org/c/openbmc/openbmc/+/58293
and the FRU EEPROM time does not match the expected Mfg Date anymore.

Used the timestamp of 1/1/1996 UTC directly.

Data Reader:
https://gerrit.openbmc.org/c/openbmc/phosphor-host-ipmid/+/58466

Tested:
Fru EEPROM Mfg Time now is in the same (after timezone conversion)
between the raw data and FRU output.

Change-Id: I48f9233ee96b676428ba9e9f9f6b34d3da74e612
Signed-off-by: Willy Tu <wltu@google.com>

show more ...

6eb6097214-Aug-2023 Matt Spinler <spinler@us.ibm.com>

phys-topology: Add late add/remove support

The current physical topology code doesn't yet support adding entities
late (in a different propertiesChangedCallback call) or removing an
entity because:

phys-topology: Add late add/remove support

The current physical topology code doesn't yet support adding entities
late (in a different propertiesChangedCallback call) or removing an
entity because:
- The Topology class is just scoped to postToDbus(), so when that is
called again later with new cards it has no concept of existing parent
cards so it will miss creating associations.

- There is nothing to tell the class when an entity is removed, so it
never attempts to remove the association for that entity.

- When the containing/contained_by association is created it doesn't use
the createInterface() function, so if that entity is removed later
that association interface will be left on D-Bus.

To add support for entity adds and removes, this commit will:
- Make the Topology class have a global scoped lifetime so it can
remember entity relationships.

- Now that Topology will outlive postToDbus() calls, pass the
getAssocs() method the list of boards being processed in the current
postToDbus() incantation so it will only return the new associations.

- Use the createInterface() method when creating the association. This
stores the interface in a map with the entity name so that when the
entity is removed the interface will be removed along with all the
other interfaces.

- When an entity is removed, only the board name is known. So pass the
board name into addBoard() so the Topology class knows it, and add a
Topology::remove() method and call it so it can remove the removed
path from all of the connector maps.

Tested:
- All of the containing/contained_by associations still show up on good
path.

- Added new unit tests to cover the new functionality.

- When a downstream entity is added after EM does its initial D-Bus
publish, the containing/contained_by association is now created.

- On an entity remove, there are no left over interfaces for the removed
entity on D-Bus.

- When the removed entity is added back, the association is put back in
place.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ie5daaca92c6d2e6e7abc408f3e67e948977581ef

show more ...

3d1909ae10-Aug-2023 Matt Spinler <spinler@us.ibm.com>

Rename vars in postToDbus

The boardName var was actually a D-Bus path, so rename it to boardPath.

The actual name of the board was stored in the boardKey variable, so now
that can be renamed to boa

Rename vars in postToDbus

The boardName var was actually a D-Bus path, so rename it to boardPath.

The actual name of the board was stored in the boardKey variable, so now
that can be renamed to boardName.

Tested:
Entity Manager still creates the same objects.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I282357bc84835925bbf3f09720787a7b7d4c3131

show more ...

2b3ed30c14-Apr-2023 Marvin Drees <marvin.drees@9elements.com>

fru-device: retry with bytewise read

certain powersupplies, e.g. SuperMicro PWS-920P-SQ
require that their FRU eeprom be read bytewise.
otherwise, only garbage is read.

Tested: on Tyan S8030 board.

fru-device: retry with bytewise read

certain powersupplies, e.g. SuperMicro PWS-920P-SQ
require that their FRU eeprom be read bytewise.
otherwise, only garbage is read.

Tested: on Tyan S8030 board. FRU eeprom is now read correctly.

Change-Id: I36a0ce8d8f955d4fe3867dbd63fefda63b1a9b13
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>

show more ...

12345678910>>...17