Update

The Update Service

  • downloads update_info.xml files
  • reads version information
  • starts the Update System if necessary

When activ, the phone checks for updates after every provisioning. It uses the URL from the configuration. The server must provide a file named update_info.xml on the configured URL. The update_info.xml contains information about the ROM files version, which is used to determine whether a download is necessary. The option Automatically install update allows a direct installation of new firmware.

The Update System

  • downloads firmware files
  • checks the ROMs signature and size
  • writes the ROM to the phones partitions

The following update_info.xml describes the ROM files version and location:

update_info.xml
<UpdateInfo>
    <Version name="1.0A-00000" url="http://192.168.1.239/update.rom"/>
</UpdateInfo>

The following XSD validates update_info.xml files:

update_info.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="UpdateInfo">
    <xsd:complexType>
      <xsd:all>
        <xsd:element name="Version">
          <xsd:complexType>
            <xsd:attribute name="name" type="nameType" use="required"/>
            <xsd:attribute name="url" type="xsd:anyURI" use="required"/>
          </xsd:complexType>
        </xsd:element>
      </xsd:all>
    </xsd:complexType>
  </xsd:element>
 
  <xsd:simpleType name="nameType">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="\d+\.\d+[A-Z]-\d{5}(-\d+-g[0-9a-f]{6,20})?"/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>