Hi Kasun,

Following problems were encountered while completing the OTA upgrade
process.

03-30 22:50:16.534 12103-12116/org.wso2.emm.system.service E/OTA_SM: Update
package file retrieval error.java.io.IOException: open failed: EACCES
(Permission denied)
- This was due to using /cache/update.zip as the OTA package location. This
location was changed to /mnt/sdcard/update.zip in order to read the file
successfully.
- Also added following read and write permissions for the system app.
    <uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />

checkURL() method in OTAServerManager.java hangs while checking the
existence of the URL.
- This implementation is currently invalid since we have a static URL
implementation, therefore the method was made to return true.

Other than that, I have noticed that the server is ACKed even when the OTA
upgrade fails on the device end.
Is there a mechanism to clear the OTA package from the device's file
location once installed? If not, this will lead to a memory overflow.

Thanks,





On Tue, Mar 29, 2016 at 9:11 PM, Kasun Dananjaya Delgolla <kas...@wso2.com>
wrote:

> Hi Gayan,
>
> Seems like OTA process downloads the firmware package. After this, did you
> see logs when the system app tries to trigger the build?
>
> Thanks
>
> On Tue, Mar 29, 2016 at 7:38 PM, Gayan Yalpathwala <gay...@wso2.com>
> wrote:
>
>> Hi Kasun et al,
>>
>> I have implemented this operation and tested on a rooted device with the
>> system app in place.
>>
>> OTA Server
>> =========
>> A file server which serves build.prop and the particular upgrade pack was
>> used as the OTA server. These files need to be added under a sub-directory
>> in the name of the device.
>> Ex:-
>> Device name: c1ktt
>> Files: http://10.10.10.227:8000/c1ktt/build.prop and
>> http://10.10.10.227:8000/c1ktt/c1ktt.ota.zip
>>
>> build.prop
>> ========
>> Attached is a sample build.prop. Key field to be changed is as follows.
>> ro.build.version.release=x.x.x (This version has to be greater than the
>> previous version of the firmware for an upgrade to happen)
>>
>> Server side configurations
>> ====================
>> Following constants need to be changed accordingly
>> in org/wso2/emm/system/service/utils/Constants.java. These configs which
>> are related to the OTA server, will be moved out to an external config file.
>>   public static final String DEFAULT_OTA_SERVER_ADDRESS = "10.10.10.227";
>> public static final String DEFAULT_OTA_SERVER_PROTOCOL = "http";
>> public static final int DEFAULT_OTA_SERVER_PORT = 8000;
>>
>> Logs from system app
>> =================
>> 03-29 18:46:40.114 23424-17321/org.wso2.emm.system.service
>> D/EMMSystemService: Entered onHandleIntent of the Command Runner Service.
>> 03-29 18:46:40.114 23424-17321/org.wso2.emm.system.service
>> D/EMMSystemService: EMM agent has sent a command.
>> 03-29 18:46:40.114 23424-17321/org.wso2.emm.system.service
>> D/EMMSystemService: The operation code is: UPGRADE_FIRMWARE
>> 03-29 18:46:40.114 23424-17321/org.wso2.emm.system.service
>> I/EMMSystemService: Will now executing the command ...UPGRADE_FIRMWARE
>> 03-29 18:46:40.114 23424-17321/org.wso2.emm.system.service
>> D/EMMSystemService: Do task triggered. Code = UPGRADE_FIRMWARE
>> 03-29 18:46:40.114 23424-17321/org.wso2.emm.system.service
>> I/EMMSystemService: An upgrade has been requested
>> 03-29 18:46:40.119 23424-17321/org.wso2.emm.system.service D/Toast:
>>  checkMirrorLinkEnabled returns : false
>> 03-29 18:46:40.119 23424-17321/org.wso2.emm.system.service D/Toast:
>> showing allowed
>> 03-29 18:46:40.119 23424-17321/org.wso2.emm.system.service D/OTA_SC:
>> Loading configuration from file /data/system/ota.conf for product c1ktt
>> 03-29 18:46:40.119 23424-17321/org.wso2.emm.system.service E/OTA_SC:
>> Build property file does not meet required
>> specification.java.io.FileNotFoundException: /data/system/ota.conf: open
>> failed: ENOENT (No such file or directory)
>> 03-29 18:46:40.119 23424-17321/org.wso2.emm.system.service I/OTA_SC:
>> Loading default configuration for product c1ktt.
>> 03-29 18:46:40.119 23424-17321/org.wso2.emm.system.service D/OTA_SC:
>> create a new server config: package url
>> http://10.10.10.227:8000/c1ktt/c1ktt.ota.zip:8000
>> 03-29 18:46:40.119 23424-17321/org.wso2.emm.system.service D/OTA_SC:
>> build.prop URL:http://10.10.10.227:8000/c1ktt/build.prop
>> 03-29 18:46:40.214 23424-17321/org.wso2.emm.system.service D/OTA_SM:
>> Start download: http://10.10.10.227:8000/c1ktt/build.prop to buffer
>> 03-29 18:46:40.214 23424-17321/org.wso2.emm.system.service D/OTA_SM:
>> wrote 1024 into byte output stream
>> 03-29 18:46:40.214 23424-17321/org.wso2.emm.system.service D/OTA_SM:
>> wrote 1024 into byte output stream
>> 03-29 18:46:40.214 23424-17321/org.wso2.emm.system.service D/OTA_SM:
>> wrote 1024 into byte output stream
>> 03-29 18:46:40.219 23424-17321/org.wso2.emm.system.service D/OTA_SM:
>> wrote 166 into byte output stream
>> 03-29 18:46:40.219 23424-17321/org.wso2.emm.system.service D/OTA_SM:
>> Download finished: 3238 bytes downloaded
>> 03-29 18:46:40.219 23424-17321/org.wso2.emm.system.service D/OTA_BPP:
>> tmpDir:/data/data/org.wso2.emm.system.service/files
>>
>> Thanks,
>>
>>
>>
>>
>> On Wed, Feb 10, 2016 at 7:22 PM, Kasun Dananjaya Delgolla <
>> kas...@wso2.com> wrote:
>>
>>> Hi,
>>>
>>> I have implemented the android layer implementation of the above
>>> functionality. How it works is, when the admin sends the upgrade command
>>> from the UI/REST API, android agent app talks to the system service
>>> (implemented as a separate component, since these features require system
>>> level/root access). Then, the system service will invoke the firmware
>>> upgrade following the below steps.
>>>
>>> 1. System app will first downloads the OTA upgrade package's
>>> configuration file "ota.conf" from the OTA server (server URL and ports
>>> have to be configured in the system app)
>>> 2. Then it parses the config file downloaded to read the necessary
>>> configs (ex: upgrade package version, size etc)
>>> 3. System app compares the upgrade package version with the device
>>> existing firmware version.
>>> 4. If the firmware version is greater than the available version, it
>>> downloads the upgrade package from the server.
>>> 5. System app triggers the OTA upgrade.
>>>
>>> Thanks
>>>
>>> On Wed, Feb 10, 2016 at 6:41 PM, Gayan Yalpathwala <gay...@wso2.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I am adding the above function to the REST API layer and to the jaggery
>>>> UI of EMM. With the introduction of this, a privileged user can remotely
>>>> force a firmware upgrade on the device. This facility will only be
>>>> available to COPE devices with the system app installed.
>>>>
>>>> Thanks,
>>>>
>>>> --
>>>> *Gayan Kaushalya Yalpathwala*
>>>> Software Engineer
>>>> WSO2 Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> LK: +94 71 868 2704
>>>> UK: +44 747 844 3609
>>>>
>>>> <http://asia14.wso2con.com/>
>>>>
>>>
>>>
>>>
>>> --
>>> Kasun Dananjaya Delgolla
>>>
>>> Software Engineer
>>> WSO2 Inc.; http://wso2.com
>>> lean.enterprise.middleware
>>> Tel:  +94 11 214 5345
>>> Fax: +94 11 2145300
>>> Mob: + 94 771 771 015
>>> Blog: http://kddcodingparadise.blogspot.com
>>> Linkedin: *http://lk.linkedin.com/in/kasundananjaya
>>> <http://lk.linkedin.com/in/kasundananjaya>*
>>>
>>
>>
>>
>> --
>> *Gayan Kaushalya Yalpathwala*
>> Software Engineer
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> LK: +94 71 868 2704
>> UK: +44 747 844 3609
>>
>> <http://asia14.wso2con.com/>
>>
>
>
>
> --
> Kasun Dananjaya Delgolla
>
> Software Engineer
> WSO2 Inc.; http://wso2.com
> lean.enterprise.middleware
> Tel:  +94 11 214 5345
> Fax: +94 11 2145300
> Mob: + 94 771 771 015
> Blog: http://kddcodingparadise.blogspot.com
> Linkedin: *http://lk.linkedin.com/in/kasundananjaya
> <http://lk.linkedin.com/in/kasundananjaya>*
>



-- 
*Gayan Kaushalya Yalpathwala*
Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

LK: +94 71 868 2704
UK: +44 747 844 3609

<http://asia14.wso2con.com/>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to