Closed dkodihal closed 2 years ago
This story will be open to support the FRUs as and when we get the DBUS information
Code in Upstream Driver Keeping this open to support FAULT LEDs of FRU as and when we get the DBUS information.
Work is complete. Closing.
The goal of this story is to have a PDR, sensor and effecter created for each BMC owned (ownership indicates BMC can drive the LED) LED. There's supporting code for this already - what's needed out of this story is to update the PDR effecters JSON (https://github.com/openbmc/pldm/blob/master/configurations/pdr/11.json) and to introduce a new PDR sensors JSON in the same location.
Example PDR sensor and PDR effecter JSONs are at https://github.com/openbmc/pldm/tree/master/libpldmresponder/examples/pdr.
For every LED D-Bus object found as a result of
busctl tree xyz.openbmc_project.LED.GroupManager
: a) Need an entry in the PDR effecter JSON b) Need an entry in the PDR sensor JSON c) Need to set theentity_path
key (https://github.com/openbmc/pldm/blob/master/libpldmresponder/examples/pdr/effecter_pdr.json#L7) to point the inventory D-Bus object that corresponds to the LED, in both the JSONs. No need to explicitly specify entity instance, type and container id. Those are derived from the PLDM FRU info (we must already be making PLDM FRU records for the FRU D-Bus object thatentity_path
points to, if that's not happening for some FRU then that's a minor problem to fix in the PLDM FRU code). There could be some LED D-Bus objects for which the corresponding FRU D-Bus object doesn't exist yet, those will have to be handled later (when the FRU/VPD work is done and those objects show up). @vishwabmc or @tomjoseph83 can help determine which these are. d) The D-Bus interface we need to map the PLDM info to is xyz.openbmc_project.Led.Group (theAsserted
property) for most of these LED D-Bus objects. There are few exceptions where we need to look up another D-Bus namespace (@vishwabmc can help here). e) There are two kind of LEDs - identify and fault. We need distinct JSON entries for both. The PLDM state set id for the identify LED is 17 and, for the Fault LED it is 10, from https://www.dmtf.org/sites/default/files/standards/documents/DSP0249_1.0.0.pdf.We should be able to test with pldmtool - enumerating the LED PDRs, reading the sensors and setting the effecters.