Age | Commit message (Collapse) | Author | Files | Lines |
|
Change to implement virtual USB Ethernet using phosphor-misc's usb-ctrl.
Tested:
1. Boot BMC to Linux. Login and check if usb0 ethernet interface exists.
2. Power ON the Host. Check if usb0 automatically sets its IP to
192.168.0.10
3. Restart the ampere-usbnet.service service. Check if no error happens.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I4de722a691a112db851b6dda0a7821b9f78b4d72
|
|
Fix all issues from the shellcheck checked on bash shells under
meta-ampere.
Tested: Verify the following features:
1. Power control (on,off, cycle, graceful shutdown, hard reset).
2. UART switching.
3. UEFI firmware update.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Idabf839b7521ecadb642230cc8bb3472c787002e
|
|
The obmc-system-mgmt feature is currently used in the image to trigger
inclusion of a virtual-provider which provides a number of packages many
systems need. Partially revert the removal of this feature so that
the outcome is:
1. The empty obmc-phosphor-sysd package is still removed.
2. By default the 'obmc-system-mgmt' feature is included, unless
specifically exempted.
3. All EVB platforms remove the 'obmc-system-mgmt' feature since
they have no system they are managing.
This partially reverts commit 060ad3ff7fcc30aff78a9e504efee9d8fa0d4526.
Tested:
* Built `bletchley` and confirmed `packagegroup-fb-apps-system` and
`entity-manager` are present.
```
entity-manager armv7ahf-vfpv4d16 0.1+git0+6bf41588ab-r0
packagegroup-fb-apps-system all 1.0-r1
```
* Built `witherspoon` and confirmed `packagegroup-op-apps-system` and
`pdbg` are present.
```
packagegroup-op-apps-system noarch 1.0
pdbg arm1176jzs 3.3
```
* Ran `bitbake -p` on `evb-ast2600` to confirm the undefined
`virtual-obmc-system-mgmt` is not being included in the image.
Change-Id: I8b7804d5101cc84a2c57473b3f85672bf7767c67
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
|
Every machine layer treats 'system-management' as either part of a
package-group or removes the feature. The sample implementation in
meta-phosphor is a do-nothing shell script (and up until recently was a
Python script). There appears to be no useful purpose to this feature
as a stand-alone concept, so remove it.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I20ca1fa8ff3cb01cac2d07d4ded84e0769e4514b
|
|
Manojkiran Eda (1):
Add OWNERS file
Change-Id: I60701ca35fc2027fa31db97029d846f9efacc31c
Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com>
|
|
Adds the ampere-ipmi-oem.bb file to support ampere-ipmi-oem features.
Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>
Change-Id: I869a3e73573dd43103b52640ef3ac2d1912280dc
|
|
There are some redundant codes inside meta-mtjade:
- ampere-reset-host-check@.service: no longer be used.
- redundant :mtjade in phosphor-software-manager_%.bbappend
- Incorrect GPIO function call in ampere_platform_init.sh
This commit fixes the above issues.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Iadde88ba6472815556a2c0839c1e3e127c2a04d4
|
|
FruDevice service is always running no matter if entity-manager is used
or not. It scans for all FRU EEPROMs, parse and store information into
dbus.
This commit changes to get BMC MAC Address from FruDevice data instead
of ipmi-fru-parser.
Tested:
1. Clear environment in u-boot, boot BMC to Linux and check if the
eth1addr variable is set with value from FRU.
2. Change BMC MAC address from FRU's Board Extra. Reboot BMC and check
if the eth1addr variable is set with new BMC MAC Address
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I99b5d46c8a22b98402f749cdebd1c0aad3d6daf0
|
|
Enable support for smbios-mdr using IPMI BLOB transport protocol,
and disable the cpuinfo feature.
Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>
Change-Id: I0ed7ff78ba3910ab60018e0b8f55b14a22fcbb2a
|
|
Support a wrapper script to detect the Host firmware image by checking
the ExtendedVersion field from the MANIFEST file to flash into
the appropriate device components. The supported image type include:
- ExtendedVersion=secondary: flash to secondary Host SPI-NOR
- ExtendedVersion=scp-primary: flash to primary Boot EEPROM
- ExtendedVersion=scp-secondary: flash to alternative Boot EEPROM
- ExtendedVersion=fru: write to the FRU EEPROM.
Tested:
1. Flash UEFI firmware into the primary Host SPI-NOR via WebUI
2. Flash UEFI firmware into the secondary Host SPI-NOR via WebUI
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: I7dff2ca0f8b9de85c2cbac1a49d04b6e14721a03
|
|
Disable this option to does not support TFTP firmware update as it is
an unsecured protocol.
Tested:
1. On Webui, Configuration -> Firmware. No more option TFTP server on
Update firmware.
Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>
Change-Id: I8cb3285154b62ac2ee026485ad3f1d9d9586a016
|
|
The patch to support flashcp offset parameter is fail to apply because
of new mtd-utils revision. This commit updates the patch to resolve the
compilation warning on apply failure.
Tested:
1. Compile Mt.Jade OpenBMC without warning about mtd-utils.
2. Flash EDKII firmware using ampere_flash_bios.sh and check Host boots
successfully.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I9026ac5bafc07ee5eff7efdf7890d0eef2161c52
|
|
Upstream bbclasses changed to typically use the `:${PN}` override
syntax, including the SYSTEMD_ variables. Change our systemd.bbclass
to do the same for consistency and perform a tree-wide variable
replacement.
Spot checked by building bletchley and witherspoon and checking
some of the SYSTEMD_LINK directives on installed packages under qemu.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I20a9dd809bff8af8759488734f80486c7228c6eb
|
|
Enable rsyslog to save IPMI SEL event into /var/log/ipmi_sel.
Tested:
1. Log IPMI SEL event using xyz.openbmc_project.Logging.IPMI
2. Check /var/log/ipmi_sel for the new entry
root@mtjade:~# cat /var/log/ipmi_sel
2021-09-01T09:23:49.022943+00:00 1,c0,3ACD000FEB00000000000000,,,
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ic02a6166498251ed1e84a56e4847f465a069c872
|
|
Make the following changes to fix compilation errors:
1. Add honister to LAYERSERIES_COMPAT
2. Increase CONF_VERSION to 2.
3. Fix mistake on previous change on Yocto syntax update.
Tested:
1. Compile OpenBMC for Mt.Jade without error.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I5ac3f568d776109955759fab78844b1d38a51af1
|
|
Run convert-overrides.py meta-ampere and update missing changes as
below:
- Change all _mtjade to :mtjade
- Change all _${PN} to :${PN}
Tested:
1. Check compilation without problem.
2. Check basic functions like switch UART mux, power control.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I42038b2a98ed1951d6c770bdf49f5fc440f8163e
|
|
When BMC boots, phosphor-host-check uses the software interfaces(IPMI
inband Hearbeat command or PLDM interface) to verify the host state
and creates the host on indicator file. Ampere Altra SoCs do not
support those software interfaces. They use the GPIO interface. GPIO
pin S0_FW_BOOT_OK go high when the host is on. This commit appends
ampere-reset-host-check@.service to phosphor-state-manager This
service will replaces the role of phosphor-reset-host-check@.service.
Tested:
1. Boot up BMC with the host is off/on.
2. Verify the CurrentHostState.
Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com>
Change-Id: Ie4f73538266fff7d8c5fd40b437ffebc82cb12c5
|
|
When phosphor-state-manager handles the power action to turn on the
host, phosphor-state-manager does not use the software interfaces to
verify the host state. It set the host state to running after all of
required services of the power action target are done. The power on
watchdog is used to verify the host state and handle the failure in
the host state changing. But Mt.Jade platforms do not handle power on
watchdog. This causes the CurrentHostState dbus property is Running
before the host is ready.
In Mt.Jade platform, the SCP drives S0_FW_BOOT_OK to high when the
host is already on. This GPIO can be used to identify the host state.
One service should be added to the required list. This service checks
the host state in power on and triggers obmc-host-quiesce@%i.target
when the host is failed to boot. ampere-host-check package adds
ampere-host-on-host-check@.service for that purpose.
Tested:
1. Boot up BMC with the host is off/on. Check CurrentHostState.
2. Call Ipmitool power off/on. Check the CurrentHostState.
3. Call Ipmitool chassis power off/on. Check the CurrentHostState.
4. Call Ipmitool power cycle. Check the CurrentHostState.
5. Call Ipmitool chassis power cycle. Check the CurrentHostState.
6. Power off the host. Set power policty to Always-on. AC power.
The host should be on. And CurrentHostState should be Running.
7. Power on the host. Set power policty to Always-off. AC power.
The host should be off. And CurrentHostState should be Off.
Change-Id: I9b0b346883a5f0203bf078453065c18ae4603311
Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com>
|
|
ampere-hostctrl package includes the generic codes and the platform
specific codes. The generic sources are applied for all of the Ampere
platforms, they are the service files and the scripts to setting the
GPIO pins. The platform specific sources are the GPIO pin config file
and the gpio monitor config files.
This commit moves the platform specific files to the platform code.
Tested:
1. Do the power control actions use ipmitool, BMC web and Redfish.
2. Make sure the server states are changed as expected.
Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com>
Change-Id: Ic0e261109f7a5dfaf38c883bff0afedab763a0b6
|
|
Refactor the Mt.Jade Host power control operations to support Altra
CPU following the Altra SoC BMC Interface specification which still
satisfying the OpenBMC power control framework.
Tested: check the below cases and ensure Host state report correctly:
1. Run "reboot" from Host Linux. Check the Host is graceful
shutdown, then SYS_RESET is asserted and the Host is booted.
2. Run "shutdown" from Host Linux. Check the Host is graceful
shutdown then the chassis power is turned OFF.
3. Run "ipmitool chassis power soft". Check the Host is graceful
shutdown
4. Execute Redfish GracefulShutdown. Check the Host is graceful
shutdown then the chassis power is turned OFF.
5. Execute Redfish GracefulRestart. Check the Host is graceful
shutdown then turned ON.
6. Check other IPMI chassis power and Redfish Reset actions work.
Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com>
Change-Id: I3a9716f37d7e80bdc1a1d0422e561c8fc51ad040
|
|
UEFI firmware for Ampere Altra-based platform starts at offset 0x400000
but currently the firmware image is flashed start at offset 0. This
makes the Host fail to boot.
This commit supports offset option for the mtd-util's flashcp utility
and update the script to flash UEFI firmware starting at offset
0x400000.
Tested:
1. Turn on the Host.
2. Flash UEFI firmware. Wait for the flash complete and check if Host
can boot successfully.
4. Turn off the Host.
5. Flash UEFI firmware. Wait for the flash complete.
6. Turn on the Host and check if Host can boot successfully.
Signed-off-by: Tung Nguyen <tung.nguyen@amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I0d48bfd0a7b7350b46a98bf10fe4de3887f09f02
|
|
The current ampere-hostctl package removes the power off/on services
of phosphor-state-manager and uses Ampere services. This solution is
not correct. Ampere platform should use power control functions of
phosphor-state-manager. And only appends or overides the default
services by Ampere's services if need.
By default, to handle power soft action, phosphor-state-manager will
trigger obmc-host-shutdown@0.target. This target then call
xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service to request OS
shutdown. When the host OS shutdown is already done, the target will
trigger obmc-chassis-poweroff@0.target to turn off the chassis. The
default xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service uses
Ipmi inband to communicate with the host. It is different with Ampere
Mt.Jade platform. We use the GPIO pin SHD_REQ to request shutdown the
host OS. The host will trigger SHD_ACK when shutdown is done. So
*.Ipmi.Internal.SoftPowerOff.service will be overide by Ampere service
named ampere.*.Ipmi.Internal.SoftPowerOff.service. This service will
trigger SHD_REQ pin and wait for SHD_ACK before start
obmc-chassis-poweroff@0.target.
This commit removes ampere-chassis-poweroff, ampere-host-shutdown
serives which handle power off/soft actions and restore
phosphor-state-manager's services. It also supports
ampere.xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service which
will overide xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service.
Tested:
1. Create "power soft" actions use ipmitool, redfish and BMC web.
2. Make sure the power order will be shutdown the host then power
of the chassis.
3. Create "power off" actions use ipmitool, redfish and BMC web.
4. Make sure the power action will be power off the chassis.
Signed-off-by: ThuBaNguyen <thu@os.amperecomputing.com>
Change-Id: Ibc0dc8c62408e8282520c9b70e41ab75c10137f6
|
|
This makes it possible for us to change out build specific settings.
Change-Id: I862366d8efa97c4c3181b842662bf28dd5bec270
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
The SpeedMbds of ethernet interface is implemented in getInterfaceInfo()
from the phosphor-networkd repo. It is disabled by NIC_SUPPORTS_ETHTOOL
conditional compilation. The default compile mode is to omit the
getInterfaceInfo() which causes the SpeedMbps not set.
This commit supports enable the NIC_SUPPORTS_ETHTOOL to report correct
speed.
Tested:
1.Get SpeedMbps via rest:
$ curl -XGET --user root:0penBmc -H "Content-Type: application/json" \
-H "If-match: *" --insecure \
https://10.38.14.2/redfish/v1/Managers/bmc/EthernetInterfaces/eth1 \
grep | "SpeedMbps"
2.Get speed of eth1 interface on BMC console
$ cat /sys/class/net/eth1/speed
The value getting from openbmc#1 and openbmc#2 match together.
Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>
Change-Id: I57047151fc4eea08c857b95c0770d89ba95f9bc7
|
|
It checks GPIO key for powersupply presence, and creates
the inventory object.
Tested:
1. Plug the PSU, check busctl command for Present attribute
2. Plug out the PSU, check busctl command for Present attribute
$ busctl --no-pager introspect xyz.openbmc_project.Inventory.Manager
/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: I4520d537d425249debe5c0d8c6bf8b0f6e3c5b34
|
|
Support to get BMC MAC address from FRU over the FRU inventory
information (/xyz/openbmc_project/inventory/system/chassis/motherboard)
and update to the eth0 Ethernet interface and set the eth1addr u-boot
variable.
Tested:
1. Boot to u-boot, clear the eth1addr variable, save and reboot.
2. Boot to Linux:
- Check if the eth0 interface uses the MAC address in FRU.
root@mtjade:~# ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 70:e2:84:86:76:ba brd ff:ff:ff:ff:ff:ff
- Check if the eth1addr u-boot variable uses the MAC address in FRU
root@mtjade:~# fw_printenv eth1addr
eth1addr=70:E2:84:86:76:BA
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Ifb7eefbb17257545d026005f859d37ef562289b7
|
|
Enable system event log for Redfish. It includes the setting to:
- Enable sel-logger module which logs the sensor event into the
systemd log.
- Enable the rsyslog (intel module) to sync the sensor events from
systemd to /var/log/redfish. The file will be used by Redfish.
- Configure the backend and redfish to get the system log from the
/var/log/redfish instead of system d-bus
- Enable Redfish journal log
Tested: Verify event logs appear in:
1. Redfish: /redfish/v1/Systems/system/LogServices/EventLog/Entries
2. Redfish: /redfish/v1/Managers/bmc/LogServices/Journal/Entries
3. WebUI: /server-health/sys-log at Event type.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I3753e2932ec1dc83cdbe0708173531930df65254
|
|
Enable flash_bios feature and configure to use backend script to flash
UEFI firmware via Redfish, WebUI and Rest.
Tested:
1. Flash UEFI firmware via WebUI.
2. Flash UEFI firmware via Redfish UpdateService
3. Flash UEFI firmware via Rest interface.
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I772e6a409414e374ed01e72e3c69985d0b413cb5
|
|
Implement systemd service to create an Ethernet over USB interface
for communication between CPU and BMC.
Tested:
1. Check usb0 ethernet interface in BMC console
root@mtjade:~# ifconfig usb0
usb0 Link encap:Ethernet HWaddr DA:F7:E9:A3:5A:0C
inet addr:192.168.0.10 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:412 (412.0 B)
2. Check USB Ethernet device on Host Linux
$ lsusb | grep Ethernet
Bus 001 Device 004: ID 1d6b:0103 Linux Foundation NCM (Ethernet) Gadget
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: Icb7c096df426233e8f2ee7318f2a1805f07ab3a7
|
|
Implement the Ampere power control requirements for Altra system.
Tested:
- Check the ipmi commands: ipmi power on/off/soft/reset/cycle
- Check the redfish commands: On, Off, ForceOn, ForceOff,
GracefulShutdown, GracefulRestart, ForceRestart, PowerCycle
Signed-off-by: Tung Nguyen <tungnguyen@os.amperecomputing.com>
Change-Id: Id0c64c1284a6338ce47ca720d0ef75e99d21aa3c
|