Bug87690[fota]升级时不能睡眠模式
Change-Id: I3c731ed4c3b5cb7414931142d753751af6905d85
diff --git a/mbtk/liblynq_lib/src/lynq_fota.c b/mbtk/liblynq_lib/src/lynq_fota.c
index 1ac1b68..9b12656 100755
--- a/mbtk/liblynq_lib/src/lynq_fota.c
+++ b/mbtk/liblynq_lib/src/lynq_fota.c
@@ -1,6 +1,7 @@
#include "lynq-qser-fota.h"
#include "mbtk_type.h"
#include "mbtk_fota.h"
+#include "mbtk_log.h"
char addr_buf[128]={0};
@@ -12,7 +13,7 @@
int fota_cb(int status, int percent)
{
-// printf("%d: percent: %d%%\n", percent/10, percent);
+ LOGE("%d: percent: %d%%\n", percent/10, percent);
Process_flag = percent/10;
return 0;
}
@@ -25,12 +26,12 @@
int lynq_rock_main(int first_run)
{
UNUSED(first_run);
- printf("%s, %d", __FUNCTION__, __LINE__);
+ LOGE("%s, %d", __FUNCTION__, __LINE__);
int ret = 0;
- printf("addr_buf:%s, segment_size:%d\n", addr_buf, segment_size);
+ LOGE("addr_buf:%s, segment_size:%d\n", addr_buf, segment_size);
ret = mbtk_fota_init(fota_cb);
- if(!strcmp(addr_buf, "http"))
+ if(strncmp(addr_buf, "http", 4) == 0)
{
ret = mbtk_fota_fw_write_by_url(addr_buf, segment_size,10, 600);
@@ -42,7 +43,7 @@
if(ret)
{
- printf("lynq_rock_main fail\n");
+ LOGE("lynq_rock_main fail\n");
return -1;
}
@@ -56,7 +57,7 @@
{
UNUSED(value);
UNUSED(size);
- printf("111%s, %d", __FUNCTION__, __LINE__);
+ LOGE("%s, %d", __FUNCTION__, __LINE__);
if(value == NULL)
{
@@ -67,19 +68,20 @@
memcpy(addr_buf, value, strlen(value));
segment_size = size;
- printf("addr_buf:%s, value:%s\n", addr_buf, value);
- printf("segment_size:%d, size:%d\n", segment_size, size);
+ LOGE("addr_buf:%s, value:%s\n", addr_buf, value);
+ LOGE("segment_size:%d, size:%d\n", segment_size, size);
return 0;
}
int lynq_fota_nrestart(void)
{
- printf("%s, %d", __FUNCTION__, __LINE__);
+ LOGE("%s, %d", __FUNCTION__, __LINE__);
int ret = 0;
+ LOGE("addr_buf:%s", addr_buf);
ret = mbtk_fota_init(fota_cb);
- if(!strcmp(addr_buf, "http"))
+ if(strncmp(addr_buf, "http", 4) == 0)
{
ret = mbtk_fota_fw_write_by_url(addr_buf, segment_size,10, 600);
}
@@ -90,7 +92,7 @@
if(ret)
{
- printf("lynq_fota_nrestart fail\n");
+ LOGE("lynq_fota_nrestart fail\n");
return -1;
}
@@ -99,7 +101,7 @@
int lynq_get_upgrade_status(void)
{
- printf("%s, %d", __FUNCTION__, __LINE__);
+ LOGE("%s, %d", __FUNCTION__, __LINE__);
return mbtk_fota_status();
}
diff --git a/mbtk/libmbtk_fota/mbtk_fota.c b/mbtk/libmbtk_fota/mbtk_fota.c
index bc8a399..6e67569 100755
--- a/mbtk/libmbtk_fota/mbtk_fota.c
+++ b/mbtk/libmbtk_fota/mbtk_fota.c
@@ -12,6 +12,8 @@
#include <semaphore.h>
#include <cutils/properties.h>
+#include "mbtk_log.h"
+
#ifdef DEBUG
#define fota_log(...) printf(__VA_ARGS__)
@@ -97,7 +99,7 @@
notify_str = blobmsg_get_string(tb[ATTR_SMSGPS]);
len = strlen(notify_str);
- fota_log("%s : %s\r\n", __FUNCTION__, notify_str);
+ LOGE("%s : %s\r\n", __FUNCTION__, notify_str);
// printf("L11111%s : %s\r\n", __FUNCTION__, notify_str);
if (strstr_n(notify_str, "start")) {
fota_cb(0, 0);
@@ -105,12 +107,12 @@
fota_cb(0, 100);
fota_dowload_flag = 4;
// sem_post(&sem);
- printf("download firmware success!\r\n");
+ LOGE("download firmware success!\r\n");
} else if (strstr_n(notify_str, "end[0]")) {
fota_cb(1, 100);
fota_dowload_flag = 5;
// sem_post(&sem);
- printf("download firmware fail!\r\n");
+ LOGE("download firmware fail!\r\n");
}
ret = strstr_n(notify_str, "progress");
if (ret) {
@@ -126,7 +128,7 @@
UNUSEDPARAM(ctx);
UNUSEDPARAM(obj);
UNUSEDPARAM(id);
- fota_log("%s,%d\n", __FUNCTION__, __LINE__);
+ LOGE("%s,%d\n", __FUNCTION__, __LINE__);
}
@@ -143,11 +145,23 @@
int mbtk_fota_fw_write(char* fname, int segment_size)
{
fota_dowload_flag = 3;
- printf("mbtk_fota_fw_write start2\n");
- int L = 1;
+ LOGE("mbtk_fota_fw_write start3\n");
int ret = -1;
static struct ubus_request req;
int _segment_size;
+ char cmd[128]={0};
+
+ if(!access("/sys/power/wake_lock", W_OK))
+ {
+ sprintf(cmd, "echo %s > /sys/power/wake_lock", "ota_lock");
+ system(cmd);
+ LOGE("/sys/power/wake_lock success\n");
+ }
+ else
+ {
+ LOGE("/sys/power/wake_lock can not write.\n");
+ }
+
blob_buf_init(&b, 0);
blobmsg_add_string(&b, "url", fname);
blobmsg_add_u32(&b, "type", 2);
@@ -159,15 +173,10 @@
blobmsg_add_u32(&b, "sync", 1);
ubus_invoke_async(fota_ubus_ctx, fota_request_id, "download", b.head, &req);
ubus_complete_request_async(fota_ubus_ctx, &req);
-#if 1
+
while(1)
{
- if(L == 1)
- {
- // printf("%s, L:%d", __FUNCTION__,L);
- L++;
- }
- /* V2¨´¡Á¡Â */
+ /* V2������ */
// sem_wait(&sem);
// break;
@@ -176,11 +185,21 @@
// printf("break while(), fota_dowload_flag:%d", fota_dowload_flag);
break;
}
- sleep(1);
+ sleep(1);
}
-#endif
-// printf("%s, L:%d, fota_dowload_flag = :%d", __FUNCTION__,L, fota_dowload_flag);
-// printf("mbtk_fota_fw_write end \n");
+
+ if(!access("/sys/power/wake_unlock", W_OK))
+ {
+ char cmd[128]={0};
+ sprintf(cmd, "echo %s > /sys/power/wake_unlock", "ota_lock");
+ system(cmd);
+ LOGE("/sys/power/wake_unlock success\n");
+ }
+ else
+ {
+ LOGE("/sys/power/wake_unlock can not write.\n");
+ }
+ LOGE("%s, fota_dowload_flag = :%d", __FUNCTION__, fota_dowload_flag);
if(fota_dowload_flag == 4)
{
ret = 0;
@@ -207,11 +226,24 @@
int mbtk_fota_fw_write_by_url(char* url, int segment_size,
int conn_timeout, int download_timeout)
{
- printf("mbtk_fota_fw_write_by_url start2\n");
- int ret = -1, L = 1;
+ LOGE("mbtk_fota_fw_write_by_url start2\n");
+ int ret = -1;
fota_dowload_flag = 3;
static struct ubus_request req;
int _segment_size;
+ char cmd[128]={0};
+
+ if(!access("/sys/power/wake_lock", W_OK))
+ {
+ sprintf(cmd, "echo %s > /sys/power/wake_lock", "ota_lock");
+ system(cmd);
+ LOGE("/sys/power/wake_lock success\n");
+ }
+ else
+ {
+ LOGE("/sys/power/wake_lock can not write.\n");
+ }
+
blob_buf_init(&b, 0);
blobmsg_add_string(&b, "url", url);
blobmsg_add_string(&b, "username", "user name");
@@ -227,12 +259,7 @@
while(1)
{
- if(L == 1)
- {
- // printf("%s, L:%d", __FUNCTION__,L);
- L++;
- }
- /* V2¨´¡Á¡Â */
+ /* V2������ */
// sem_wait(&sem);
// break;
@@ -241,11 +268,22 @@
// printf("break while(), fota_dowload_flag:%d", fota_dowload_flag);
break;
}
- sleep(1);
+ sleep(1);
}
- // printf("%s, L:%d, fota_dowload_flag = :%d", __FUNCTION__,L, fota_dowload_flag);
- // printf("mbtk_fota_fw_write_by_url end \n");
+ if(!access("/sys/power/wake_unlock", W_OK))
+ {
+ char cmd[128]={0};
+ sprintf(cmd, "echo %s > /sys/power/wake_unlock", "ota_lock");
+ system(cmd);
+ LOGE("/sys/power/wake_unlock success\n");
+ }
+ else
+ {
+ LOGE("/sys/power/wake_unlock can not write.\n");
+ }
+
+ LOGE("%s, fota_dowload_flag = :%d", __FUNCTION__, fota_dowload_flag);
if(fota_dowload_flag == 4)
{
ret = 0;
@@ -265,17 +303,17 @@
int ret;
ret = pthread_cancel(fota_status_pthread);
- fota_log("kill pthread : %d \n", ret);
+ LOGE("kill pthread : %d \n", ret);
pthread_join(fota_status_pthread, NULL);
do {
ret = pthread_kill(fota_status_pthread, 0);
- fota_log("kill pthread: %d \n", ret);
+ LOGE("kill pthread: %d \n", ret);
if (ret == ESRCH) {
- fota_log("The specified thread does not exist or has terminated\n");
+ LOGE("The specified thread does not exist or has terminated\n");
} else if (ret == EINVAL) {
- fota_log("Useless signal\n");
+ LOGE("Useless signal\n");
} else {
- fota_log("The thread exists\n");
+ LOGE("The thread exists\n");
}
usleep(100000);
} while (0 == ret);
@@ -313,7 +351,7 @@
//register for ril indication
ret = ubus_register_subscriber(fota_ubus_ctx, ¬ification_event);
if (ret) {
- fota_log("%s,%d\n", __FUNCTION__, __LINE__);
+ LOGE("%s,%d\n", __FUNCTION__, __LINE__);
pthread_exit(NULL);
}
notification_event.cb = otad_notify;
@@ -337,7 +375,7 @@
uloop_init();
fota_ubus_ctx = ubus_connect(NULL);
if (!fota_ubus_ctx) {
- fota_log("%s,%d\n", __FUNCTION__, __LINE__);
+ LOGE("%s,%d\n", __FUNCTION__, __LINE__);
uloop_done();
return 0;
}
@@ -348,14 +386,14 @@
//register for ril request
retries = 0;
if (ubus_lookup_id(fota_ubus_ctx, "ota", &fota_request_id)) {
- fota_log("%s,%d\n", __FUNCTION__, __LINE__);
+ LOGE("%s,%d\n", __FUNCTION__, __LINE__);
sleep(1);
} else {
break;
}
} while (retries++ < 20);
if (retries >= 20) {
- printf("%s,%d\n", __FUNCTION__, __LINE__);
+ LOGE("%s,%d\n", __FUNCTION__, __LINE__);
goto fail1;
}
pthread_create(&fota_status_pthread, NULL, (void*)mbtk_fota_thread, NULL);
@@ -383,3 +421,7 @@
}
+
+
+
+