From 922dfe18c48bc19b44fa710e75970dfd359cba05 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Tue, 12 Nov 2019 11:17:35 -0500 Subject: [PATCH] Enable bmcsetup for Lenovo SR635/SR655 The SR635/SR655 has a particular scheme for dedicated/shared and hard coded correlated lan channels. Implement support for those scenarios. --- .../etc/udev/rules.d/99-tsm.rules | 1 + xCAT-genesis-scripts/usr/bin/bmcsetup | 17 +++++++++++++++++ xCAT-genesis-scripts/usr/sbin/setuptsmnic | 5 +++++ xCAT-genesis-scripts/xCAT-genesis-scripts.spec | 2 ++ 4 files changed, 25 insertions(+) create mode 100644 xCAT-genesis-scripts/etc/udev/rules.d/99-tsm.rules create mode 100755 xCAT-genesis-scripts/usr/sbin/setuptsmnic diff --git a/xCAT-genesis-scripts/etc/udev/rules.d/99-tsm.rules b/xCAT-genesis-scripts/etc/udev/rules.d/99-tsm.rules new file mode 100644 index 000000000..cdfb6ee80 --- /dev/null +++ b/xCAT-genesis-scripts/etc/udev/rules.d/99-tsm.rules @@ -0,0 +1 @@ +SUBSYSTEM=="net", ATTRS{idVendor}=="046b", ATTRS{idProduct}=="ffb0", RUN+="/sbin/setuptsmnic" diff --git a/xCAT-genesis-scripts/usr/bin/bmcsetup b/xCAT-genesis-scripts/usr/bin/bmcsetup index 0e21e8ff5..534288c68 100755 --- a/xCAT-genesis-scripts/usr/bin/bmcsetup +++ b/xCAT-genesis-scripts/usr/bin/bmcsetup @@ -280,6 +280,20 @@ if [ ! -z "$ISOPENBMC" ]; then # Overvide the default value for OpenBMC LAN_MED_TYPE="Other LAN" fi +USBSTATE="" +if [ "$IPMIMFG" = "19046" -a "$XPROD" = "1287" ]; then + # Lenovo SR635/SR655 + BMCPORT=`grep bmcport /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'` + if [ "$BMCPORT" = 0 ]; then + ipmitool raw 0x32 0x71 0 0 3 + LANCHAN=1 + else + LANCHAN=8 + fi + #USBSTATE=$(ipmitool raw 0x32 0xab) + #ipmitool raw 0x32 0xaa 0 +fi + while [ -z "$LANCHAN" ]; do logger -s -t $log_label -p local4.info "Auto detecting LAN channel..." for TLANCHAN in {1..16}; do @@ -702,6 +716,9 @@ if [ -e /tmp/xcchostnic ]; then ip netns exec mgt ip link set dev $INTERFACE netns 1 /usr/sbin/setupimmnic fi +#if [ ! -z "$USBSTATE" ]; then # Continuation of SR635/SR655 specific code +# ipmitool raw 0x32 0xaa $USBSTATE +#fi # remove the bmc configuration information before exit diff --git a/xCAT-genesis-scripts/usr/sbin/setuptsmnic b/xCAT-genesis-scripts/usr/sbin/setuptsmnic new file mode 100755 index 000000000..223a1b4f7 --- /dev/null +++ b/xCAT-genesis-scripts/usr/sbin/setuptsmnic @@ -0,0 +1,5 @@ +#!/bin/sh +/sbin/ip link set $INTERFACE up +/sbin/ip addr add dev $INTERFACE 169.254.0.120/24 +/sbin/ip route add 169.254.0.0/24 dev $INTERFACE +echo -n $INTERFACE > /tmp/tsmhostnic diff --git a/xCAT-genesis-scripts/xCAT-genesis-scripts.spec b/xCAT-genesis-scripts/xCAT-genesis-scripts.spec index 8bf3d7116..c5c69ee6b 100755 --- a/xCAT-genesis-scripts/xCAT-genesis-scripts.spec +++ b/xCAT-genesis-scripts/xCAT-genesis-scripts.spec @@ -97,8 +97,10 @@ touch /etc/xcat/genesis-scripts-updated %{rpminstallroot}/usr/bin/restart %{rpminstallroot}/etc/init.d/functions %{rpminstallroot}/etc/udev/rules.d/99-imm.rules +%{rpminstallroot}/etc/udev/rules.d/99-tsm.rules %{rpminstallroot}/etc/udev/rules.d/98-mlx.rules %{rpminstallroot}/usr/sbin/setupimmnic +%{rpminstallroot}/usr/sbin/setuptsmnic %{rpminstallroot}/usr/sbin/loadmlxeth %{rpminstallroot}/usr/bin/autocons.py %{rpminstallroot}/usr/lib/dracut/hooks/cmdline/09-autoconsole.sh