Hi All,


         I try to upgrade the IPMC using ipmitool-1-8-11 lanplus. I have
found the ipmitool receives the packets in wrong order. The problem is
following:



The ipmitool receives “Initiate upgrade action” command response with
Command in progress(80h) while it waits for “Get upgrade status” command
response. This scenario happens because of IPMC handles the packets slowly.
In this scenario, the ipmitool takes this response for “Get upgrade status”
command and sends next packet.

In function int HpmfwupgGetUpgradeStatus(struct ipmi_intf *intf, struct
HpmfwupgGetUpgradeStatusCtx* pCtx, struct HpmfwupgUpgradeCtx* pFwupgCtx),
ipmitool does not check the response packet’s command number and rqSeq
number. In this scenario, the rsp->ccode value is 80h &
rsp->payload.ipmi_response.cmd is 31h(Initiate upgrade action). But
HpmfwupgGetUpgradeStatus() function returns HPMFWUPG_SUCCESS. In
HpmfwupgWaitLongDurationCmd() function also the upgStatusCmd data structure
is not initialized. Unfortunately the value of
upgStatusCmd.resp.lastCmdCompCode is 0. So the ipmitool takes this as valid
“Get upgrade status” response. This is error.



Basically the functions In ipmi_hpmfwupg.c file do not check the expected
response command number and rqSeq number. This means ipmitool’s HPM.1
module expects the correct response packet for last sent request packet
which is not possible always.



How can we fix these issues?.



---- Raghavan
------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to