summaryrefslogtreecommitdiff
path: root/meta-ampere
AgeCommit message (Collapse)AuthorFilesLines
2023-10-19meta-ampere: mtjade: state: remove no-warm-reboot cfgThang Tran1-0/+1
In the commit 16bb75ab on the openbmc repo, it disables warm-reboot build option in phosphor-state-manager by default. To enable warm-reboot option, we have to remove no-warm-reboot packge configuration. Tested: 1. Request power reset Host. $ipmitool power reset 2. ForceWarmReboot target is called. Change-Id: I4f7d4d4b148e77867562ed1a8efe7797f4a6d8dd Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
2023-10-19meta-ampere: mtmitchell: state: remove redundant build optionThang Tran1-5/+0
In the commit 16bb75ab on the openbmc repo, it disables warm-reboot by default, we don't have to disable it again. Tested: 1. Request power reset Host. $ipmitool power reset 2. Reboot target is called. Change-Id: Ie1ed12709c200d358ae4e93e55565ebd1ea68c4f Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
2023-10-19meta-ampere: mtmitchell: correct checking PGOODThang Tran2-23/+6
Currently, in the platform initialization phase, BMC is checking PGOOD gpio via both dbus and "/sys/class/gpio" methods. The "power_control" application is polling PGOOD. Sometimes, "power_control" stops checking the PGOOD's status due to a conflict with platform initialization. It makes BMC can not control the power. This commit removes the conflict between the "power_control" and the platform initialization as below: - Update ampere-platform-init.service to request the platform initialization run before the "power_control". - Update mtmitchell_platform_gpios_init.sh to remove checking PGOOD via dbus. Tested: The platform initialization runs before the "power_control". Turn on/off the host, reboot BMC, AC power work correctly. Signed-off-by: Thang Tran <thuutran@amperecomputing.com> Change-Id: Ic9619f93b8a49c578a8a0d733872a636ec6fc100
2023-10-16meta-ampere: mtjade: update scripts with new gpio linenameThu Nguyen18-202/+224
Mt.Jade GPIO line-names are updated to follow naming convention at https://github.com/openbmc/docs/blob/master/designs/device-tree-gpio-naming.md. This commit updates related scripts to use the correct linenames. Tested: Check below features to work as before: + UEFI and SCP firmware update. + Host power control + Ampere UART mux switch + SCP failover Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I080f844047618327042a7742d3fa6423b62be744
2023-10-14meta-ampere: mtmitchell: use standard gpio commandsThang Q. Nguyen8-51/+42
Change to use gpioset and gpioget to set value for output GPIOs and read value for input GPIOs. This commit also corrects GPIO base numbers which are changed in Linux kernel 6.5 Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I802f9d777537ff28f94945006b6582b15523e3a8
2023-10-11treewide: clean up webui selectionPatrick Williams2-2/+0
The webui-vue package is now enabled by default. Clean up all the meta layers to clean up the explicit enablement. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4895be56c70d2c8666dd96cec18d2c097f0c05a3
2023-09-26linux-aspeed: Move to Linux v6.5Joel Stanley2-2/+2
This moves the OpenBMC kernel to a v6.5 base for ASPEED. The 6.5 kernel moved all 32-bit ARM device trees, so our BMC device tress are now under an 'aspeed' subdirectory. This change means systems must describe the KERNEL_DEVICETREE with the aspeed directory prefix. There are 78 patches in the tree, with 40 of those patches not yet queued for merging in v6.6. The remaining out of tree patches include: Andrew Jeffery (6): dt-bindings: hwmon: pmbus: Add Maxim MAX31785 documentation pmbus (max31785): Add support for devicetree configuration pmbus (core): One-shot retries for failure to set page pmbus (max31785): Wrap all I2C accessors in one-shot failure handlers ARM: dts: aspeed: witherspoon: Update max31785 node ipmi: kcs_bmc: Add a "raw" character device interface Cédric Le Goater (1): /dev/mem: add a devmem kernel parameter to activate the device Eddie James (16): ARM: dts: aspeed: bonnell: Add reserved memory for TPM event log dt-bindings: soc: Add Aspeed XDMA Engine soc: aspeed: Add XDMA Engine Driver soc: aspeed: xdma: Add user interface soc: aspeed: xdma: Add reset ioctl soc: aspeed: xdma: Add trace events i2c: core: Add mux root adapter operations iio: si7020: Lock root adapter to wait for reset eeprom: ee1004: Enable devices on multiple busses dt-bindings: trivial-devices: Add Atmel AT30TSE004A serial eeprom eeprom: ee1004: Add OF matching support leds: pca955x: Refactor with helper functions and renaming leds: pca955x: Use pointers to driver data rather than I2C client leds: pca955x: Optimize probe led selection leds: pca955x: Add HW blink support leds: Ensure hardware blinking turns off when requested Jae Hyun Yoo (1): clk: ast2600: enable BCLK for PCI/PCIe bus always Joel Stanley (14): net: ftgmac100: Ensure tx descriptor updates are visible ARM: aspeed: Add debugfs directory ARM: soc: aspeed: Add secure boot controller support dt-bindings: trivial-devices: Remove Infineon SLB9673 TPM ARM: dts: nuvoton: npmc750-evb: Add default console tpm: tis-i2c: Add more compatible strings leds: pca955x: Revert "Remove the unused function pca95xx_num_led_regs()" arm64: configs: Add Nuvoton NPCM defconfig ARM: configs: aspeed: Add new FSI drivers ARM: config: aspeed_g5: Enable SSIF BMC driver ARM: config: aspeed: Remove FIRMWARE_MEMMAP ARM: config: aspeed: Add Ampere SMPro drivers ARM: config: Add openbmc defconfig ARM: config: openbmc: Add HPE GPX and Nuvoton 7xx Johannes Holland (1): dt-bindings: tpm: Add schema for TIS I2C devices Potin Lai (1): mtd: spi-nor: winbond: Add support for w25q01jvq Change-Id: Ib97af192391af6e71c96fe14e12cfc88c23d7a7d Signed-off-by: Joel Stanley <joel@jms.id.au>
2023-08-17Revert "meta-ampere: mtmitchell: support system firmware hang handler"Thang Q. Nguyen4-84/+0
Polling GPIO every 0.5s might cause system performance degraded. This reverts commit 57fa7921b248f52858a48110d9670c62cea2eff0 to find better solution for this feature. Change-Id: I00adf3cd7b355f260d0687c9a907b2dc45731697 Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
2023-08-17meta-ampere: remove GPIO fault checkThang Q. Nguyen6-562/+1
This commit removes scripts to check GPIO fault as they poll GPIOs every 0.25s. Better solution needs to be found for this feature. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Ieef28d7d7f74dc43548c5448706ca8dbcb06ec2e
2023-08-10meta-ampere: mtmitchell: ipmid: enable dynamic-storages-only featureThang Tran1-0/+1
This commit enables dynamic-storages-only to use FRU and SEL commands in the dbus-sdr w/o enabling sensor commands in the dbus-sdr folder. Tested: 1. Users can read/write/edit FRU via ipmitool 2. Users can get the SEL logs via ipmitool. Change-Id: I49eab8ad1cf54ef5c60604c446db153a42c30749 Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
2023-08-10meta-ampere: mtjade: ipmid: enable dynamic-storages-only featureThang Tran1-0/+1
This commit enables dynamic-storages-only to use FRU and SEL commands in the dbus-sdr w/o enabling sensor commands in the dbus-sdr folder. Tested: 1. Users can read/write/edit FRU via ipmitool 2. Users can get the SEL logs via ipmitool. Change-Id: I86138f36b30d248ec5fac07be4cda10031ddf203 Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
2023-07-31meta-ampere: bmcweb: replace deprecated schemas with new schemasThang Tran1-0/+2
In the Redfish Data Model Specification, it deprecated Power and Thermal schemas from v1.7 version (release on 2020.4). It used PowerSubsystem and ThermalSubsystem instead. This commit replaces deprecated Power/Thermal schemas with PowerSubsystem/ThermalSubsystem schemas. Tested: 1. The /redfish/v1/Chassis/<ChassisId>/<Power | Thermal> schemas have been removed. 2. The /redfish/v1/Chassis/<ChassisId>/<PowerSubsystem | ThermalSubsystem> schemas have been added. Change-Id: I4868cde726c07f68fc94986d9659fc9377bdaf5e Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
2023-07-29meta-ampere: mtmitchell: support Host Secure Provisioning procedureHieu Huynh1-2/+38
BMC shall assert SPECIAL_BOOT GPIO to the CPU to trigger Host Secure Provision. Then BMC shall reset the system, or turn on the system if it is being OFF. After the host enters Provisioning Boot Mode successfully (or having failure), BMC shall deassert the SPECIAL_BOOT GPIO to LOW. Tested: 1. Flash HostFW with PASS case. - $ ampere_flash_bios.sh spinor.img 1 1 - Host boot with logs: [00:00:00.248,000] <inf> scu_stat: is_special_boot() = 1 [00:00:00.383,000] <inf> SECpro_cert_ext: Assert FW_BOOT_OK [00:00:00.383,000] <inf> SECpro_cert_ext: Deassert FAULT_ALERT [00:00:00.383,000] <inf> SECpro_cert_ext: SEC provision completed \ successfully 2. Flash HostFW with FAULT case. - $ ampere_flash_bios.sh spinor_fault.img 1 1 - Host boot with logs: [00:00:00.253,000] <inf> scu_stat: is_special_boot() = 1 [00:00:00.388,000] <err> SECpro_cert_ext: Invalid version cert 0.0 [00:00:00.388,000] <inf> SECpro_cert_ext: Assert FW_BOOT_OK [00:00:00.388,000] <err> SECpro_cert_ext: SEC provision failed [00:00:00.388,000] <err> SECpro_cert_ext: Sending error on \ FAULT_ALERT 3. Turn off the Host, flash HostFW with PASS case. After flash done, Host boot with logs is the same with step #1. Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com> Change-Id: I546c7ffd80474edf6165e67f1b96eacbedcd0939
2023-07-28meta-ampere: gpio: various fixesThang Q. Nguyen4-19/+1
Remove unused service files and add missing call for ampere-host-reboot@.service. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: If25d92343a23c313705213fba8f13446dcdb933e
2023-07-24meta-ampere: mtjade: buttons: enable warm-reboot optionThang Q. Nguyen1-0/+3
Enable reset-button-do-warm-reboot to configure the reset button to trigger SYSRESET GPIO when released. Tested: 1. Turn ON the Host. 2. Press and release the reset button. Check if the Host is reset while Host power is still ON Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Ife26183fa39f6dcbbb4b6e0aec30163ced257a35
2023-07-06meta-ampere: gpio-monitor: move services to meta-commonThang Q. Nguyen7-11/+11
Move services that are used across Ampere platform to meta-ampere/meta-common to prevent duplicate codes. Tested: 1. Compile Mt.Jade and Mt.Mitchell without error. 2. From Host OS run 'reboot' command and check if the BMC handles correctly. 3. From Host OS run 'shutdown' command and check if the BMC handles correctly Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I678d9a19fea0a531ad59d54ea9386cb177af18c6
2023-06-09meta-ampere: mtmitchell: ipmi: support on-board sensor reportHieu Huynh9-4/+779
Support to report sensor information via IPMI for on-board sensors Tested: 1. Check sensor report using IPMI sdr command: $ ipmitool sdr list OutletTemp | 28 degrees C | ok Psu1InletTemp2 | 32 degrees C | ok PcieZoneTemp1 | 30 degrees C | ok Psu0InletTemp2 | 29 degrees C | ok PcieZoneTemp2 | 28 degrees C | ok Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com> Change-Id: Ia38519c79596f65f780fe105ee25e8890825a44f
2023-06-09meta-ampere: mtmitchell: add some helper utilsThang Q. Nguyen8-15/+626
Add some help scripts to help users easier to debug systems from BMC console. Tested: 1. New helper scripts are available from BMC console. 2. Manually check script execution Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Ibe93547d1299768ae8d67440f161c86c29dbb61e
2023-06-09meta-ampere: mtjade: fan: fix warning when BMC rebootChau Ly1-1/+5
Below messages are displayed during BMC reboots: mtjade (speed.sh)[710]: phosphor-fan-control@0.service: Failed to locate executable /usr/bin/ampere_set_fan_max_speed.sh: No such file or directory. mtjade (speed.sh)[710]: phosphor-fan-control@0.service: Failed at step EXEC spawning /usr/bin/ampere_set_fan_max_speed.sh: No such file or directory This commit fixes the issue by updating phosphor-fan configuration file to properly install ampere_set_fan_max_speed to /usr/bin/. Tested: 1. Reboot BMC --> no above warning displayed Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: I5e630e320cf7d05ed33ea54e28ef98495d88f9a1
2023-06-09meta-ampere: mtmitchell: Enable IPMI over NCSI interfaceChanh Nguyen1-0/+7
This commit configures the phosphor-ipmi-net to support IPMI via NCSI/eth1 interface. Tested: 1. Plug the NCSI card, boot the BMC and get its IP. 2. Check if IPMI can be reproted via eth1's IP: ipmitool -I lanplus -H NCSI_IP -C 17 -U root -P 0penBmc mc info Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> Change-Id: Ib5b26cd0e4e82214234bce49272ed767cfba50d3
2023-06-08meta-ampere: hostlogger: configure SOCKET_ID to defaultChau Ly2-2/+2
The obmc-console application now uses "\0obmc-console.default" as the default socket name for a console server. This commit updates hostlogger's ttyS0 port to use SOCKET_ID=default to adapt the requirement. Tested: 1. Check no hostlogger error message from journal log. 2. Check WebUI's SOL console works well. Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: I8767a6c01922f4aaf074031cfb8a4dacc1889ab0
2023-06-06obmc-console: Convert configs from socket-id to console-idAndrew Jeffery20-20/+20
As of 9a8f30ec5b58 ("obmc-console: Introduce console-id, deprecate socket-id") in obmc-console `console-id` is preferred over `socket-id`. Convert all in-tree configurations to `console-id` to enable removal of support for the deprecated `socket-id` configuration option. Change-Id: Ifd50603c378cfed5eb793b829b8296b7964e4194 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2023-05-29meta-ampere: fix postinstall scriptlets errorThang Q. Nguyen2-6/+0
Fix compilation error after subtree update: ERROR: obmc-phosphor-image-1.0-r0 do_rootfs: Postinstall scriptlets of ['ampere-sysfw-hang-handler'] have failed. If the intention is to defer them to first boot, then please place them into pkg_postinst_ontarget:${PN} (). Deferring to first boot via 'exit 1' is no longer supported. Tested: 1. Compile Mt.Jade and Mt.Mitchell without error 2. Check ampere-boot-progress and ampere-sysfw-hang-handler work. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I5d692cb4078df05ac20ace34429463ea4e9c18ca
2023-05-12meta-ampere: state: enable checkACLoss while recoveringThang Tran1-0/+1
Commit phosphor-state-manager@e960184 corrects the code logic that relates to only-run-apr-on-power-loss option build. Users have to set only-run-apr-on-power-loss=true to enable checking AC loss while recovering Host. This commit enables this option. Tested: 1. Set chassis policy to always-on. $ipmitool chassis policy always-on 2. Power off the HOST $ipmitool power off 3. AC power. 4. Host is turned on after BMC has been rebooted 5. Set chassis policy to always-off. $ipmitool chassis policy always-off 6. Power on the HOST $ipmitool power on 7. AC power. 8. Host is turned off after BMC has been rebooted 9. Set chassis policy to previous $ipmitool chassis policy previous 10. Power off the HOST $ipmitool power ff 11. AC power. 12. Host is turned off after BMC has been rebooted 13. Power on the HOST $ipmitool power on 14. AC power. 15. Host is turned on after BMC has been rebooted Change-Id: Ic7bdcdfebc0df415232fc2677e464cca3f341366 Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
2023-05-12meta-ampere: ipmi: disable dynamic-sensorsThang Q. Nguyen1-3/+0
Both Mt.Jade and Mt.Mitchell platforms use yaml to declare IPMI configuration, not dynamically calculated via entity-manager's minValue and maxValue. So, having dynamic-sensors enabled by default is not correct. Instead of enabling dynamic-sensors for ipmitool fru print to use information from EM, should add more option for this feature instead. Tested: 1. Verify if ipmitool sdr list can report sensor information correctly Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I3d7d4a692e059367e9edea38a6230b4a2112d602
2023-05-12Revert "Add socket-id for the first console"Andrew Jeffery2-2/+2
This reverts commit ec7cab9378f548e94ee4af83946b2583d1fc7194. ec7cab9378f5 ("Add socket-id for the first console") was only a partial fixup of the obmc-console configurations found in the tree. For historical reasons not all platforms that support multiple consoles install a client configuration file for all consoles. Instead they relied on some default behaviour that was removed in obmc-console's 4e7186918599 ("Fixed broken dbus interface for multiple consoles"). Applying the configuration changes in the manner of ec7cab9378f5 ("Add socket-id for the first console") resulted in an asymmetric configuration between the client and server, breaking some SSH SOL instances. As of ae2460d0b8e8 ("obmc-console: Provide a default value for `console-id`.") in obmc-console the requirement to specify `socket-id`[^1] is lifted. Instead, the configuration can choose to override a default value. This restores the original behaviour and unbreaks SSH SOL. [^1]: Now an alias of the `console-id` configuration key Websocket and IPMI consoles remain broken. A fix is under development that also takes a proper approach to supporting multiple consoles in bmcweb, and the same solution pattern can be applied in ipmid. More discussion of the problems involved can be found here: https://amboar.github.io/notes/2023/05/08/happenings-in-obmc-console.html Change-Id: I274284c791758f336da6d6301dc523bac2b5dd69 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2023-05-11meta-ampere: move ipmi config to commonThang Q. Nguyen4-178/+1
The same channel_config.json and power_reading.json are used across Ampere platforms so move to meta-ampere/meta-common to avoid duplicate. Tested: 1. Check if "ipmitool lan print 1/2/3" works. 2. On Mt.Jade, check if "ipmitool dcmi power reading" works Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I77f401d0b74455c3951fb746f8bea2ddb1c3667b
2023-05-10meta-ampere: obmc-console: various fixesChau Ly3-28/+12
obmc-console configurations are missing some service appending, this commit adds these. Remove socket connection check in ampere_uartmux_ctrl.sh for meta-jade because no socket file is used now in obmc-console. Tested: $ ampere_uartmux_ctrl <uart_port> <mux> Can successfully switch between console header and BMC for host uart ports $ ssh root@<BMC_IP> -p <client_port> Can successfully connect to host console uarts Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: Iaa0c4d8f9045fc94f6f50822516aaac0b99f088e
2023-05-10meta-ampere: ac01: fix boot progress service warningThang Q. Nguyen1-2/+0
Fix below warning when starting the ampere-boot-progress.service service: [ 12.365381] systemd[1]: /lib/systemd/system/ampere-boot-progress.service:7: Failed to parse service restart specifier, ignoring: simple Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I0b7aa013b27e23f995745f7a5bebbaa39024eea2
2023-05-08meta-ampere: mtmitchell: use power cycle for reset actionsThu Nguyen4-2/+35
AmpereOne POR recommends to use power cycle instead of SYS_RESET for reset actions. This commit changes REBOOT_ACK handling and warm reboot to use power cycles. Tested: 1. "ipmitool power reset" when the host is on power action should similar "ipmitool power cycle". 2. "ipmitool power reset" when the host is off, power action should be bypassed. 3. In host os call "reboot", the power action should be power off then power on (without softoff action before power off). 4. Call "GracefulRestart" and "ForceRestart" from redfish when the host is on the power action should be similar "power cycle" 5. Call "GracefulRestart" and "ForceRestart" from redfish when the host is off, power action should be bypassed. 6. Press "reset" button in the chassis will cause power off then power on the host. Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I759623b68018b05d758b181936e0d4624eb03d94
2023-05-08meta-ampere: add fault monitor supportThang Q. Nguyen11-0/+1031
Support to detect GPIO, PSU, FAN, ... faults and turn ON/OFF fault LED. Tested: 1. Unplug a PSU and check if Fault LED is turned ON. 2. Unplug a FAN and check if Fault LED is turned ON. 3. Stimulate GPIO fault pattern and check if the BMC can detect Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com> Signed-off-by: Quang Nguyen <quangn@amperecomputing.com> Change-Id: Idfcd32953cf811fbe9299a162f604cb8fd028962
2023-05-04Update to libpam 1.5.2Joseph Reynolds6-53/+16
This updates to libpam 1.5.2. This version removes support for pam_cracklib and pam_tally2. They are replaced by pam_pwquality and pam_faillock respectively. Since parameters of pam_cracklb and pam_tally2 are configurable through Redfish, it's possible that they will remain in the overlay of /etc/pam.d with the old module names preventing PAM from working correctly. To avoid this, this commit includes a script that will detect if the old modules are in the overlay and update the overlay with the new modules and configuration. The script will allow updates from libpam 1.3.1 to libpam 1.5.2, but if there are configured parameters during a downgrade from libpam 1.5.2 to libpam 1.3.1, it will require a factory reset before the downgrade. pam_pwquality was selected over pam_passwdqc because of better security and compatibility with pam_cracklib. Note pam_faillock is necessarily configured into the pam module stack differently than pam_tally2. This patchset causes a BMC operational change: - The pam_tally2 command (invoked from the BMC's command line) is no longer present. If you used the "pam_tally2 -u USER -r" command to unlock a user after repeated authentication failures, change to use: faillock --user USER --reset Compatibility note / migration issue. If your BMC cannot authenticate users after installing this change, the cause might be an overlayfs file hiding the new /etc/pam.d/common-auth file. To find out, use `grep deny= /etc/pam.d/common-auth` on your BMC. If it shows "tally2" then your BMC is affected. The recovery is to delete the overlay file, to factory reset the BMC, or manually-install the changed files. The convert-pam-configs service is intended to handle this problem. Tested: as follows, for local users only (not tested with LDAP) Note OpenBMC configuration defaults to an AccountLockoutThreshold value of 0 which does not lock account passwords no matter how many consecutive failed authentication attempts. To configure this on the BMC, for example, use: curl -X PATCH https://${bmc}/redfish/v1/AccountService -d '{"AccountLockoutThreshold": 3, "AccountLockoutDuration": 60}' Tested update scenarios: 1. Install from scratch. Success. 2. Install over firmware which had old PAM configs. Success. Tested update scenarios for the convert-pam-configs service. Tested changing the password via various interfaces: - the passwd command - the PATCH Refish AccountService {Password: NEW} - SSH (accessible only when the password is expired) - IPMI user set password (accessible for unexpired password) Tested both good and bad (unacceptable) passwords. Tested account lockout after N bad passwords Tested unlock via Redfish. Also, because its implementation changed, ensure reading and writing the D-Bus User AccountPolicy RememberOldPasswordTimes property continues to work. There is no Redfish API for this. Signed-off-by: Joseph Reynolds <joseph-reynolds@charter.net> Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com> Change-Id: I7b712cf7cfbf7b0bc79da42f822540baee66ca4f
2023-04-21Add socket-id for the first consoleNinad Palsule2-2/+2
This drop adds socket-id for first console. This was left out before but with the new design this parameter is required and enforced by obmc-console code. It is decided to set "socket-id = console0" initially because that is the current path used by bmcweb but in future you can change this value to whatever is appropriate. The console information is now available through the DBUS interface. Each console server register it's object path on DBUS. The leaf node of the object path is used to create a console path. For example in the following console0 the leaf node "console0" is used to make up the console path and the GUI will use console path "/console/console0" to connect to the console. busctl tree xyz.openbmc_project.Console.console0 `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/console `-/xyz/openbmc_project/console/console0 Here is a discord thread where new design was discussed. https://discord.com/channels/775381525260664832/1083551792094249051 Tested: Tested on the rainier system. Related commits: 1) phosphor-dbus-interface: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/61486 2) obmc-console: https://gerrit.openbmc.org/c/openbmc/obmc-console/+/62496 3) bmcweb: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/62525 Change-Id: I5fd06f3aac69872a3e5032d592a9b59711795cfe Signed-off-by: Ninad Palsule <ninadpalsule@us.ibm.com>
2023-04-21meta-phosphor: obmc-console: Convert recipe to mesonAndrew Jeffery2-2/+2
Upstream obmc-console now supports the meson build system. I consider the autotools build system deprecated and intend to remove it. Change-Id: Ic8eea195bee0b3bea1cb9418593596ce1aaceeae Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
2023-04-21meta-ampere: usbnet: explicit configure usb0 as static IPThang Q. Nguyen1-0/+1
usb0 is a virtual USB Ethernet which is configured to static IP 192.168.0.10 in /etc/systemd/network/00-bmc-usb0.network without DHCP parameter with expecting that DHCP=no. However, IPMI and Redfish report IP source as DHCP, not static. This commit explicitly specifies in network configuration as DHCP=no so that IPMI and Redfish report correctly. Tested: 1. Check address source for usb0 via IPMI # ipmitool lan print 3 | grep "IP Address Source" IP Address Source : Static Address 2. Check address source for usb0 via Redfish Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Id14bfc289da6d36552bd37448ec1e4c30ff32a0a
2023-04-18meta-ampere: shellcheck: fix up source locationsChau Ly1-1/+1
This commit fixes shelllcheck source in ampere_uartmux_ctrl.sh to point to the exact source path. Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: I38d92582bb7783b18ff19fb8ae5e5abe0c1e3d44
2023-04-18meta-ampere: mtjade: Refactor obmc-console setupChau Ly19-192/+90
This commit refactors obmc-console setup for mtjade Tested: 1. Successfully connects to host consoles via ssh sol $ ssh root@${bmc} -p 220* 2. Successfully connects host consoles via ipmi sol $ ipmitool -I lanplus -H ${bmc} -U root -P 0penBmc \ -C 17 sol activate 3. All the host console logs are in /var/log/ Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: Ie01361139644f5836646d1d98934cda52828ec70
2023-04-18meta-ampere: mtmitchell: Refactor obmc-console setupChau Ly25-249/+83
This commit refactors obmc-console setup for mtmitchell Tested: 1. Successfully connects to host consoles via ssh sol $ ssh root@${bmc} -p 220* 2. Successfully connects host consoles via ipmi sol $ ipmitool -I lanplus -H ${bmc} -U root -P 0penBmc \ -C 17 sol activate 3. All the host console logs are in /var/log/ Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: Ia1e6faaa4757e8f478352fd03ed977beeac15200
2023-04-17meta-ampere: shellcheck: fix up source locationsPatrick Williams11-25/+15
Many scripts in meta-ampere had `shellcheck source=/dev/null`, which isn't as useful as putting the real sourced script. Fix up all of these in the meta-layer to point to the right script, which as a side-effect allow a few global-disables to be removed. Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Icb43dc76a19edbdada8b4caa6ced57ff07f42d27
2023-04-17meta-ampere: mtjade: reduce number of hash cycles for default passwordThang Tran1-0/+7
Issue: When users execute power cycle via out-of-band IPMI command, they can not execute other out-of-band IPMI commands. The issue is reproduced as below. Step 1: ipmitool -H <BMCIP> -U root -P 0penBmc -C 17 -I lanplus chassis \ power cycle > Chassis Power Control: Cycle Step 2: ipmitool -H <BMCIP> -U root -P 0penBmc -C 17 -I lanplus chassis status > Error: no response from RAKP 1 message > Error: Received an Unexpected RAKP 2 message > Error: no response from RAKP 1 message > Error: Received an Unexpected RAKP 2 message > Error: no response from RAKP 1 message > Error: Received an Unexpected RAKP 2 message > Error: no response from RAKP 1 message > Get HPM.x Capabilities request failed, compcode = d4 > Get Device ID command failed > No valid response received > Unable to get Chassis Power Status Root cause: When users execute out-of-band IPMI commands, OpenBMC has to execute PAM authentication. BMC is using SHA512 algorithm to calculate hashed value with default number of rounds (5000 times). When users request "power cycle", many tasks have to be executed, therefore, CPU does not have enough resource to complete the calculation SHA512 for other requests on time. Solution: Update the salted of default password (0penBmc) to specific number of rounds. The number of rounds is the minimum value of SHA512 algorithmi (1000 times) to reduce SHA512 calculation time. The value is generated from command 'openssl passwd -6 -salt rounds=1000\$UGMqyqdG 0penBmc'. Tested: 1. Request power cycle "ipmitool -H <BMCIP> -U root -P 0penBmc -C 17 -I lanplus chassis power cycle" > Chassis Power Control: Cycle 2. Request read power status immediately "ipmitool -H <BMCIP> -U root -P 0penBmc -C 17 -I lanplus chassis status" > Chassis Power is on Change-Id: I260f52413d9ad0ae4ef73fb8466c4460c0365ea6 Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
2023-04-16meta-ampere: ssifbridge: use drop-in to switch bmc-okThang Q. Nguyen5-21/+23
Instead of overwriting ssifbridge.service to set bmc-ok, use systemd drop-in units instead. Tested: 1. Stop ssifbridge.service service, check if bmc-ok is 0. 2. Start ssifbridge.service service, check if bmc-ok is 1. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I36e065ed84c4c8aa154996d9a31cfc21d0ab5657
2023-04-16meta-ampere: ac01: boot-progress: update dimm training fail logThang Q. Nguyen4-4/+201
This commit is to log DIMM training fail information in case DDR initialized is fail. Tested: Inject DDR error and verify with Redfish and/or sel log: 1. IPMI chassis power off 2. tweak nvparam to inject DDR error 3. IPMI chassis power on 4. Read sel log and/or Redfish to confirm correct DDR event is logged Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: I2a87c9b775faf17b8112d08eff4df44286a444bc
2023-04-16meta-ampere: mtmitchell: fix Host is powered OFF when BMC rebootsThang Q. Nguyen1-0/+43
When BMC is rebooted, because PSON_L has pull up to P3V3_STB, it changes its value to HIGH which causes the Host is turned OFF. Add code to check P3V3_STB and recover PSON_L to correct state before setting BMC_RDY. Tested: 1. Turn ON the Host 2. Run BMC reboot stress test and check if the Host is still ON Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Ic1e3a403d2833b3549fa4f08dcce21a27d8e2308
2023-04-14meta-ampere: fix up new shellcheck warningsAndrew Geissler1-2/+1
New docker container is flagging some issues in this shell script: ``` Command appears to be unreachable. Check usage (or ignore if invoked indirectly) ``` Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I1a64d3d6663812bfde2404fded05cfcae7b81a1c
2023-04-10meta-ampere: remove env call from service fileThang Q. Nguyen14-14/+14
We are suppose to use direct executable calls in service files rather than indirections through /bin/env (See Anti-patterns). Tested: - Check related services to work like before Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Idb494ce781fa1bdcac176cd89612e6016e6e04d9
2023-04-03meta-ampere: mtmitchell: handle HIGHTEMP eventsChanh Nguyen5-0/+35
Handle HIGHTEMP assert/deassert GPIO events for both socket 0 and socket 1. Tested: 1. Stop fan monitor service 2. Stress CPU HOST stress-ng.sh 600 5 max 100 4. Wait for S0_SOC_Pkg_Temp exceeds 105 degree and check for event. 5. Turn OFF CPU stress and wait for S0_SOC_Pkg_Temp goes below 105C. Check for deassert event Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> Change-Id: I7f2528b50c9a04e7c5ccbf56e9d2e04555351bba
2023-03-27treewide: switch '/usr/share' to datadirPatrick Williams2-2/+2
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I8ea79d284356629f5b7b24ad3a99336e9e2e297e
2023-03-27meta-ampere: mtjade: handle HIGHTEMP via multi-gpio-monitorThang Q. Nguyen10-51/+23
Change to handle HIGHTEMP event via multi-gpio-monitor application, replacing ampere-gpio-handling. Tested: 1. Stop fan monitor service 2. Stress CPU HOST stress-ng.sh 600 5 max 100 3. Wait SOC Temp goes over 105 degree. 5. Check for HIGHTEMP event log. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Ia6b34c7d1d7b458e6db60ca79a7a091e19ecaf06
2023-03-15meta-ampere: phosphor-fan: Use monitor package configurationsChau Ly1-0/+8
This commit enables package configurations delay-host-control=20 and monitor-use-host-state, in order to delay and rescan before turning host off when fan sensors are not detected after power state changes from Off to On; and use CurrentHostState to decide host state for phosphor-fan-monitor instead of pgood state. Tested: 1. Host is ON, reboot BMC => Host is not turned off unexpectedly during BMC boot up 2. Power cycle host => fan sensors are not marked as non-functional Signed-off-by: Chau Ly <chaul@amperecomputing.com> Change-Id: Iea6ed195a42e41bee23066e670b67c19bcfda722
2023-03-08meta-ampere: mtjade: update IPMI sensor configurationThang Q. Nguyen1-15/+259
Update Mt.Jade IPMI sensor configuration via the latest SDR Definition. Tested: 1. Run 'ipmitool sensor list' and check if reported sensor information is correct. Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com> Change-Id: Id41c1a40070edf5c09f843a5d9b93e0b9d4f35d2