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