summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThang Q. Nguyen <thang@os.amperecomputing.com>2021-09-20 13:47:54 +0300
committerThang Q. Nguyen <thang@os.amperecomputing.com>2021-09-20 13:51:11 +0300
commit3c212f087b0b50c49a59d60200259b1adced25dd (patch)
tree316c80682401b28e83e228426ac59a46ca610bdb
parente1bcaf31c4d98d7fc7941092ebdf66ef9bc81ed2 (diff)
downloadopenbmc-3c212f087b0b50c49a59d60200259b1adced25dd.tar.xz
meta-ampere: mtjade: set MAC Address from FruDevice
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
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update.bb (renamed from meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update.bb)0
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.service (renamed from meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update/ampere_update_mac.service)0
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.sh (renamed from meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update/ampere_update_mac.sh)21
3 files changed, 13 insertions, 8 deletions
diff --git a/meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update.bb b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update.bb
index b6ddfad80..b6ddfad80 100644
--- a/meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update.bb
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update.bb
diff --git a/meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update/ampere_update_mac.service b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.service
index 86f7a0346..86f7a0346 100644
--- a/meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update/ampere_update_mac.service
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.service
diff --git a/meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update/ampere_update_mac.sh b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.sh
index 5dbdde771..4e4d6f3e7 100644
--- a/meta-ampere/meta-common/recipes-ac01/mac/ampere-mac-update/ampere_update_mac.sh
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/ampere-mac-update/ampere_update_mac.sh
@@ -2,18 +2,17 @@
#
# This script is used to get the MAC Address from FRU Inventory information
-ETHERNET_INTERFACE="eth0"
+ETHERNET_INTERFACE="eth1"
+ETHERNET_NCSI="eth0"
ENV_ETH="eth1addr"
-ENV_MAC_ADDR=`fw_printenv`
+ENV_MAC_ADDR=`fw_printenv | grep $ENV_ETH`
-# Check if BMC MAC address is exported
-if [[ $ENV_MAC_ADDR =~ $ENV_ETH ]]; then
- echo "WARNING: BMC MAC address already exist!"
- exit 0
-fi
+# Workaround to dhcp NC-SI eth0 interface when BMC boot up
+ifconfig ${ETHERNET_NCSI} down
+ifconfig ${ETHERNET_NCSI} up
# Read FRU Board Custom Field 1 to get the MAC address
-CUSTOM_FIELD_1=`busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard xyz.openbmc_project.Inventory.Item.NetworkInterface MACAddress`
+CUSTOM_FIELD_1=`busctl get-property xyz.openbmc_project.FruDevice /xyz/openbmc_project/FruDevice/Mt_Jade_Motherboard xyz.openbmc_project.FruDevice BOARD_INFO_AM1`
MAC_ADDR=`echo $CUSTOM_FIELD_1 | cut -d "\"" -f 2`
# Check if BMC MAC address is exported
@@ -23,6 +22,12 @@ if [ -z "${MAC_ADDR}" ]; then
exit 1
fi
+# Check if BMC MAC address is exported
+if [[ $ENV_MAC_ADDR =~ $MAC_ADDR ]]; then
+ echo "WARNING: BMC MAC address already exist!"
+ exit 0
+fi
+
# Request to update the MAC address
fw_setenv ${ENV_ETH} ${MAC_ADDR}