1# Configuration
2
3## Device ID Configuration
4
5There is a default dev_id.json file provided by
6meta-phosphor/common/recipes-phosphor/ipmi/phosphor-ipmi-host.bb
7
8Any target can override the default json file by providing a
9phosphor-ipmi-host.bbappend with an ODM or platform customizable configuration.
10
11For a specific example, see:
12[Witherspoon](https://github.com/openbmc/openbmc/blob/master/
13meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/
14recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend)
15
16The JSON format for get_device_id:
17
18    {"id": 0, "revision": 0, "addn_dev_support": 0,
19        "manuf_id": 0, "prod_id": 0, "aux": 0}
20
21Each value in this JSON object should be an integer. The file is placed in
22/usr/share/ipmi-providers/ by Yocto, and will be parsed upon the first call to
23get_device_id. The data is then cached for future use. If you change the data at
24runtime, simply restart the service to see the new data fetched by a call to
25get_device_id.
26
27## IPMI D-Bus Sensor Filtering
28
29Phosphor-ipmi-host provides a compile time option to control how IPMI sensors
30are populated. The default model is for the sensors to be culled from a set of
31JSON files. There is another model that collects the sensors to display from
32D-Bus. The D-Bus method is the default mode used by Redfish. Redfish does not
33have a fixed limit on the number of sensors that can be reported.
34
35IPMI supports a smaller number of sensors than are available via Redfish. The
36limit being the number of Sensor Data Records (SDR) supported in the IPMI
37specification. Enabling IPMI to use D-Bus may cause the number of sensors
38retrieved to exceed the number SDRs IPMI can support. Even if the number of
39sensors retrieved is within the SDR limit IPMI can support, it may be desirable
40to filter entries that are uninteresting.
41
42Meson uses the _dyanmic-sensors_ configuration option to enable retrieving the
43sensors via D-Bus. When dynamic sensors are active all of the sensors placed on
44D-Bus by a service are added to the IPMI sensor list. In the event that too many
45sensors are exposed on D-Bus, the list can be filtered by adding a list of
46services to filter to _/usr/share/ipmi-providers/sensor_filter.json_.
47
48Example filtering:
49
50```json
51{
52  "ServiceFilter": [
53    "xyz.openbmc_project.RedfishSensors1",
54    "xyz.openbmc_project.RedfishSensors2"
55  ]
56}
57```
58
59Any sensors published by the example services are blocked from being added to
60the IPMI SDR table.
61