| #
e665185b
|
| 21-Jan-2025 |
Alexander Hansen <alexander.hansen@9elements.com> |
entity-manager: Add meson option to cache config
For the development use-case configuration is often changed and the general expectation is for a service to re-parse it's configuration when it is re
entity-manager: Add meson option to cache config
For the development use-case configuration is often changed and the general expectation is for a service to re-parse it's configuration when it is restarted.
Add a meson option which controls if the configuration (usually in /var/configuration/system.json) is cached there, or not cached at all.
The new meson option is 'new-device-detection' and by default it is true, so there is no behavior change when it is not configured.
Tested: on Tyan S5549 board. The configuration is cached when the option is left as default and the configuration is not written to cache when it is set to false.
``` Jan 21 15:50:22 s5549-bmc-a0423f63b4a5 systemd[1]: Starting Entity Manager... Jan 21 15:50:22 s5549-bmc-a0423f63b4a5 systemd[1]: Started Entity Manager. Jan 21 15:50:35 s5549-bmc-a0423f63b4a5 entity-manager[32126]: Inventory Added: Supermicro PWS 920P SQ 1 Jan 21 15:50:35 s5549-bmc-a0423f63b4a5 entity-manager[32126]: Inventory Added: MBX 1.60 Chassis Jan 21 15:50:35 s5549-bmc-a0423f63b4a5 entity-manager[32126]: Inventory Added: Tyan S5549 Baseboard ```
The cache directory now only contains the 'version' file which is separate from the caching concern, and not affected by this patch.
``` ls -l /var/configuration/ -rw-r--r-- 1 root root 10 Jan 16 11:50 version ```
Change-Id: I584d87c549d3115da04b464702c7fda8ee7720ed Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| #
89092a9c
|
| 02-Jun-2025 |
Naresh Solanki <naresh.solanki@9elements.com> |
fru-device: Add option to allow updating all FRU fields
This patch introduces a new meson option `fru-update-property` to enable updating FRU properties via D-Bus. This is particularly useful during
fru-device: Add option to allow updating all FRU fields
This patch introduces a new meson option `fru-update-property` to enable updating FRU properties via D-Bus. This is particularly useful during lab testing to modify FRU fields as needed.
TESTED=Build for tiagopass with fru-update-property set to true. Verify the following: 1. Run command: `busctl introspect xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/BMC_Storage_Module`
2. Verify the FRU fields are `writable` Example: ... .PRODUCT_ASSET_TAG property s "XXXXXXX" emits-change writable .PRODUCT_FRU_VERSION_ID property s "1.0" emits-change writable .PRODUCT_INFO_AM1 property s "XXXXXXXXX" emits-change writable .PRODUCT_INFO_AM2 property s "Config A" emits-change writable ...
3. Update FRU field: busctl set-property xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/BMC_Storage_Module xyz.openbmc_project.FruDevice PRODUCT_INFO_AM2 s "123"
4. Verify by reading the field: busctl get-property xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/BMC_Storage_Module xyz.openbmc_project.FruDevice PRODUCT_INFO_AM2 s "123"
root@tiogapass:~# hexdump /sys/bus/i2c/drivers/at24/6-0054/eeprom 0000000 0001 0100 000d f100 0c01 3600 d0e6 58c6 0000010 5858 5858 d258 4d42 2043 7453 726f 6761 0000020 2065 6f4d 7564 656c 58cd 5858 5858 5858 0000030 5858 5858 5858 58ce 5858 5858 5858 5858 0000040 5858 5858 c358 2e31 c930 5858 5858 5858 0000050 5858 d258 5858 5858 5858 5858 5858 5858 0000060 5858 5858 5858 39c1 0c01 c600 5858 5858 0000070 5858 54d2 6f69 6167 5020 7361 2073 6953 0000080 676e 656c ce32 5858 5858 5858 5858 5858 0000090 5858 5858 58c4 5858 cd32 5858 5858 5858 00000a0 5858 5858 5858 c758 5858 5858 5858 c358 00000b0 2e31 c930 5858 5858 5858 5858 c858 6f43 00000c0 666e 6769 4120 45c1 0000 0000 0000 0000 00000d0 0000 0000 0000 0000 0000 0000 0000 0000 * 0002000 root@tiogapass:~# busctl set-property xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/BMC_Storage_Module xyz.openbmc_project.FruDevice PRODUCT_INFO_AM1 s "123456" root@tiogapass:~# hexdump /sys/bus/i2c/drivers/at24/6-0054/eeprom 0000000 0001 0100 000d f100 0c01 3600 d0e6 58c6 0000010 5858 5858 d258 4d42 2043 7453 726f 6761 0000020 2065 6f4d 7564 656c 58cd 5858 5858 5858 0000030 5858 5858 5858 58ce 5858 5858 5858 5858 0000040 5858 5858 c358 2e31 c930 5858 5858 5858 0000050 5858 d258 5858 5858 5858 5858 5858 5858 0000060 5858 5858 5858 39c1 0c01 c600 5858 5858 0000070 5858 54d2 6f69 6167 5020 7361 2073 6953 0000080 676e 656c ce32 5858 5858 5858 5858 5858 0000090 5858 5858 58c4 5858 cd32 5858 5858 5858 00000a0 5858 5858 5858 c758 5858 5858 5858 c358 00000b0 2e31 c630 3231 3433 3635 43c8 6e6f 6966 00000c0 2067 c141 0000 4f00 0000 0000 0000 0000 00000d0 0000 0000 0000 0000 0000 0000 0000 0000 * 0002000
Change-Id: Iff11d64a291e6bdb653b6c524ca90e2e16003ec3 Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
show more ...
|
| #
7f51d32f
|
| 25-Jun-2025 |
Alexander Hansen <alexander.hansen@9elements.com> |
entity-manager: runtime schema validation
Uncomment the schema validation code and create a meson option to enable this code path. The option is by default false, so the default codepath is untouche
entity-manager: runtime schema validation
Uncomment the schema validation code and create a meson option to enable this code path. The option is by default false, so the default codepath is untouched.
Tested: Not tested, since the schemas can be validated at build time. Whoever wants to experiment with this code, feel free to test it. At least now it is as easy as enabling a meson option.
Change-Id: Icc2226e2e08ede5cff5a5f97bc29c8e38b117ff8 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| #
8c4b1d99
|
| 04-Nov-2024 |
Alexander Hansen <alexander.hansen@9elements.com> |
Add gpio-presence-sensor
This is to implement the gpio based hw inventory design [1].
There is a new meson option 'gpio-presence' to enable/disable the daemon.
Summary of the functionality:
- fet
Add gpio-presence-sensor
This is to implement the gpio based hw inventory design [1].
There is a new meson option 'gpio-presence' to enable/disable the daemon.
Summary of the functionality:
- fetch configuration from EM, according to the configuration interface - the D-Bus interface is xyz.openbmc_project.Configuration.GPIODeviceDetect - the configuration represents devices for which presence can be detected based on gpio values. - watch gpios for changes - add/remove the xyz.openbmc_project.Inventory.Source.DevicePresence interface on the object path based on gpio values.
References: [1] https://github.com/openbmc/docs/blob/master/designs/inventory/gpio-based-hardware-inventory.md [2] https://www.kernel.org/doc/html/latest/admin-guide/gpio/gpio-sim.html
Tested: using linux gpio-sim facility, see below
1. create a fake gpio via [2] 2. configure gpio-presence-sensor as per [1] 3. run the gpio-presence-sensor 4. change the value of the gpio previously configured 5. there should be log output (at debug level) 6. the dbus interfaces exposed should appear/disappear as per [1]
Change-Id: I4cf039b583247581aa5c6c6c59e7fc41ced0bb85 Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
show more ...
|
| #
37304f09
|
| 01-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: reformat with meson formatter
Apply the `meson format` results.
Change-Id: Iab5fdd6b41eab1cc138df39f1dce5345bf260306 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|