Ampere OpenBMC v.2.01.100
Pre-release
Pre-release
·
7385 commits
to ampere
since this release
What's New in v2.01.100
-
Rebase OpenBMC codebase at upstream commit c740336 and Linux kernel 5.15.50
-
Change power control operations via IPMI, Redfish and IPMI to compatible to
https://github.com/openbmc/docs/blob/master/designs/state-management-and-external-interfaces.md -
Add initial support for AmpereOne (TM) Mt. Mitchell non-DC-SCM BMC based on Aspeed AST2600 with the following features:
- Support U-boot version 2019.14
- Support Out-of-band Redfish for common schema. Refer to Ampere OpenBMC Redfish API Specification
- Support Out-of-band IPMI 2.0
- Support in-band IPMI via SSIF
- BMC firmware update via WebUI and Redfish
- Support Host UEFI, BSD (EEPROM) firmware update via Redfish and WebUI.
- Support shell utilities to run from BMC console:
- ampere_flash_bios.sh: flash Host UEFI firmware
- ampere_firmware_upgrade.sh: flash BSD (EEPROM) firmware, backplane and MB CPLD firmware and FRUs.
- nvparm: update Host NVPARM
- ampere_fanctrl.sh: manually control FANs
- Generate BMC Heartbeat after BMC boots complete.
- Support Automatic FAN Speed Control based on Processor Temp
- Support FAN Failure detection that report Fault to Redfish
- Support Ampere IPMI OEM commands:
- Sync RTC Time
- Set BMC MAC Address
- Get Fan Speed Control Override Status
- Set Fan Speed Control Override
- Set Fan Speed
- Support USB Ethernet
- Support on-board and PSU, chassis sensors.
- Support Host CPU Sensor via MCTP/PLDM
- Support OCP_Temp sensors for Mellanox X5 (still not work with other OCP adapters)
- Initial support PLDM RAS event report for Core, MCU, PCIe (no AER) and SoC
Note: just only report error type like SOC UE, SOC CE but no detail information. - Support Power and Reset buttons
- Support VirtualMedia and KVM.
- Support MB and BMC FRU via IPMI fru print command.
- Support read GUID in MB FRU and use it for IPMI mc guid and Redfish
- Support read BMC MAC Address from BMC FRU and use for BMC Ethernet (RGMII port)
- Support BMC cold reset.
- Support generate and upload SSL certificate via WebUI
- Support Power Loss Policy.
- Support Ampere Secure Encryption policy: sha512 password hash, HTTPS, IPMI encryption CS17 only
- Support SOLSSH for console ports on Socket 0.
- Support IPMI sol for Host CPU console.
- Support IPMI sel list/clear command (currently just sensor threshold violation event logged)
-
[mtjade] support OSRunning from BootProgress status and Redfish LastState's OSRunning.
-
[mtjade] support turn ON Fault LED when fan failure.
Known Issues
-
Common Issues:
- WebUI fails to configure DHCP from static IP.
- BMC rejects flashing of the same firmware image again, even into different devices (i.e. main vs secondary SPI-NOR)
Workaround: edit MANIFEST file to use different Version string - Fail to mount VMedia from WebUI
-
Mt.Mitchell Issues:
- Sometimes after multiple host power cycles or resets, the PLDM service might become unresponsive. When this happens,
host sensors cannot be retrieved and ipmi sdr list shows them as disabled.
Workaround: Issue a “systemctl restart pldmd.service” to recover. - Host power cycle/reset fails if the Host uses SPI NOR part is25wp512m
Root Cause: 3/4-byte address switching does not work yet with this part.
Workaround: do A/C power instead - Unexpected SEL is logged to Redfish after reboot CPU and AC power cycle
- Sometimes after multiple host power cycles or resets, the PLDM service might become unresponsive. When this happens,
Steps to update BMC firmware
Mt. Mitchell
- Reboot BMC from its console. Type quickly to keep BMC stop at u-boot.
- Disable watchdog timer
# mw.l 0x1e620064 0x0
- Set BMC MAC Address
# setenv ethaddr xx:xx:xx:xx:xx:xx
- Get the IP address from the Dynamic Host Control Protocol (DHCP) server or set static IP
# dhcp
- Set the Trivial File Transfer Protocol (TFTP) server IP address
# setenv serverip # setenv serverip <tftp-server-ip-address>
- Download the BMC firmware (in mtd format) to BMC via tftp
# tftp 0x80000000 <BMC static.mtd from TFTP server>
- Flash firmware for the MAIN SPI-NOR device
# sf probe 0; sf protect unlock 0 $filesize;sf erase 0 $filesize;sf write 0x80000000 0 $filesize
Mt. Jade
- Reboot BMC from its console. Type quickly to keep BMC stop at u-boot.
- Update ethact and set BMC MAC address (if not available)
# setenv ethact FTGMAC100#1
# setenv eth1addr xx:xx:xx:xx:xx:xx
- Get the IP address from the Dynamic Host Control Protocol (DHCP) server or set static IP
# dhcp
- Set the Trivial File Transfer Protocol (TFTP) server IP address
# setenv serverip <tftp-server-ip-address>
1.Download the raw BMC firmware (in img format) to BMC via tftp
# tftp 0x80000000 <bmc-image>
- Flash the firmware image into the main SPI-NOR
# protect off 0x20000000 +${filesize}; erase 0x20000000 +${filesize}; cp.b 0x80000000 0x20000000 ${filesize};protect on all
- Reboot to boot to new OpenBMC
If you don't have access to BMC console, an alternative is as follows:
- Copy BMC raw image (static.mtd) to BMC at /run/initramfs/image-bmc
e.g.scp build/tmp/deploy/images/mtjade/obmc-phosphor-image-mtjade.static.mtd root@${BMC_IP}:/run/initramfs/image-bmc
- Reboot BMC to flash the new firmware.