From 259b63da8c5228f4994e9a02881427e85e81705d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Thu, 23 Jul 2026 17:54:59 -0300 Subject: [PATCH] fix(rinv): recognize TEI, CDI and PSI IMM firmware prefixes The rinv firmware-inventory path detects a Lenovo IMM by matching the firmware build-ID prefix (yuoo, 1aoo, tcoo). Some IMM firmware families report a tei, cdi or psi prefix and were therefore not recognized as an IMM. Add them. Recovered from the unmerged lenovobuild branch (e50cf37, 201b2de). Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com> --- xCAT-server/lib/xcat/plugins/ipmi.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xCAT-server/lib/xcat/plugins/ipmi.pm b/xCAT-server/lib/xcat/plugins/ipmi.pm index 7cd34129c..588dcdcfb 100644 --- a/xCAT-server/lib/xcat/plugins/ipmi.pm +++ b/xCAT-server/lib/xcat/plugins/ipmi.pm @@ -3361,7 +3361,7 @@ sub got_bmc_fw_info { my @returnd = (@{ $rsp->{data} }); my @a = ($fw_rev2); my $prefix = pack("C*", @returnd[ 0 .. 3 ]); - if ($prefix =~ /yuoo/i or $prefix =~ /1aoo/i or $prefix =~ /tcoo/i) { #we have an imm + if ($prefix =~ /yuoo/i or $prefix =~ /1aoo/i or $prefix =~ /tcoo/i or $prefix =~ /tei/i or $prefix =~ /cdi/i or $prefix =~ /psi/i) { #we have an imm $isanimm = 1; } $mprom = sprintf("%d.%s (%s)", $fw_rev1, decodebcd(\@a), getascii(@returnd));