summaryrefslogtreecommitdiff
path: root/meta-ibm/recipes-phosphor/ipmi
AgeCommit message (Collapse)AuthorFilesLines
2023-09-28meta-ibm: sbp1: Configure phosphor-ipmi-ipmbPatrick Rudolph2-0/+18
phosphor-ipmi-ipmb is used for Intel ME communication to get thermal sensor data and to set Intel ME into recovery mode when doing an x86 BIOS update. Tested: Intel ME responds to commands and returns thermal sensor data. Change-Id: Ie4fadafdc98d611420629011a38922cd11692d41 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-07-20ipmi-fru-parser: srcrev bump 06514028f8..7153343816Andrew Geissler1-7/+3
Patrick Williams (6): clang-format: copy latest and re-format writefrudata: remove vla strgfnhandler: suppress unused parameter warnings frup: suppress stringop-truncation warning scripts: accept absolute paths to YAML build: enable meson builds build: install strgfnhandler into ipmi-providers dir Vernon Mauery (1): Set new maintainer as Patrick Williams Willy Tu (1): fru-parser: Remove the use of mktime Switch to Meson. Change-Id: Iec9c41cc17a72f84248b8cd75f70353e053f17e2 Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com>
2023-07-18meta-ibm: only use openpower bbappend when including layerAndrew Geissler1-5/+0
There is a desire to add non-openpower systems to the meta-ibm layer. To do that, need to ensure the bbappend files that are appending to openpower recipes are only included if the machine being built includes the meta-openpower layer. Tested: - Confirmed a system not including meta-openpower builds ok with this - Confirmed p10bmc still uses the bbappend files Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I32a08e9f20a20152d51c77cdfca6bbc15b5e93d4
2023-06-13meta-ibm: first-boot-disable-ipmi-net: Improve performanceAndrew Jeffery1-8/+5
The documentation for systemctl's `disable` verb[1] states: > This command implicitly reloads the system manager configuration after > completing the operation. Note that this command does not implicitly > stop the units that are being disabled. If this is desired, either > combine this command with the --now switch, or invoke the stop command > with appropriate arguments later. [1]: https://www.man7.org/linux/man-pages/man1/systemctl.1.html In simulation, reloads get expensive as they involve a bunch of IO. During boot, under qemu, such a reload can take on the order of 15 seconds. Further, Andrew Geissler states (no reference, private slack): > The service-config-manager is responsible for enabling and disabling > IPMI. On startup, it looks for the service and socket files via > systemd d-bus queries and caches in a file, /etc/srvcfg-mgr.json. If > you don’t run the services once on a fresh startup, > service-config-manager never sees them and therefore never provides a > way to enable/disable them. So on a fresh factory reset boot, you let > them start, service-config-manager sees them and caches them, and then > you disable them from there on out. As evidenced by the `After` statements in the unit, the expectation is that the units we're disabling have already been started. The documentation for systemctl's `mask` verb[1] provides a useful perspective: > Mask one or more units, as specified on the command line. This will > link these unit files to /dev/null, making it impossible to start > them. This is a stronger version of disable, since it prohibits all > kinds of activation of the unit, including enablement and manual > activation. The key insight here is the `disable` keyword tends to best be used to prevent the unit from being started as part of a given target, e.g. the default target. Given that we would only need to reload the systemd configuration to prevent the units from being started as part of a default target, and the fact that they must have already been started in accordance with `After` directive, there's no need to force an immediate reload of the systemd configuration upon disabling the units. Further, it's possible to combine the stop and the disable operation into one with `--now` as demonstrated in the `disable` documentation above. And finally, as the disable verb takes a unit PATTERN and not a singular unit, we can compress the operation down to a single invocation. Tested: 1. Booted up fresh p10bmc (factory reset), verified IPMI disabled by default via Redfish API 2. Enabled IPMI via Redfish API, verified bmcweb indicated IPMI enabled and services running 3. Rebooted BMC, verified IPMI was still enabled after BMC reboot 4. Disabled IPMI over Redfish, rebooted BMC, confirmed IPMI was still disabled Change-Id: I0926e9d16a56c2f022e415f4f40c35695dd155b8 Tested-by: Andrew Geissler <geissonator@yahoo.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2023-06-13meta-ibm: first-boot-disable-ipmi-net: Fix unit conditionAndrew Jeffery1-2/+1
The [Service] section specifies: ``` ExecStart=/bin/touch /var/lib/ipmi-net-disable-one-time ``` However, the [Unit] section specifies the following condition: ``` ConditionFileNotEmpty=!/var/lib/ipmi-net-disable-one-time ``` The documentation for ConditionFileNotEmpty[1] states: > ConditionFileNotEmpty= is similar to ConditionPathExists= but verifies > that a certain path exists and refers to a regular file with a > non-zero size. [1]: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#ConditionFileNotEmpty= And the documentation for `touch`[2] states: > A FILE argument that does not exist is created empty, unless -c or -h > is supplied. [2]: https://www.man7.org/linux/man-pages/man1/touch.1.html Neither `-c` nor `-h` are supplied, therefore the ExecStart= directive will create an empty file. As the ConditionFileNotEmpty= directive is negated the condition will always pass: Either the file doesn't exist, or it does exist and is empty. Therefore, as configured, this unit always runs. Always running the unit is counter to its 'one-time' name. Switch to `ConditionPathExists=`[3] to enforce the one-time nature. [3]: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#ConditionPathExists= Change-Id: I1a8418a03c4fb9c6754f72f8651384b2f7e17715 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2022-10-24Remove largely unmaintained MihawkMyung Bae8-262/+2
A fork of it is maintained but its upstream layer has largely been unmaintained. No future products are planned to be based on this layer. Mihawk is similar to Witherspoon. Signed-off-by: Myung Bae <myungbae@us.ibm.com> Change-Id: I82f7d777b78cd126237d51e42f1e11abdf80ae68
2022-10-13treewide: remove pointless abstractionsBrad Bishop1-1/+1
All of these abstractions have exactly one implementation. Remove the indirection to improve at a glance comprehension. Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Change-Id: I5d701aff6d0876fa3b2d16c841cbdcb0433b221f
2022-09-15meta-ibm:p10bmc Support missing IPMI IANA numberShantappa Teekappanavar1-0/+2
Added p10bmc specific dev_id.json file to support IPMI IANA number Testing: Used curl command to verify IANA number $ ipmitool -I lanplus -C 17 -p 623 -U user -P password -H host raw 0x06 0x01 00 80 0f 32 02 8d 41 a7 00 4f 42 00 00 00 00 Signed-off-by: Shantappa Teekappanavar <shantappa.teekappanavar@ibm.com> Change-Id: I6ca8f343c06aac2303137aa5d78145b59d7099ce
2022-07-18meta-ibm: disable phosphor-ipmi-net by default p10bmcNodeMan972-0/+35
This change will disable the IPMI network interface by default on the first boot of a p10bmc system after a factory reset. After the first boot the service is prevented from running again and from there on adheres to the customers settings. It is necessary that IPMI network services are started for a brief moment in time to ensure they show up in the systemd service list. This is important to ensure that the service-config-manager, which is responsible for enabling/disabling these services can properly locate them in the systemd service list. Tested: - Issued 5 mini-factory resets to mimic a fresh system boot Verified service-config-manager identified both IPMI service and socket files for eth0 and eth1 Verified IPMI was disabled by default Verified could enable IPMI via the web UI and could issue IPMI commands using ipmitool with a user that was in the IPMI group Verified that once IPMI was enabled, it stayed enabled through BMC reboots Verified when IPMI was disabled via the GUI, it stayed disabled through BMC reboots Signed-off-by: Corey Hardesty <corey.hardesty@icloud.com> Change-Id: Idad03366c1eb11cbfd7f4ad700976c177eb0121f
2022-06-21phosphor-host-ipmid: srcrev bump 33d90e182d..0e7a8af0e5Andrew Geissler1-10/+10
Harvey.Wu (2): dbus-sdr: fix SEL record Generator ID to fit SPEC dbus-sdr: fix the vector size in sdrWriteTable and sdrStatsTable Jian Zhang (1): Add data types to Value to extend setDbusProperty Vernon Mauery (1): fix header install Willy Tu (4): cleanup: Remove all warning errors for the Meson build support build: Add meson build for phosphor-host-ipmi build: move all shared_library/module to library with version suffix build: Remove dynamicsensor library if it is not enabled Change-Id: I92503c6625d1ec2bf88c0a28afac9b4eeb8fbd75 Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com> Signed-off-by: Willy Tu <wltu@google.com>
2022-02-27meta-ibm:p10bmc: Print FRU info using ipmitoolShantappa Teekappanavar2-0/+9
This commit adds p10bmc specific configuration files to display CPU and DIMM FRU information. Without these configuration files the default phosphor recipe configuration files are used, and we do not get FRU info for all configured CPUs and DIMMs. The changes are meta-ibm specific, the image was built and tested against our simulation model. Signed-off-by: Shantappa Teekappanavar <sbteeks@yahoo.com> Change-Id: I60dd8ce05941105dfaf6b5e67fa8c7b0bb06534a
2022-02-18treewide: fix append/remove directivesPatrick Williams1-2/+2
As mentioned by I970e06ca6f9d0a9792af122eb25da1bb9a06f058, append and remove directives with '+=' are no longer valid Yocto syntax and raise a warning. See https://git.yoctoproject.org/poky/tree/documentation/migration-guides/migration-3.5.rst#n40 One interesting caveat has to do with the difference between "append" and "+=". foo:append = "a" foo:append = "b" Results in `foo = "ab"`, but foo += "a" foo += "b" Results in `foo = "a b"`. When `:append +=` is used it has behavior like the `+=` operator. Therefore, in some cases we need to insert additional whitespace after the `:append = "` to ensure concatenation behaves as expected. I've manually reviewed the results to ensure there is no ill side-effects from an additional space potentially being added. Fix up the entire tree with the following one-liner (and similar for `remove`): git ls-files -- ':!:poky/**' ':!:meta-security/**' \ ':!:meta-raspberrypi/**' ':!:meta-openembedded/**' \ | grep "\.bb" | xargs grep -l ":append.*+=" \ | xargs sed -i 's/:append\(.*\)+=\([^"]*\)" */:append\1=\2" /' or ... | xargs grep -l ":remove.*+=" \ | xargs sed -i "s/:remove\(.*\)+=/:remove\1=/" Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iea6235e7c76e252f4d473652957c2925f6b8845a
2022-02-01meta-ibm: Set dbus object path for total power on p10bmcChris Cain1-0/+3
Tested on Everest HW Change-Id: I667434f8701b0a635a7d3ca8077b47e4ae297f45 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
2022-01-25treewide: fix up github SRC_URIsPatrick Williams1-1/+1
Per [1], Yocto is going to start requiring both branch names and `protocol=https` in GitHub SRC_URI variables. Ran the upstream tool to automatically fix our URIs. 1. https://git.yoctoproject.org/poky/tree/documentation/migration-guides/migration-3.5.rst#n10 Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I5f9619f7ff707050b469ae74c8aa16846568c5e4
2022-01-07wistron-ipmi-oem: srcrev bump 572a22ad0a..e04459e514Andrew Geissler1-1/+1
Ben Pai (1): Modify OWNERS file Change-Id: I323eba87ed91fec6dba524f2a71528e24e907d68 Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com>
2021-11-03meta-ibm: mihawk: fix invalid JSONPatrick Williams1-1/+1
`eslint` reported an issue with the supplied JSON and it appeared to be missing a simple comma to separate two values in an array. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I2dd167143ea31c730c26254b3ddc2ad25109e34f
2021-11-02wistron-ipmi-oem: srcrev bump ba89a1ea57..572a22ad0aAndrew Geissler1-1/+1
Manojkiran Eda (1): Add OWNERS file Change-Id: Iadf9a75728ff8321a6745d843abe649adbb6cf19 Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com>
2021-10-07witherspoon-tacoma: disable host watchdog functionAndrew Geissler1-1/+4
Hostboot utilizes inband IPMI on witherspoon-tacoma. They relied on OPAL firmware to continue pinging the watchdog and eventually disabling it. For the most part though, IBM utilizes PHYP on witherspoon-tacoma machines and they do not have the needed in-band IPMI support to do this. IBM needs either both firmware stacks (hostboot and PHYP) to use PLDM (i.e. p10bmc) or IPMI (witherspoon). Tacoma is an outlier so just disable the host watchdog function on Tacoma. Tested: - Verified a witherspoon-tacoma with PHYP booted successfully Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ibceb2ad6933973b97e122b83c89f6be7e7b8f868
2021-08-25meta-ibm: Enable eth1 as an alternate RMCP+ interfaceShantappa Teekappanavar2-1/+184
Testing: Built image for p10bmc platform, installed on a test system, and verified netipmid was started on both eth0 and eth1 interfaces. Also, verified that ipmitool commands work as expected for IP addresses configured on eth0 and eth1 interfaces Signed-off-by: Shantappa Teekappanavar <sbteeks@yahoo.com> Change-Id: Ie8399ba1219dac2f9c4ac15b7dfcf7e746750f0d
2021-08-11meta-ibm: prep for new override syntaxAdriana Kobylak6-19/+19
Change-Id: I9116ed7260e369136acb39eec15075db2d4dbeba Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
2021-01-28phosphor-ipmi-config: Handle an empty commit numberAdriana Kobylak1-3/+7
The VERSION_ID may not have a commit number for the cases a tag is created, ex: 2.10.1. Since the code is expecting a commit number of 1-4 digits, use a '0' if no commit number exists. Tested: Created a tag 2.10.99 which sets VERSION_ID=2.10.99. Without this change, build fails with: "Exception: IndexError: list index out of range" With this change there are no build errors. Change-Id: I3b56ebc1844ec6748b92cca3484f9aa1f4d983f8 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
2020-11-12wistron-ipmi-oem: srcrev bump 44cee319dd..ba89a1ea57Andrew Geissler1-1/+1
Ben Pai (1): Add wistron oem command to switch 250 soc image (From meta-ibm rev: 3aa9904064a954031fac32b462c26c0b6d541ef1) Change-Id: I6cc97288c35a1ac1f97f55ad0fe179dce9636bb0 Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com> Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
2020-04-27meta-ibm: move all meta-witherspoon metadataBrad Bishop14-0/+589
The metadata common to all IBM systems is confusingly split between meta-ibm and meta-witherspoon. Move everything to meta-ibm. The meta-ibm README is re-written to more accurately reflect the scope of the layer. Allow the configuration samples (bblayers.conf.sample, local.conf.sample) to be sourced from either meta-ibm or meta-witherspoon until such a time that any workflows and tooling have had the opportunity to move to meta-ibm. (From meta-ibm rev: 6e05ef2e90b214eaf4e43ee7027bbbb1d8d09442) Change-Id: I3ec890d5300f9649c974ea6b9dca93a2e8a889ab Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> Signed-off-by: Andrew Geissler <geissonator@yahoo.com>