Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

<?xml version="1.0" encoding="UTF-8"?>
<firmware version="1.0" productID="mx3b" macAddress="7c:2f:80:9c:f2:02">

<file version="unique_version_control_string_v3" type="latest" url="http://192.168.178.101/device/firmware/mx3_version3.bin" />
<file version="unique_version_control_string_v3" type="update" url="http://192.168.178.101/device/firmware/mx3_version3.bin" />
<file version="unique_version_control_string_v2" type="update" url="http://192.168.178.101/device/firmware/mx3_version2.bin" />
<file version="unique_version_control_string_v1" type="factory" url="http://192.168.178.101/device/firmware/mx3_version1.bin" />
Section

Provisioning files on the server:

When the provisioning is started, the device will contact the server to download the provisioning files.

Provisioning URLAction:Comment
http://<Server URL>/deviceGET /deviceNo retry
 GET /device/provisioning.xml

Master xml file containing information about location of other files for:

  • Firmware update
  • Settings
  • Custom settings

One retry if file is not present.

 

For provisioning, Provisioning Server has to perform 3 steps:

1) Get provisioning.xml file, so called the starting point for the device, which includes 3 possible types in itself, marked with the <category /> tag: 

  • firmware
  • nvm
  • custom – further steps of the provisioning.

 

Note
titleAdditional information

If the link for provisioning is pointing to a directory or server (PCM will try to download a default file named provisioning.xml (from the current directory), in case of full link pointing to the file, any name can be used. If you want to use encrypted connection, please provide a link starting with https://

Provisioning.xml file

Structure of the provisioning.xml file is shown below:

Code Block
languagexml
titleprovisioning.xml
<?xml version="1.0" encoding="UTF-8"?>
 	<provisioning version="1.0" productID="mx3b">
     	<category type="firmware" url="http:/my_server/maxwell3/firmware/updates.xml"/>
       	<category type="nvm" url="http://my_server/maxwell3 /nvm/updates.xml"/> 
       	<category type="custom"   url="http://my_server/maxwell3 /custom/updates.xml"/>
  	</provisioning>

 

2) Get updates.xml file for each of the category mentioned above, which includes Unique Version Control, productID and MAC address (optional):

  • Unique version control [YYYY-MM-DD_HH:MM:SS] *
  • productID [mx3b]
  • macAddress [optional] **

updates.xml for Firmware category type – provides link to .bin file for downgrading/upgrading device SW version.

updates.xml for NVM category type – provides link to file containing provisioning parameters for the device (list of possible parameters is presented in Appendix A)

updates.xml for Custom category type – provides link to file containing certificates CA.pem

Structure of each file is shown below:

Code Block
languagexml
titleFirmware category type
<?xml version="1.0" encoding="UTF-8"?>
	<firmware version="1.0" productID="mx3b">
    		<file version="2015-01-01_01:01:01" type="latest" url="http://my_server/maxwell3/firmware/v1/GC_mx_3.bin" />
 	</firmware>

The next Figure 2 is presenting the workflow for the firmware update/downgrade procedure between M3B and the Provisioning server:

                                                                                                                                                                                             

                                                                                                                                                                                      

Figure 1 - Workflow for the firmware upgrade/downgrade

After the successful attempt to upgrade/downgrade the device, on the device screen will appear a progress line with "Firmware update in progress..." title. 
 

Code Block
languagexml
titleNVM category type
<?xml version="1.0" encoding="UTF-8"?>
  	<nvm version="1.0" productID="mx3b"macAddress="90:1b:0e:56:c7:bc">
    		<file version="2015-01-01_01:01:01" url= "http://my_server/maxwell3/nvm/mx3_version1.xml"/>
     	<file version="2015-02-02_02:02:02" url= "http://my_server/maxwell3/nvm/mx3_version1.xml" />
  	</nvm>                                                   

 

The provisioning

Table 4 - Structure of update.xml file

must provide additional properties like:

for NVM category type

