FirmwareUpdateManagementObject ApprovedVersion1.0.2–28Aug2009 OpenMobileAlliance OMA-TS-DM-FUMO-V1_0_2-20090828-A UseofthisdocumentissubjecttoallofthetermsandconditionsoftheUseAgreementlocatedathttp://www.openmobilealliance.org/UseAgreement.html.
Unlessthisdocumentisclearlydesignatedasanapprovedspecification,thisdocumentisaworkinprocess,isnotanapprovedOpenMobileAlliance?specification,andissubjecttorevisionorremovalwithoutnotice.
Youmayusethisdocumentoranypartofthedocumentforinternaloreducationalpurposesonly,providedyoudonotmodify,editortakeoutofcontexttheinformationinthisdocumentinanymanner.Informationcontainedinthisdocumentmaybeused,atyoursolerisk,foranypurposes.YoumaynotusethisdocumentinanyothermannerwithoutthepriorwrittenpermissionoftheOpenMobileAlliance.TheOpenMobileAllianceauthorizesyoutocopythisdocument,providedthatyouretainallcopyrightandotherproprietarynoticescontainedintheoriginalmaterialsonanycopiesofthematerialsandthatyoucomplystrictlywiththeseterms.Thiscopyrightpermissiondoesnotconstituteanendorsementoftheproductsorservices.TheOpenMobileAllianceassumesnoresponsibilityforerrorsoromissionsinthisdocument.
EachOpenMobileAlliancememberhasagreedtousereasonableendevorstoinformtheOpenMobileAllianceinatimelymannerofEssentialIPRasitbecomesawarethattheEssentialIPRisrelatedtothepreparedorpublishedspecification.However,themembersdonothaveanobligationtoconductIPRsearches.ThedeclaredEssentialIPRispubliclyavailabletomembersandnon-membersoftheOpenMobileAllianceandmaybefoundonthe“OMAIPRDeclarations”listathttp://www.openmobilealliance.org/ipr.html.TheOpenMobileAlliancehasnotconductedanindependentIPRreviewofthisdocumentandtheinformationcontainedherein,andmakesnorepresentationsorwarrantiesregardingthirdpartyIPR,includingwithoutlimitationpatents,copyrightsortradesecretrights.Thisdocumentmaycontaininventionsforwhichyoumustobtainlicensesfromthirdpartiesbeforemaking,usingorsellingtheinventions.DefinedtermsabovearesetforthinthescheduletotheOpenMobileAllianceApplicationForm.
NOREPRESENTATIONSORWARRANTIES(WHETHEREXPRESSORIMPLIED)AREMADEBYTHEOPENMOBILEALLIANCEORANYOPENMOBILEALLIANCEMEMBERORITSAFFILIATESREGARDINGANYOFTHEIPR’SREPRESENTEDONTHE“OMAIPRDECLARATIONS”LIST,INCLUDING,BUTNOTLIMITEDTOTHEACCURACY,COMPLETENESS,VALIDITYORRELEVANCEOFTHEINFORMATIONORWHETHERORNOTSUCHRIGHTSAREESSENTIALORNON-ESSENTIAL.
THEOPENMOBILEALLIANCEISNOTLIABLEFORANDHEREBYDISCLAIMSANYDIRECT,INDIRECT,PUNITIVE,SPECIAL,INCIDENTAL,CONSEQUENTIAL,OREXEMPLARYDAMAGESARISINGOUTOFORINCONNECTIONWITHTHEUSEOFDOCUMENTSANDTHEINFORMATIONCONTAINEDINTHEDOCUMENTS.
?2009OpenMobileAllianceLtd.AllRightsReserved.UsedwiththepermissionoftheOpenMobileAllianceLtd.Underthetermssetforthabove.
Contents
1. Scope 5
2. References 6
2.1 NormativeReferences 6
2.2 InformativeReferences 6
3. TerminologyandConventions 7
3.1 Conventions 7
3.2 Definitions 7
3.3 Abbreviations 7
4. Introduction 8
5. FirmwareUpdateManagementObject 9
5.1 FirmwareUpdateManagementObjectParameters 9
5.1.1 Node:x 9
5.1.2 Node:x/PkgName 10
5.1.3 Node:x/PkgVersion 10
5.1.4 Node:x/Download 10
5.1.5 Node:x/Download/PkgURL 11
5.1.6 Node:x/Update 11
5.1.7 Node:x/Update/PkgData 11
5.1.8 Node:x/DownloadAndUpdate 11
5.1.9 Node:x/DownloadAndUpdate/PkgURL 12
5.1.10 Node:x/State 12
5.1.11 Node:x/Ext 13
6. BehaviorAssociatedwiththeManagementObject 14
6.1 ‘Exec’Command 16
6.1.1 ‘Exec’CommandSemanticsforAlternateDownload 16
6.1.2 ‘Exec’CommandSemanticsforUpdate 17
6.1.3 ‘Exec’CommandSemanticsforDownloadAndUpdate 17
6.2 UseofGenericAlertforNotifications 18
6.2.1 URIofFirmwareUpdateManagementObject 18
6.2.2 FirmwareUpdateAlertTypes 18
6.2.3 Correlator 18
6.2.4 ResultCode 19
6.3 SupportforUpdatePackageDownloadandFirmwareUpdateActivities 20
7. ClientInitiatedFirmwareUpdate(Normative) 21
7.1 General 21
7.1.1 GenericAlert 21
7.1.2 AlertType 21
7.1.3 URI 21
7.1.4 Data 21
8. FUMOUsage(Informative) 22
8.1 FirmwareUpdateProtocolOverview 22
8.1.1 Scenario1:FirmwareUpdateviaOMADMDownload(Replace) 22
8.1.2 Scenario2:FirmwareUpdatethroughanAlternativeDownloadMechanism 22
8.2 ProtocolDefinition 24
8.2.1 FirmwareUpdateStep1:FirmwareUpdateInitiation 24
8.2.2 FirmwareUpdateStep2:DeviceInformationExchange 24
8.2.3 FirmwareUpdateStep3:FirmwareDownload 25
8.2.4 FirmwareUpdateStep4:FirmwareInstallation 25
8.2.5 FirmwareUpdateStep5:NotificationofFirmwareUpdateStatus 25
AppendixA. ChangeHistory(Informative) 27
A.1 ApprovedVersionHistory 27
AppendixB. StaticConformanceRequirements(Normative) 28
B.1 SCRforFUMOTreeStructure 28
B.2 SCRforFUMOClient 28
B.3 SCRforFUMOServer 30
AppendixC. Recommendations(Informative) 31
Figures
Figure1:FirmwareUpdateManagementObjectStructure(Informative) 9
Figure2:FirmwareUpdateStateDiagram 15
Figure3:FirmwareUpdateviaOMADMDownload 22
Figure4:‘Exec’onx/Downloadand‘Exec’onx/Update 23
Figure5:‘Exec’onx/DownloadAndUpdate 24
Tables
Table1:ValidStates 12
Table2:ResultCode 19
Scope
Thisdocumentspecifiesmanagementobject(s)andtheirnecessarybehaviourtosupporttheupdatingoffirmwareinmobiledevices.ItleveragestheOMADMenabler[OMADM]andsupportsalternatedownloadmechanisms(suchasOMADownload[DLOTA]).Thisrepresentstheinterfacebetweentheclientandserverrequiredtomanagetheupdateofamobiledevice’sfirmware.
Thecontentandformatoftheupdatepackage,andtheprocessusedtoupdatefirmwareinthedevice,areimplementationspecificandarenotcoveredbythisspecification.
References
NormativeReferences
[DMPRO] “OMADeviceManagementProtocol,Version1.2”.OpenMobileAlliance(.OMA-TS-DM-Protocol-V1_2,URL:http://www.openmobilealliance.org [DMTND] “OMADeviceManagementTreeandDescription,Version1.2”.OpenMobileAlliance(.OMA-TS-DM-TND-V1_2.URL:http://www.openmobilealliance.org [IOPPROC] “OMAInteroperabilityPolicyandProcess”,Version1.13,OpenMobileAlliance?,OMA-IOP-Process-V1_13,URL:http://www.openmobilealliance.org/ [OMADM] OMADeviceManagement,Version1.2.OpenMobileAlliance(.URL:http://www.openmobilealliance.org [RFC2119] “KeywordsforuseinRFCstoIndicateRequirementLevels”,S.Bradner,March1997,URL:http://www.ietf.org/rfc/rfc2119.txt [RFC2234] “AugmentedBNFforSyntaxSpecifications:ABNF”.D.Crocker,Ed.,P.Overell.November1997,URL:http://www.ietf.org/rfc/rfc2234.txt InformativeReferences
[DLOTA] OMADownload,Version1.0,OpenMobileAlliance(.URL:http://www.openmobilealliance.org/documents.html [DMNOTI] “OMADeviceManagementNotificationInitiatedSession,Version1.2”.OpenMobileAlliance(.OMA-TS-DM-Notification-V1_2.URL:http://www.openmobilealliance.org [DMSTDOBJ] “OMADeviceManagementStandardizedObjects,Version1.2”.OpenMobileAlliance(.OMA-TS-DM-StdObj-V1_2.URL:http://www.openmobilealliance.org [RFC2616] “HypertextTransferProtocol–HTTP/1.1”.NetworkWorkinggroup.June1999.URL:http://www.ietf.org/rfc/rfc2616.txt TerminologyandConventions
Conventions
Thekeywords“MUST”,“MUSTNOT”,“REQUIRED”,“SHALL”,“SHALLNOT”,“SHOULD”,“SHOULDNOT”,“RECOMMENDED”,“MAY”,and“OPTIONAL”inthisdocumentaretobeinterpretedasdescribedin[RFC2119].
Allsectionsandappendixes,except“Scope”and“Introduction”,arenormative,unlesstheyareexplicitlyindicatedtobeinformative.
Definitions
SeealsotheDMTreeandDescription[DMTND]documentfordefinitionsoftermsrelatedtothemanagementtree.
Abbreviations
FUMO FirmwareUpdateManagementObject OMA OpenMobileAlliance
Introduction
ThisspecificationprovidesinformationonmanagementobjectsassociatedwithfirmwareupdatesinOMA-DMbasedmobiledevicesandthebehaviourassociatedwiththeprocessingofthemanagementobjects.Alsospecifiedisbehaviourassociatedwiththe‘Exec’commandandGenericAlerts.
Theproblemsolvedisthelackofaninteroperablefirmwareupdatesolutionformobiledevices.Thisspecificationprovidesaninterfacebetweenclientandservertosupportthisfirmwareupdate.Thissolutioncomprisesthedownloadofupdatepackage(s),thesubsequentinstallationoftheupdatepackage(s)toupdatefirmware,andthereportingofsuccessorerrorresultsandassociatedstatusinformation.
Thisspecificationenablesmobileoperators,serviceproviders,infrastructuremanufacturers,devicemanufacturers,andsoftwarevendorstodevelopanddeployinteroperablefirmwareupdatesolutions.
Theprimarytargetaudienceforthesemanagementobjectsisengineersprovidingfirmwareupdatesolutionsandupdatepackagedownloadsolutions.
FirmwareUpdateManagementObject
TheparametersassociatedwithasinglefirmwareupdateareassembledintoafirmwareupdatemanagementobjectasshowninFigure1.Afirmwareupdatemanagementobjectmaybeeitherpermanentordynamic.Theremaybeoneormoresuchfirmwareupdatemanagementobjectsinadevicemanagementtree.Onlyoneupdatepackage,orreferencetoanupdatepackage,isassociatedwitheachsuchmanagementobject.Thegroupingorplacementwithinthedevicemanagementtreeofmultiplemanagementobjects,suchasunderacommonnode,isnotaddressedinthisspecification.
ManagementObjectidentifier:urn:oma:mo:oma-fumo:1.0
ProtocolCompatibility:ThisobjectiscompatiblewithOMADeviceManagement,version1.2[OMADM]andanylatercompatibleversionsofOMADeviceManagement.
Figure1:FirmwareUpdateManagementObjectStructure(Informative)
FirmwareUpdateManagementObjectParameters
ThefollowingarethenodesoftheFirmwareUpdatemanagementobject.
Node:x
Thisinteriornodeactsasaplaceholderforafirmwareupgradepackageuniqueidentifier.ThenodeTypepropertyMUSTcorrespondtothemanagementobjectidentifierspecifiedinsection5.ThemanufacturerMAYpre-createpermanentnodesforx,allowupdatepackagenodesxtobecreatedasneeded,oracombinationofthesetwomethods.Forexample,permanentnodesmightbecreatedforallfirmwarepackagesknownatthetimeofmanufacture,withadditionalnodesaddeddynamicallyasnewfeaturesbecomeavailable.AnexamplewouldbetoincludenodesFWPkg1,FWPkg2...FWPkgn.TheDDFfileprovidedbythedevicemanufacturerMAYspecifywherethexnodeistobelocatedinthemanagementtreeofthedevice.
Occurrence:ZeroOrMore
Format:Node
AccessTypes:Get
Values:N/A
Node:x/PkgName
ThisoptionalnodespecifiestheNameassociatedwiththefirmwareupdatepackage.
Occurrence:ZeroOrOne
Format:Chr
AccessTypes:Get
Values:N/A
Node:x/PkgVersion
ThisoptionalnodespecifiestheVersioninformationforthefirmwareupdatepackage.Theversioninformationisdevicemanufacturespecificandcancontainanydata.
Occurrence:ZeroOrOne
Format:Chr
AccessTypes:Get
Values:N/A
Node:x/Download
Thisinteriornodeisthetargetofan‘Exec’commandinordertoinitiateafirmwaredownloadforthespecifiedupdatepackageandisoptional.
Occurrence:ZeroOrOne
Format:Node
AccessTypes:Exec,Get
Values:N/A
Node:x/Download/PkgURL
ThisnodespecifiestheURLwherethefirmwareupdatepackageordownloaddescriptorislocated.ThisURLisusedforalternativedownloadmechanisms(suchasHTTPGet[RFC2616]orDescriptorBasedDownload[DLOTA]).
Occurrence:One
Format:Chr
AccessTypes:Get,Replace
Values:N/A
Node:x/Update
Thisinteriornodeisatargetofan‘Exec’commandinordertoinitiateafirmwareupdateforthespecifiedupdatepackageandisoptional.
Occurrence:ZeroOrOne
Format:Node
AccessTypes:Exec,Get
Values:N/A
Node:x/Update/PkgData
Thisnodeisthetargetofa‘Replace’commandwhenDMisusedtodirectlyprovidethebinaryfirmwareupdatepackage.
Occurrence:ZeroOrOne
Format:Bin
AccessTypes:Replace
Values:N/A
Node:x/DownloadAndUpdate
Thisinteriornodeisthetargetofan‘Exec’commandinvokedtoinitiateafirmwaredownloadandupdateforthespecifiedupdatepackageandisoptional.TheupdateMUSTtakeplaceassoonaspracticalafterdownload.
Occurrence:ZeroOrOne
Format:Node
AccessTypes:Exec,Get
Values:N/A
Node:x/DownloadAndUpdate/PkgURL
ThisnodespecifiestheURLwherethefirmwareupdatepackageordownloaddescriptorislocated,thatistobedownloadedandinstalledatthenextpracticalopportunity.ThisURLisusedforalternativedownloadmechanisms(suchasHTTPGet[RFC2616]orDescriptorBasedDownload[DLOTA]).
Occurrence:One
Format:Chr
AccessTypes:Get,Replace
Values:N/A
Node:x/State
Containsavalueindicatingthecurrentstateofthemobiledevicewithrespecttothisfirmwareupdate.
Occurrence:One
Format:Int
AccessTypes:Get
Values:Seetablebelow
Thefollowingstatetableenumeratesthevalidstates:
Table1:ValidStates
State Description IntegerValue Idle/Start Nopendingoperation 10 DownloadFailed Downloadfailed 20 DownloadProgressing Downloadhasstarted 30 DownloadComplete Downloadhasbeencompletedsuccessfully 40 ReadytoUpdate Havedataandawaitingcommandtostartupdate 50 UpdateProgressing Updatehasstarted 60 UpdateFailed/HaveData Updatefailedbuthaveupdatepackage 70 UpdateFailed/NoData Updatefailedandnoupdatepackageavailable 80 UpdateSuccessful/HaveData Updatecompleteanddatastillavailable 90 UpdateSuccessful/NoData DatadeletedorremovedafterasuccessfulUpdate 100
Node:x/Ext
Thisisanodeforsupportingvendorspecificextensions.
Occurrence:ZeroOrOne
Format:Node
AccessTypes:Get
Values:N/A
BehaviorAssociatedwiththeManagementObject
Thefollowingdiagramshowsthevariousvalidstatesofthemobiledeviceastheyarerelatedtofirmwareupdates.Itispossiblethattheservermaynotseesomeofthesestates.
Figure2:FirmwareUpdateStateDiagram
Typically,thestartingstateis‘Idle/Start’andtheterminatingstatesareoneof:
UpdateFailed/HaveData
UpdateFailed/NoData
UpdateSuccessful/HaveData
UpdateSuccessful/NoData
DownloadFailed
‘Exec’Command
The‘Exec’commandMUSTbesupported.
Theserverissues‘Exec’commandstoinitiatelongrunningoperationsintheclient,suchasdownloadandupdate.Theresultofthe‘Exec’command,encodedasaResultCode,isreturnedinaGenericAlertfollowingcompletionoftheoperation.Acorrelator,ifsuppliedwiththe‘Exec’command,isalsoreturnedinthatGenericAlert.TheclientMUSTsendastatus202(asynchronous)forthe‘Exec’operationifthecommandisacceptedforlaterprocessing.
OptionallyaUserInteractionAlert[DMPRO]canbeusedforsolicitinguseropt-inpriortotheexecutionoftheExeccommandontheDownloadnode.
Inthecaseofadownloadofanupdatepackageemployingthelarge-objectdownloadfeatureoftheOMA-DMprotocol[DMPRO],the‘Replace’commandisusedbytheDMservertoinitiatethedownload,priortotheinvocationofan‘Exec’commandtoinvoketheupdateactivity.
TheStateelementinthemanagementobjectisupdatedtoindicatethestatetheclientreachedduringthecorrespondingExecinitiatedupdateordownloadactivity(SeeChapter6.).
‘Exec’CommandSemanticsforAlternateDownload
Theserverissuesan‘Exec’commandtargetingthex/Downloadnode.TheclientinitiatesanalternatedownloadoperationfromtheURLidentifiedinthex/Download/PkgURLvalue.Whenthedownloadoperationiscomplete,theclientissuesaGenericAlertindicatingtheresultofthedownloadoperation.
Exampleof‘Exec’CommandforAlternateDownload
Pre-Condition:Thefollowingelementneedstobesetwithanappropriatevalue:
x/Download/PkgURLisset
Exampleof‘Exec’command:
3
x/Download
‘Exec’CommandSemanticsforUpdate
Theserverissuesan‘Exec’commandtargetingthex/Updatenode.Theclientappliesthepreviouslyreceivedupdatepackage.Whentheupdateoperationiscomplete,theclientissuesaGenericAlertindicatingtheresultoftheupdateoperation.
Exampleof‘Exec’CommandforUpdate
Pre-Condition:
Thefirmwareupdatepackagemustbeavailableonthedevice.
Exampleof‘Exec’command:
3
x/Update
‘Exec’CommandSemanticsforDownloadAndUpdate
Theserverissuesan‘Exec’commandtargetingthex/DownloadAndUpdatenode.TheclientinitiatesanalternatedownloadoperationfromtheURLidentifiedinthex/DownloadAndUpdate/PkgURLvalue.Whenthedownloadoperationiscompletedsuccessfully,theclientappliesthereceivedupdatepackagewithoutfurtherserverintervention.Whentheupdateoperationiscomplete,theclientissuesaGenericAlertindicatingtheresultoftheupdateoperation.Intheeventthatthedownloadfails,theclientissuesaGenericAlertindicatingthefailureofthedownloadoperation.
TheUpdateactivityislaunchedatthenextpracticalopportunity.
Exampleof‘Exec’CommandforDownloadAndUpdate
Pre-Condition:
Thefollowingobjectneedstobesetwithanappropriatevalue:
x/DownAndUpdate/PkgURL
ExampleofExeccommand:
3
x/DownloadAndUpdate
UseofGenericAlertforNotifications
AttheendoftheoperationinvokedbytheExeccommandsinsection6.1,thedeviceMUSTsendanotificationtotheDMserverviaaGenericAlert[DMPRO]message.Thealertmessageincludesthefollowingdata:
Anintegerresultcode–Usedtoreportstatusoftheoperation
TheURIoftheFirmwareUpdateManagementObject–Usedtoidentifythesource
Analerttype–Usedtoidentifytheoperation
Correlator–UsedbytheserverandpassedaspartoftheExeccommand
AlertsthatarereportinganerrororfailureconditionSHOULDreportaseverityotherthanInformationalintheMarkfieldoftheMetainformation.
OncetheGenericAlertmessageissenttotheDMServerattheendoftheoperation,thedeviceMUSTNOTretrytheoperationinvokedviatheExeccommandbytheDMServerwithoutfurtherserverintervention.
NOTE:Iftheserverneedstoretrieveadditionalinformation,suchasState,thentheserverMAYquerythedeviceforthosespecificnodes.
URIofFirmwareUpdateManagementObject
TheURIoftheFirmwareUpdateManagementObjectMUSTbesentasthesourceoftheGenericAlert[DMPRO]message.ThisallowstheManagementServertoidentifytheoriginofthealert.
FirmwareUpdateAlertTypes
OneofthefollowingalerttypesMUSTbeusedinaGenericAlert[DMPRO]messageoriginatingfromaFirmwareUpdateManagementObject.ThealerttypesareusedtoidentifytheExecoperationthatwasperformedonthedevice.
Thealerttype“org.openmobilealliance.dm.firmwareupdate.download”MUSTbeusedinresponsetothecompletionofaDownloadoperation.
Thealerttype“org.openmobilealliance.dm.firmwareupdate.update”MUSTbeusedinresponsetothecompletionofanUpdateoperation
Thealerttype“org.openmobilealliance.dm.firmwareupdate.downloadandupdate”MUSTbeusedinresponsetothecompletionofaDownloadAndUpdateoperation
Correlator
IftheserverpassesacorrelatortotheclientintheExeccommandofaFirmwareUpdateOperation,theclientMUSTreturnthesamevaluetotheserverinthecorrelatorfieldoftheGenericAlert[DMPRO]message.
IftheserverdoesnotpassacorrelatortotheclientintheExeccommandofaFirmwareUpdateOperation,theclientMUSTNOTsendacorrelatortotheserverinthecorrelatorfieldoftheGenericAlert[DMPRO]message.
ResultCode
TheresultcodeoftheoperationMUSTbesentasanintegervalueintheDataelementoftheGenericAlert[DMPRO]message.TheResultCodeMUSTbeoneofthevaluesdefinedbelow:第11个报文,上报升级结果使用的结果码
Table2:ResultCode
ResultCode Meaning Usage 200 Successful Successful–TheRequesthasSucceeded 250-299 Successful–VendorSpecified SuccessfulOperationwithVendorSpecifiedResultCode 400 ManagementClientError ManagementClienterror–basedonUserorDevicebehavior 401 UserCancelled Userchosenottoaccepttheoperationwhenprompted 402 CorruptedFirmwareUpdatePackage Corruptedfirmwareupdatepackage,didnotstorecorrectly.Detected,forexample,bymismatchedCRCsbetweenactualandexpected. 403 FirmwareUpdatePackage–DeviceMismatch WrongFirmwareUpdatePackagedeliveredtodevicebasedoncurrentdevicecharacteristics 404 FailedFirmwareUpdatePackageValidation Failuretopositivelyvalidatedigitalsignatureoffirmwareupdatepackage 405 FirmwareUpdatePackageNotAcceptable FirmwareUpdatePackageisNotAcceptable 406 AlternateDownloadAuthenticationFailure AuthenticationwasRequiredbutAuthenticationFailurewasencounteredwhendownloadingFirmwareUpdatePackage 407 AlternateDownloadRequestTime-Out Clienthasencounteredatime-outwhendownloadingFirmwareUpdatePackage 408 NotImplemented Thedevicedoesnotsupporttherequestedoperation. 409 UndefinedError Indicatesfailurenotdefinedbyanyothererrorcode 410 FirmwareUpdateFailed FirmwareUpdateoperationfailedindevice 411 MalformedorBadURL TheURLprovidedforalternatedownloadisbad 412 AlternateDownloadServerUnavailable TheAlternateDownloadServerisUnavailableorDoesnotRespond 450-499 ClientError–VendorSpecified ClientErrorencounteredforOperationwithVendorSpecifiedResultCode 500 AlternateDownloadServerError AlternateDownloadServerErrorEncountered 501 Downloadfailsduetodeviceisoutofmemory Thedownloadfailsdueinsufficientmemoryinthedevicetosavethefirmwareupdatepackage. 502 Firmwareupdatefailsduetodeviceoutofmemory Theupdatefailsbecausethereisn’tsufficientmemorytoupdatethedevice. 503 Downloadfailsduetonetworkissues Thedownloadfailsduetonetwork/transportlevelerrors 550-599 AlternateDownloadServerError–VendorSpecified AlternateDownloadServerErrorencounteredforOperationwithVendorSpecifiedResultCode
Intheabovetable,theseries2xxresultcodesindicatesuccessfuloutcome.Theseries4xxand5xxresultcodes,whichindicateunsuccessfuloutcome,provideindicationoffailureconditionsthatresultedintheendofthefirmwareupdateactivityinthedevice.
SupportforUpdatePackageDownloadandFirmwareUpdateActivities
TheFUMO1.0compliantclientMUSTsupportatleastonedownloadmechanismtodownloadupdatepackages.ThisdownloadmechanismMUSTbeOMADMbasedtransferoranalternatedownloadmechanism,suchasOMADownload[DLOTA].Inaddition,tosuccessfullyconductafirmwareupdate,atleastoneofthefollowingtwoactivitiesMUSTbesupported:
a)Execonx/Updatenode
b)Execonx/DownloadAndUpdatenode
ClientInitiatedFirmwareUpdate (Normative)
General
FirmwareUpgradeisinitsnaturedevicedependent.Thisfeatureisthereforeanoptionalfeatureforclientdevicesandforservers.Thissectiononlydefinestheformatoftheclientinitiatedmessageandnotinwhichcircumstancestheclientdevicewillsendit.Thismessageisaninformationmessagetotheserversothattheservershouldinvestigateifanupdateisneeded.ThedevicecansendtwodifferentFirmwareUpdaterequestsdependentonifitisoriginatedfromtheDeviceoraUser.TheclientSHOULDNOTexpectanyspecificFirmwareUpdateactionfromtheserver.IftheAlertTypeis“UserInitiated”,thentheserverMAYsendUserInteractionCommandsinthesamesessiontoinformtheuserhowtheserverwillhandlethefirmwareupdaterequest.TheServerMAYinvestigateifupdateisneededinthesamesession,butMAYalsoinformtheuserthattheserverwillinvestigatethislateron.
TheGenericAlertformatisusedforthisnotification.TheServerMAYrespondwithspecificStatusCodesasfollows:
IftheupdatepackageisavailableandtheServerwillcommandupdateoperationsinthesamesession,theServerMAYrespondwithstatus200“OK”.IftheupdatepackageisnotavailableortheServerwillnotcommandupdateoperationsinthesamesession,theServerSHOULDrespondwithstatus202“Acceptedforprocessing”.
ThefollowingclientrequirementsMUSTbesupportedifClientInitiatedFirmwareUpdateisimplemented:
GenericAlert
ThemessageMUSTfollowtheGenericAlertformat
AlertType
ThemessageMUSTusethealerttype:“org.openmobilealliance.dm.firmwareupdate.devicerequest”fordeviceinitiatedfirmwareupdateandalerttype:“org.openmobilealliance.dm.firmwareupdate.userrequest”foruserinitiatedfirmwareupdate.
URI
TheURIinthealert,ifspecified,MUSTpointtothedynamicnode(e.g.,the)representingasinglefirmwareupdatemanagementobjectinthetree.Whenpresent,theserverinvestigatestheavailabilityofupdatesforthefirmwareindicatedbythemanagementobject.Itisfurthersuggestedwhennotpresent,theserverinvestigatestheavailabilityofallrelevantfirmwareupdatesfortheterminaloriginatingthealert.TheserverMAYquerythecontentsofthemanagementobjectspecifiedbyaURI.TheserverSHOULDinitiateafirmwareupdateifanyrelevantupdatesarediscovered.
Data
TheDataelementMUSTbeincluded.AclientvendorMAYusethedatafieldtosupplyimplementationspecificdata.Incasethereisnoimplementationspecificdatathevalueneedstobeleftempty
FUMOUsage (Informative)
FirmwareUpdateProtocolOverview
TheFirmwareUpdateProtocolspecifiesasetofstandardcommandswithassociatedparametersandmanagementobjectsthatshallbeusedforOTAfirmwareupdates.OTAFirmwareupdatesrequirespecialattentiontohandlethediscovery,security,downloadandinstallation.
OMADMistheleadingstandardsinitiativethatfocusesondevicemanagementforwirelessdevices.TheOMADownloadspecification[DLOTA]providesaflexibleprotocolforenablingthedownloadofgenericcontent,controlledthroughtheuseofaseparatedownloaddescriptor.Bydrawingonelementsoftheseprotocolsandaddingnewelements,aneffectiveprotocolisconstructedthatcombinesDeviceManagement[DMPRO]forcontrollingthemaindevicemanagementfunctionsandprovidesfortheuseofdescriptor-baseddownloadmechanismstodownloadlargerbinaryobjectssuchasfirmwareupdates.ThedownloadprocessisabstractedtoallowtheuseofeitherOMADM(E.g.,Add/Replace)oranysuitablealternativedownloadmechanisms(forexample,adescriptorbaseddownloadprotocolsuchasOMADownload[DLOTA].).
TheprotocolshallsupportthefollowingprocessstepsinordertoachieveanOTAfirmwareupdate:
FirmwareUpdateStep1:FirmwareUpdateInitiation
FirmwareUpdateStep2:DeviceInformationExchange
FirmwareUpdateStep3:FirmwareDownload
FirmwareUpdateStep4:FirmwareInstallation
FirmwareUpdateStep5:NotificationofFirmwareUpdate
Scenario1:FirmwareUpdateviaOMADMDownload(Replace)
ThefollowingexampleshowshowOMADMisuseddirectlytomoveafirmwareupdatepackagetothedeviceusingaDM“Replace”commandtoaccessamanagementobjectrepresentingtheactualfirmwarebinarypackagedata:
Figure3:FirmwareUpdateviaOMADMDownload
Scenario2:FirmwareUpdatethroughanAlternativeDownloadMechanism
ThefollowingexamplesshowshowOMADMisusedtoinvokeanexternaldownloadmethod,usingaDM“Replace”commandtospecifytheURLofthedownloaddescriptorthatdescribesfurtherdetailsconcerningthefirmwarepackageandthedownloadmethodtobeused:
Example1:‘Exec’onx/Downloadnode+‘Exec’onx/Updatenode
Theserverissuesan‘Exec’commandtargetingthex/Downloadnode.Ifneeded,serverwillissue‘Exec’commandtargetingthex/UpdatenodeafterclientsendsdownloadnotificationusingGenericAlerttoserver.
Figure4:‘Exec’onx/Downloadand‘Exec’onx/Update
Example2:‘Exec’onx/DownloadAndUpdatenode
Theserverissuesan‘Exec’commandtargetingthex/DownloadAndUpdatenode.ClientsendsfinalnotificationtoserverafterthecompletionofDownloadAndUpdateoperation.
Figure5:‘Exec’onx/DownloadAndUpdate
ProtocolDefinition
FirmwareUpdateStep1:FirmwareUpdateInitiation
Inordertobeginanykindoffirmwareupdate,thedeviceisrequiredtoopenadataconnectiontotheserver.Thefollowingmechanismscouldbesupportedtoinitiatethefirmwareupdateprocess:
Userinitiated
Networkinitiated
Thesubscriberexperienceforuser-initiatedupdatesisnotaddressedinthisspecificationasitdoesnotrequirespecificstandardization.Recommendedapproachesarethroughmenuitemsandservicecodesonthedevice.TheuserinitiatedupdateprocesswouldsimplylaunchanOMADMsession.
Fornetworkinitiatedupdates,OMADeviceManagementprovidesaframeworkbywhichclientscanbesenta“NotificationInitiationAlert”totriggertheclienttostartthedatasession.ItistheintentoftheFirmwareUpdateProtocoltoleverageGeneralPackage#0asspecifiedintheOMADMNotificationInitiationSessiondocument[DMNOTI].OMADMspecifiesthatWAPPushcanbeusedforthispurposeandspecifiesaformatacceptableforthepurposeoffirmwareupgradeinitiation.
FirmwareUpdateStep2:DeviceInformationExchange
Inordertoprovideadevicewiththeappropriatefirmwareupdate,aminimumsetofselectioncriteriaissentbythedevicetotheserver.Forthepurposeofthefirmwareupdates,theminimumsetofcriteriaistherequiredDevInfoparametersthataremandatoryforeachOMADMmanagementsessionasspecifiedin[DMSTDOBJ,Section5].
NOTE:Thedeviceinformationexchangecanbefollowedbyanoptionaluserinteractionpriortothesetupofthefirmwaredownloadprocessdescribedinthenextsection.AnOMADM“Alert”commandcanbeusedtoseekuserconfirmation.
FirmwareUpdateStep3:FirmwareDownload
ThefirmwaredownloadcouldoccureitherthroughanOMADM‘Replace’commandorviaanalternative(externaldescriptor-baseddownload)methodbyinitiatingthedownloadprocesswiththeappropriatebehaviouralparameters.Thereareadvantagesanddisadvantagestoeachprocessanditisatthediscretionoftheoperatorsandmanufacturerstoselectapreferredimplementation.Theprotocolproposedhereallowsforeitherdownloadmethodtobeused.
FirmwareUpdateStep4:FirmwareInstallation
Itisanticipatedthattherewillbemultiplemethodsavailableonthemarkettoprocessfirmwareupdateswithinadevice.Thefirmwareupdatespecification’sintentistostandardizeinteroperabilitybetweendevicesandwirelessnetworksolutions.Therefore,thisspecificationdoesnotaddressthemethodofhowadevicemustprocesstheactualfirmwareupdatewhenitisindependentofthenetwork.Instead,thisspecificationprovidesrequirementstoachieveanacceptableuserexperienceforthefirmwareinstallation.
FirmwareInstallafterOMADMDownload
ThefollowingExeccommandinitiatestheupdateprocessincaseswherethefirmwareupdateisdownloadedintothePkgDataelementusingOMADMReplace:
3
.x/Update
FirmwareInstallationAlternativeDownload
Foralternativedownload(suchasDescriptorbasedOMAv1.0Download),itisrecommendedthattheappropriateinstallparametersareprovidedpriortothedownloadinitiationExeccommand.Pleasereference‘Normative–ExecCommand’sectionabovefortheappropriateExeccommand.
Theupdatepackagecouldbedeletedfromobjectstorageatthecompletionoftheupdatewhenitisnolongerneeded.Themanagementclientcouldchoosetodeleteitassoonasanupdateissuccessfullyorunsuccessfullyterminated,orwheneverpromptedtodosobytheDMserver.
FirmwareUpdateStep5:NotificationofFirmwareUpdateStatus
Atthecompletionofthefirmwareupdateprocess,thedevicenotifiestheserveroftheresultingstatusofthefirmwareupdate.ThisisaccomplishedthroughasubsequentclientorserverinitiatedOMADMsessiontoassurethatthemanagementserverisinformedofthefinalresult.
AResultCodeisprovidedtotheDMserverviaaGenericAlert[DMPRO]notification.
TheGenericAlert[DMPRO]commandprovidedbytheOMA-DMprotocolsistobeusedbytheOMA-DMclienttocommunicatetheResultCodevaluetotheDMServer.
Non-FatalResultCodes
Fornon-fatalupdatefailures,theend-usercanbeprovidedanindicationofthefailureandreturnthephonetoanoperationalmode.
InadditiontotheresultcodeslistedintheResultCodestable,the./FwUpdate/x/Stateelementprovidesadditionaldetailedinformationregardingthestateinwhichthemobiledeviceisleftinatthetermination(successfulorotherwise)ExecoperationsinvokedontheUpdateorDownloadelements.
FatalFailures
Fatalfailurewilllikelyrenderthedeviceinoperable.Therefore,itwillnotbepossibletoprovideindicationtotheuserornotifytheOMADMserverofthefailure.Forthisreason,implementationsthatdonotprovideahighdegreeoffaulttolerancearenotlikelytobeusedforthepurposeofupdatingfirmware.
ChangeHistory (Informative)
ApprovedVersionHistory
Reference Date Description OMA-TS-DM-FUMO-V1_0-20070209-A 09Feb2007 StatuschangedtoApprovedbyTP
TPDocref#OMA-TP-2007-0076R01-INP_ERP_FUMO_V1.0_for_Final_Approval OMA-TS-DM-FUMO-V1_0_1 19May2009 StatuschangedtoApprovedbyTP
TPDocref#OMA-TP-2009-0199R01-INP_FUMO_V1_0_3_ERP_for_Notification OMA-TS-DM-FUMO-V1_0_2 28Aug2009 StatusChangedtoApprovedbyTP
TPDocRef#OMA-TP-2009-0312R03-INP_FUMO_V1_0_4_ERP_for_Notification
StaticConformanceRequirements (Normative)
Thenotationusedinthisappendixisspecifiedin[IOPPROC].
SCRforFUMOTreeStructure
Item Function Reference Status Requirement FWUPDATE-T-001 UseofappropriatemanagementobjectidentifierfortheFUMOnode Section5 M FWUPDATE-T-002 Supportforx/Download Section5.1.4 O FWUPDATE-T-010 FWUPDATE-T-003 Supportforx/DownloadAndUpdate Section5.1.8 O FWUPDATE-T-009 FWUPDATE-T-004 Supportforx/Update Section5.1.6 O FWUPDATE-T-011
FWUPDATE-T-005 SupportforPkgName Section5.1.2 O FWUPDATE-T-006 SupportforPkgVersion Section5.1.3 O FWUPDATE-T-007 SupportforExt Section5.1.11 O FWUPDATE-T-008 SupportforState Section5.1.10 M FWUPDATE-T-009 Supportforx/DownloadAndUpdate/PkgURL Section5.1.9 O FWUPDATE-T-010 Supportforx/Download/PkgURL Section5.1.5 O FWUPDATE-T-011 Supportforx/Update/PkgData Section5.1.7 O FWUPDATE-T-004
SCRforFUMOClient
Item Function Reference Status Requirement FWUPDATE-C-001 SupportforPackageDownloadOperation Section6.3 M FWUPDATE-C-003OR
FWUPDATE-C-010 FWUPDATE-C-002 SupportforExec Section6.3 M FWUPDATE-C-003 SupportforAlternativeDownloadofUpdatePackage Section6.3, O FWUPDATE-C-004ORFWUPDATE-C-007
FWUPDATE-C-004 SupportforExeconx/Download Section6.1.1 O FWUPDATE-T-002AND
(FWUPDATE-C-005ORFWUPDATE-C-006) FWUPDATE-C-005 SupportforAddofx/Download/PkgURL Section5.1.5 O FWUPDATE-C-006 SupportforReplaceofx/Download/PkgURL Section5.1.5 O FWUPDATE-C-007 SupportforExeconx/DownloadAndUpdate Section5.1.8 O FWUPDATE-T-003AND
(FWUPDATE-C-008ORFWUPDATE-C-009) FWUPDATE-C-008 SupportforAddofx/DownloadAndUpdate/PkgURL Section5.1.9 O FWUPDATE-C-009 SupportforReplaceofx/DownloadAndUpdate/PkgURL Section5.1.9 O FWUPDATE-C-010 SupportforOMADMBasedPackageDownload Section6.3 O FWUPDATE-T-004AND
(FWUPDATE-C-011ORFWUPDATE-C-012) FWUPDATE-C-011 SupportforAddofx/Update/PkgData Section5.1.7 O FWUPDATE-C-012 SupportforReplaceofx/Update/PkgData Section5.1.7 O FWUPDATE-C-013 SupportforUpdateOperation Section6.1.2,5.1.6 M FWUPDATE-C-007ORFWUPDATE-C-014 FWUPDATE-C-014 SupportforExeconx/Update Section5.1.6 O FWUPDATE-C-004OR
FWUPDATE-C-010 FWUPDATE-C-015 SupportforGenericAlertforresultreporting Section6.2 M FWUPDATE-C-016 UseFUMOURIforresultreporting Section6.2.1 M FWUPDATE-C-017 Usepredefinedresultcodesforresultreporting Section6.2.4 M FWUPDATE-C-018 Usepredefinedalerttypesforresultreporting Section6.2.2 M FWUPDATE-C-019 SupportforCorrelator
Section6.2.3 M FWUPDATE-C-020 Usealertseveritiesforresultreporting Section6.2 O FWUPDATE-C-021 SupportforClientInitiatedFirmwareUpdate Section7 O FWUPDATE-C-022AND
FWUPDATE-C-023AND
FWUPDATE-C-025AND
FWUPDATE-C-026 FWUPDATE-C-022 SupportforGenericAlertforClientInitiatedFirmwareUpdate Section7.1.1 O FWUPDATE-C-023 UseofthepredefinedAlertTypesforClientInitiatedFirmwareUpdate Section7.1.2 O FWUPDATE-C-024 UseoftheFUMOURI Section7.1.3 O FWUPDATE-C-025 UseofStringasDataType Section7.1.4 O FWUPDATE-C-026 UseofUserInteractionAlertpriortoupdate Section6.1 O
SCRforFUMOServer
Item Function Reference Status Requirement FWUPDATE-S-001 SupportfortheFirmwareUpdateManagementObject Section5 M FWUPDATE-S-002 SupportforreceivingGenericAlert Section6.2 M FWUPDATE-S-003 SupportforCorrelator Section6.2.3 O FWUPDATE-S-004 SupportforExec Section6.3 M
Recommendations (Informative)
a)Itisanticipatedthatupdatingthefirmwarewillrequirethatthedevicebecomeinoperableduringthetimeofthefirmwareupgrade.Itisalsolikelythattheupdateprocesswillnotbecapableofimmediatelyreturningtooperatingconditioninthecaseofaninterruption.Inthecasethatthedevicecannotimmediatelyreturntooperatingcondition,itisrecommendedthattheend-userbepresentedwithawarningthatthedevicewillbeofflineandtheapproximatetimeoftheupdatepriortobeginningthefirmwareinstallation.
b)DeletionoftheUpdatepackageunderthe/x/nodeisanactivitythatneedstobeconductedaftersuccessfulupdate,afteranunsuccessfulupdateattemptandafteranabortedupdateattempt.However,anyspecificationwhensuchdeletesshouldoccurisnotaddressedinthisspecification.Themanagementclientcouldchoosetodeleteitassoonasanupdateissuccessfullyorunsuccessfullyterminated,orwheneverpromptedtodosobytheDMserver.
c)PkgURLandPkgDataaremutuallyexclusive.Onlyoneofthemneedstobeset.
d)ThePkgDatanodecontainstheactualbinaryfirmwareupgradepackage.Oncethepackageisinstalled,theclientcouldremovethedatatosavespace,leavingthenodeempty.Similarly,andtheendofanupdateactivity,theclientcouldremovetheupdatepackagedownloadedfromaserverspecifiedbyaPkgURL.
OMA-TS-DM-FUMO-V1_0_2-20090828-A Page19V(31)
(2009OpenMobileAllianceLtd.AllRightsReserved.UsedwiththepermissionoftheOpenMobileAllianceLtd.underthetermsasstatedinthisdocument. [OMA-Template-Spec-20090101-I]
(2009OpenMobileAllianceLtd.AllRightsReserved.UsedwiththepermissionoftheOpenMobileAllianceLtd.underthetermsasstatedinthisdocument. [OMA-Template-Spec-20090101-I]
|
|