diff --git a/xCAT-server/lib/xcat/plugins/ipmi.pm b/xCAT-server/lib/xcat/plugins/ipmi.pm index 8001afc3d..01a6945cc 100644 --- a/xCAT-server/lib/xcat/plugins/ipmi.pm +++ b/xCAT-server/lib/xcat/plugins/ipmi.pm @@ -5996,7 +5996,10 @@ sub gotguid { my $fru = FRU->new(); $fru->rec_type("guid"); $fru->desc("UUID/GUID"); - $fru->value(sprintf("%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",@{$rsp->{data}})); + my $binuuid = pack("C*",@{$rsp->{data}}); + my @pieces = unpack("VvvNNN",$binuuid); + my @uuid = unpack("C*",pack("NnnNNN",@pieces)); + $fru->value(sprintf("%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",@uuid)); $sessdata->{fru_hash}->{guid} = $fru; initfru_withguid($sessdata); }