Warning
titleImportant information
  • UVC must be same in steps 2-3 (see Figure 1) for successful autoprovisioning
  • MAC address must contain lower case letters and ":" signs only
Code Block
languagexml
titleCustom category type
<?xml 

Version [YYYY-MM-DD_HH:MM:SS]
productID [mx3b]
macAddress [optional]

They will be verified before taking any further actions.
If the macAddress is not specified then the corresponding xml file / entry will be applied to all devices. (You need to remove the macAddress and not macAddress="")

Info
titleprovisioning.xml file example
<?xml
version="1.0" encoding="UTF-8"?>

<provisioning
   
 	<scenario version="
1.0"
2015-01-01_01:01:01" productID="mx3b"
macAddress="7c:2f:80:9c:f2:02"> <category
>     
    		<step type="
firmware
certificate" url="http://
192
server.
168
address.
178.101
com/
device
certificates/
firmware/updates
certificate.
xml" />
<category type="nvm" url="/nvm/updates.xml" /> <!-- relative path - use the same server address -->
<!-- You can also use the placeholders like: url="/nvm/%MACD.xml" >

<category type="custom" url="/custom/updates.xml" /> <!-- relative path - use the same server address -->

</provisioning>

Communication with provisioning server after downloading the provisioning.xml:

  1. GET /device/firmware/updates.xml
  2. GET /device/nvm/updates.xml
  3. GET /device/custom/updates.xml

 

Firmware

The provisioning.xml file points to the Firmware file like in the above example:

<category type="firmware" url="http://192.168.178.101/device/firmware/updates.xml" />

The file must provide additional properties like:

Version [YYYY-MM-DD_HH:MM:SS]
productID [mx3b]
macAddress [optional]

They will be verified before taking any further actions.
If the macAddress is not specified then the corresponding xml file / entry will be applied to all devices. (You need to remove the macAddress and not macAddress="")

 

Info
titlefirmware file example
pem" flags="FORCE_ACCEPT" />  
   	</scenario>

Table 5 - Structure of update.xml file for Custom category type

Note
titleSupported extensions
  • Supported formats for certificates are: PEM, DER

 

3) Get firmware.bin, nvm.xml, ca.pem files. This step can be either proceed or skipped during different use-cases as it is shown on the next Control flow between the files described in steps 1)-2):

                                                                                                                           Provisioning guide M3B > image2015-12-9 10:19:18.png" width="700" src="https://teamwork.gigaset.com/gigawiki/download/attachments/383516770/image2015-12-9%2010%3A19%3A18.png?version=1&modificationDate=1449652758000&api=v2" data-image-src="/gigawiki/download/attachments/383516770/image2015-12-9%2010%3A19%3A18.png?version=1&modificationDate=1449652758000&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="383516863" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image2015-12-9 10:19:18.png" data-base-url="https://teamwork.gigaset.com/gigawiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="383516770" data-linked-resource-container-version="34" data-location="EngineeringTeam > Provisioning guide M3B > image2015-12-9 10:19:18.png" data-image-height="393" data-image-width="623" data-mce-src="https://teamwork.gigaset.com/gigawiki/download/attachments/383516770/image2015-12-9%2010%3A19%3A18.png?version=1&modificationDate=1449652758000&api=v2">

                                                                                                                                                                                            Figure 2 – Control flow between files

On the Figure 1:

  • UVC – Unique Version Control, this value is stored in System.Provision.SettingsVersion. Thus, before the first attempt of autoprovisioning this value is equal to “0”, after – value is being changed to “1” and so forth

Note

After verifying of UVC further step (step 3) can be proceed or skipped. Thus, for the successful further proceeding, UVC value has to be the same in step 2 - step 3. 

2.1.1. Steps involved into provisioning

               Below are shown steps which will be involved into the successful provisioning between Maxwell 3B and the Provisioning Server during manual scenario:   

Image Added


                                                                                                                                                                  Figure 3 – Flow chart describing manual provisioning principles

Parameter list.

Here you can find the complete auto provisioning parameter list for the Maxwell 3/B.

 

</firmware>