#
777cfaf2 |
| 13-Jun-2024 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Enable OEM creation of non-Type1 SDRs
Enabling the dbus-sdrs feature is useful for managing Type 1 SDR's using D-Bus. What doesn't work quite as well in the model is creating non-Type 1 records. The
Enable OEM creation of non-Type1 SDRs
Enabling the dbus-sdrs feature is useful for managing Type 1 SDR's using D-Bus. What doesn't work quite as well in the model is creating non-Type 1 records. The current method works alright for Type 11 FRU records. Any other SDR's beyond the FRU are problematic because the code depends on manually defining custom 'if' clauses to compare the incoming SDR ID, and determining what kind of SDR to create. It is a fixed process that is inflexible, and assumes every BMC vendor wants the same SDR arrangement.
This commit creates a model that allows the each OEM to customize creating each SDR using their own algorithm. The OEM creates a sensorcommands_oem.cpp/hpp file containing code for handling the creation of custom SDRs. The code here is compiled and linked based on enabling a Meson build switch.
The code follows the model that was already present in dbus-sdr/sensorcommands.cpp. There are two functions that maintain the original inflexible code, which is now expected to be primarily used as a template for the OEM cpp/hpp contents.
Tested: Created sensorcommands_oem.cpp/hpp files with OEM functionality Enabled the original code, and compiled Used ipmitool sdr dump sdrs.bin in the BMC Console Confirmed the SDRs matched the values prior to this commit. Enabled the OEM code and compiled Used ipmitool sdr dump sdrs.bin in the BMC console Confirmed the contents of the BIN file contained the SDRs generated by the sensorcommands_oem.cpp source.
Change-Id: I100e747b52677be53b499713d51c6c1126411570 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
#
d9eb721e |
| 03-Feb-2024 |
George Liu <liuxiwei@ieisystem.com> |
Remove libmapper dependency
After this commit is merged [1], phosphor-ipmi-host no longer depends on libmapper. This commit removes the dependence on libmapper.
[1] https://gerrit.openbmc.org/c/ope
Remove libmapper dependency
After this commit is merged [1], phosphor-ipmi-host no longer depends on libmapper. This commit removes the dependence on libmapper.
[1] https://gerrit.openbmc.org/c/openbmc/phosphor-host-ipmid/+/69082
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: Iacf20716b3dd02f0c3173eb6c1fcb39d416f72a6
show more ...
|
#
49152e76 |
| 06-Jun-2023 |
Harvey Wu <Harvey.Wu@quantatw.com> |
dbus-sdr: fix undefined symbols error
- When enable hybrid-sensors option, it will include sensordatahandler in sensorcommands.cpp. So need to add some src and dependency in meson.build.
Test:
dbus-sdr: fix undefined symbols error
- When enable hybrid-sensors option, it will include sensordatahandler in sensorcommands.cpp. So need to add some src and dependency in meson.build.
Test: Before: ``` ipmitool sdr elist Err in cmd get sensor sdr info Unable to open SDR for reading
journalctl -o json-pretty MESSAGE="ERROR opening IPMI provider" { "SYSLOG_IDENTIFIER" : "ipmid", "_MACHINE_ID" : "0e6c70e7379c41fc9388fd64e1433923", "_BOOT_ID" : "2cfdedb0cafd43758e2469ea1bc81a19", "_PID" : "1306", "ERROR" : "/usr/lib/ipmid-providers/libdynamiccmds.so.0.1: undefined symbol: _ZN4ipmi6sensor7sensorsE", "MESSAGE" : "ERROR opening IPMI provider", "_SYSTEMD_UNIT" : "phosphor-ipmi-host.service", "_SYSTEMD_INVOCATION_ID" : "fd19f671e20147aea359bef0fc59c2c6", "_SYSTEMD_SLICE" : "system.slice", "_CAP_EFFECTIVE" : "1ffffffffff", "_GID" : "0", "_SOURCE_REALTIME_TIMESTAMP" : "1678071749865544", "__REALTIME_TIMESTAMP" : "1678071749865607", "_EXE" : "/usr/bin/ipmid", "CODE_LINE" : "77", "_COMM" : "ipmid", "_TRANSPORT" : "journal", "__MONOTONIC_TIMESTAMP" : "45349903", "PRIORITY" : "3", "CODE_FUNC" : "helper_log", "PROVIDER" : "/usr/lib/ipmid-providers/libdynamiccmds.so.0.1", "_HOSTNAME" : "gsz", "CODE_FILE" : "/usr/include/phosphor-logging/log.hpp", "__CURSOR" : "s=d8544f6ea872488fa319e44a1e5da636;i=39d;b=2cfdedb0cafd43758e2469ea1bc81a19;m=2b3fc0f;t=5f632868ef087;x=c4b27446a5eae068", "_RUNTIME_SCOPE" : "system", "_UID" : "0", "TRANSACTION_ID" : "2224375320", "_CMDLINE" : "ipmid", "_SYSTEMD_CGROUP" : "/system.slice/phosphor-ipmi-host.service" } ```
After: ``` ipmitool sdr elist power | 00h | ok | 23.2 | reset | 01h | ok | 23.1 | CATERR | 02h | ok | 65.2 | ... ... ```
Signed-off-by: Harvey Wu <Harvey.Wu@quantatw.com> Change-Id: I02132cd734e098f1d858628094b911a461821a80
show more ...
|
#
9cf0838a |
| 28-Apr-2023 |
Vernon Mauery <vernon.mauery@linux.intel.com> |
move entity_map_json to libipmid
entity_map_json is used by dbus-sdr sensor handling so it needs to be in a common location or loading order matters. This change moves the file from the ipmi20 provi
move entity_map_json to libipmid
entity_map_json is used by dbus-sdr sensor handling so it needs to be in a common location or loading order matters. This change moves the file from the ipmi20 provider library to libipmi, a common library.
Tested: Found that even though the dbus-sdr provider loads before ipmi20, it loads properly without missing symbols.
Change-Id: I9ab6833c78e6f3c89c02cf998ce0a36353059c3d Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
show more ...
|
#
ba9bbb6f |
| 01-Jun-2022 |
Willy Tu <wltu@google.com> |
build: move all shared_library/module to library with version suffix
The version suffix will create `.so`, `.so.0`, and `.so.0.1` and will be compatiable with existing bitbake setup for phosphor-ipm
build: move all shared_library/module to library with version suffix
The version suffix will create `.so`, `.so.0`, and `.so.0.1` and will be compatiable with existing bitbake setup for phosphor-ipmi-host.
Also moved the dbus-sdr library output the `dbus-sdr` folder since the shared module depends on libipmi20, but it can't find it due to the it being in a different folder. Moving it to the same meson file fixes that issue.
Also removed all unused declare_dependency. Built fine without it.
Tested: dbus-sdr works now ``` ipmitool sdr cpu0 | disabled | ns cpu0_core0 | disabled | ns cpu0_core1 | disabled | ns cpu0_core2 | disabled | ns ... ```
Change-Id: Ib13a79c1b27a7c122c5a29237716898cd2e29b4c Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
#
c710b975 |
| 11-Aug-2021 |
Willy Tu <wltu@google.com> |
build: Add meson build for phosphor-host-ipmi
Create meson and meson_options for the existing features.
Removed sample.h/cpp since that is not used at all.
Tested: Ipmi command works fine the clea
build: Add meson build for phosphor-host-ipmi
Create meson and meson_options for the existing features.
Removed sample.h/cpp since that is not used at all.
Tested: Ipmi command works fine the cleanup. ``` $ systemctl status phosphor-ipmi-host ● phosphor-ipmi-host.service - Phosphor Inband IPMI Loaded: loaded (/lib/systemd/system/phosphor-ipmi-host.service; enabled; vendor preset: enabled) Active: active (running) since Thu 1970-01-08 21:20:56 UTC; 21s ago Main PID: 24987 (ipmid) CGroup: /system.slice/phosphor-ipmi-host.service └─24987 /tmp/ipmid
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X30] for Ethstats Commands Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X30] for Ethstats Commands Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X32] for Sys Commands Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X02] for I2C Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X02] for I2C Jan 08 21:20:56 $HOST ipmid[24987]: I2C_WHITELIST_CHECK is disabled, do not populate whitelist Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X04] for Manual Zone Control Jan 08 21:20:56 $HOST systemd[1]: Started Phosphor Inband IPMI. Jan 08 21:20:56 $HOST ipmid[24987]: Loading whitelist filter Jan 08 21:20:56 $HOST ipmid[24987]: Set restrictedMode = true (reverse-i-search)`ipmi': systemctl status phosphor-^Cmi-host
$ ipmitool mc info Device ID : 32 Device Revision : 1 Firmware Revision : 0.00 IPMI Version : 2.0 Manufacturer ID : 7244 Manufacturer Name : Quanta Computer Inc. Product ID : 14426 (0x385a) Product Name : Unknown (0x385A) Device Available : yes Provides Device SDRs : yes Additional Device Support : Sensor Device SEL Device FRU Inventory Device Chassis Device Aux Firmware Rev Info : 0x00 0x00 0x00 0x00 ```
Change-Id: Ibaea9eea802b063a0207320654cbb817fde30c2a Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|