Technical White Paper

7 Firmware Update
7.1 Software Update Profile Specification
The Dell Common Information Model (CIM) class extensions for supporting BIOS, component
firmware, and embedded software update are defined in the Dell Software Update Profile
2
and
related MOF files
3
. The diagrams representing the classes that are implemented by the Lifecycle
Controller firmware can be found in Dell Software Update Profile as well.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
7.2 ”Rollback” Firmware
The InstallFromSoftwareIdentity() method is used for installation of a earlier version of a component
firmware that is available on the Lifecycle Controller (that is “rollback” of component firmware). The
general “Rollback” firmware steps are performed in several stages as described in the next sections.
The tasks are demonstrated in examples in Section 7.3 and Section 7.4.
7.2.1 Request “Rollback” Image
The first stage is a request to initiate and download the rollback image from the Lifecycle
Controller by invoking the InstallFromSoftwareIdentity() method.
7.2.2 Create Reboot Job
The second stage is to create a reboot job as shown in Section 7.8.
7.2.3 Schedule Update Jobs
The third stage is to invoke the SetupJobQueue() method as shown in Section 10.2.1. Use the
jobID
(JID) from
InstallFromSoftwareIdentity()
and
rebootID(RID)
from the reboot job. The
reboot
may take several minutes as the UEFI performs the desired operation.
7.2.4 Monitor Update Jobs
The output of getting the job status during various steps
,
Section 10.2.3, is shown below.
Initial job status after invoking
InstallFromSoftwareIdentity
<n1:DCIM_LifecycleJob>
<n1:InstanceID>JID_001299159345</n1:InstanceID>
<n1:JobStartTime/>
<n1:JobStatus>Downloaded</n1:JobStatus>
<n1:JobUntilTime/>
<n1:Message>Package successfully downloaded</n1:Message>
<n1:MessageArguments xsi:nil="true"/>
<n1:MessageID>RED002</n1:MessageID>
<n1:Name>Rollback:DCIM:AVAILABLE:NONPCI:159:2.1.4</n1:Name>
</n1:DCIM_LifecycleJob>
Job status after invoking
SetupJobQueue
<n1:DCIM_LifecycleJob>
<n1:InstanceID>JID_001299159345</n1:InstanceID>