From 996aa82e504aa80c820db8fe32af937460a399c1 Mon Sep 17 00:00:00 2001 From: payton Date: Thu, 27 Jul 2023 14:02:43 +0800 Subject: [PATCH] =?UTF-8?q?1.ftp=E5=A2=9E=E5=8A=A0=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=202.=E6=A8=A1=E5=9D=97ota=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../source/sf_app/code/include/sf_ftp.h | 4 +- .../source/sf_app/code/source/4gMng/sf_ftp.c | 960 +----------------- 2 files changed, 49 insertions(+), 915 deletions(-) diff --git a/code/application/source/sf_app/code/include/sf_ftp.h b/code/application/source/sf_app/code/include/sf_ftp.h index fa6602525..9ebc4ea1a 100644 --- a/code/application/source/sf_app/code/include/sf_ftp.h +++ b/code/application/source/sf_app/code/include/sf_ftp.h @@ -202,8 +202,8 @@ typedef struct sf_ftp_send_file struct sf_ftp_send_file *next;/* next */ }sf_ftp_send_file_t; -SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, UINT8 timeout); -SINT32 sf_ftp_send(UINT8 *ftpFileName, UINT8 *filePath, UINT8 timeout); +SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, int timeout); +SINT32 sf_ftp_send(UINT8 *ftpFileName, UINT8 *filePath, int timeout); SINT32 sf_ftp_stop(UINT8 ssl, UINT8 GprsMode); SINT32 sf_pic_send_ftp(void); SINT32 sf_txt_send_ftp(void); diff --git a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c index c178a2322..33bf8d25a 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c @@ -176,7 +176,7 @@ SINT32 sf_check_max_num(void) Return: 0 SUCCESS, 1 error Others: N/A *************************************************/ -SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, UINT8 timeout) +SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, int timeout) { UIMenuStoreInfo *pPara = sf_app_ui_para_get(); SINT32 ret = SF_SUCCESS; @@ -562,7 +562,7 @@ SINT32 sf_ftp_config(UINT8 ssl, UINT8 GprsMode, UINT8 timeout) Return: 0 SUCCESS, 1 error Others: N/A *************************************************/ -SINT32 sf_ftp_send(UINT8 *ftpFileName, UINT8 *filePath, UINT8 timeout) +SINT32 sf_ftp_send(UINT8 *ftpFileName, UINT8 *filePath, int timeout) { // printf(" ftp_upload_file ftpFileName = %s filePath = %s\n", ftpFileName, filePath); @@ -878,7 +878,7 @@ SINT32 sf_pic_send_ftp(void) UINT8 piccount = 0; UINT8 pic = 0; UINT8 csqlevel = 0; - UINT8 timeout = 60; + int timeout = 120000; SF_SRCFILE_ATTR_S *pThumbFileCfg = sf_file_thumb_cfg_get(); sf_custom_str_get(CamNameStr); @@ -901,11 +901,11 @@ SINT32 sf_pic_send_ftp(void) if(tempPicSize == 0) { - timeout = 60; + timeout = 120000; } else { - timeout = 120; + timeout = 120000; } #if 0 @@ -1065,7 +1065,7 @@ SINT32 sf_video_send_ftp(void) UINT8 tempPicSize = 0; UINT8 piccount = 0; UINT8 pic = 0; - UINT8 timeout = 120; + int timeout = 120000; UINT8 fileIndex = 0; UINT8 csqlevel = 0; SF_SRCFILE_ATTR_S *pThumbFileCfg = sf_file_thumb_cfg_get(); @@ -1117,7 +1117,7 @@ SINT32 sf_ftp_dailyreport_send(void) UINT8 uploadFname[64] = { 0 }; UINT8 customStr[64] = { 0 }; UINT8 filePath[64] = { 0 }; - UINT8 timeout = 60; + int timeout = 120000; UIMenuStoreInfo *pPara = sf_app_ui_para_get(); printf("%s:%d start\n", __FUNCTION__, __LINE__); @@ -1230,7 +1230,7 @@ SINT32 sf_send_file_to_ftp(UINT8 mode) SINT32 ret2 = SF_SUCCESS; //0:success; else:fail; UINT8 ssl = 0; UINT8 gprsMode = 0; - UINT8 timeout = 30; + int timeout = 120000; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); printf("[%s:%d] s\n", __FUNCTION__, __LINE__); @@ -1243,11 +1243,11 @@ SINT32 sf_send_file_to_ftp(UINT8 mode) { if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) && (puiPara->SendVideoSwitch == 1) && (puiPara->NetGeneration == 4)) //video { - timeout = 100; + timeout = 120000; } else if((2 == puiPara->SendPicSize) && (((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) && (puiPara->SendPhotoSwitch == 1))) //pic(+video) { - timeout = 100; + timeout = 120000; } } @@ -1343,904 +1343,38 @@ SINT32 sf_send_file_to_ftp(UINT8 mode) *************************************************/ SINT32 sf_4g_module_ota_ftp(void) { - SINT32 sts = OTA_NOUPDATE; /*0:updating 1:no update 2:update fail 3:update success*/ - #if 0 - UINT32 location = OTA_FTP_FRIST; - UINT32 errorCode = 0; - UINT32 calltime=0; - UINT32 time = 0; - UINT8 cfgfilehandle[5] = {0}; - UINT8 Version[48] = {0}; - UINT8 srcVersion[48] = {0}; - UINT8 desVersion[48] = {0}; - - UINT8 autoUpdata=0; - - UINT8 *pTemp = NULL; - UINT8 *pTemp1 = NULL; - UINT8 modulVerStr[50]= {0}; - UINT8 ftpIp[40]= {0}; - UINT8 ftpPort[6]= {0}; - UINT8 ftpUsername[40]= {0}; - UINT8 ftpPassword[20]= {0}; - //UINT8 convertUsername[100]= {0}; - //UINT8 convertPassword[100]= {0}; - UINT8 *cfgfilename = NULL; - UINT8 *updatafilename = NULL; - UINT8 tempStr[20] = {0}; - UINT8 baudrateCheckTime = 0; - UINT8 baudrateChangeFlg = 0; - UINT8 pdpInedx = 0; - UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); - SINT32 ttyRet = 0; - - - printf("sf_module_ota_ftp s\n"); - - if(sf_is_enough_power_to_update() == FALSE) - { - return sts; - } - - if(SF_STRSTR(puiPara->ModuleVer, EC25V_MODULE_VER)) - { - cfgfilename = (UINT8 *)OTA_FTP_CFGFILENAME_EC25V; - updatafilename = (UINT8 *)OTA_FTP_UPDATAFILENAME_EC25V; - } - else if(SF_STRSTR(puiPara->ModuleVer, EC25A_MODULE_VER)) - { - cfgfilename = (UINT8 *)OTA_FTP_CFGFILENAME_EC25A; - updatafilename = (UINT8 *)OTA_FTP_UPDATAFILENAME_EC25A; - } - else if(SF_STRSTR(puiPara->ModuleVer, EC25E_MODULE_VER)) - { - cfgfilename = (UINT8 *)OTA_FTP_CFGFILENAME_EC25E; - updatafilename = (UINT8 *)OTA_FTP_UPDATAFILENAME_EC25E; - } - else if(SF_STRSTR(puiPara->ModuleVer, EG91V_MODULE_VER)) - { - cfgfilename = (UINT8 *)OTA_FTP_CFGFILENAME_EG91V; - updatafilename = (UINT8 *)OTA_FTP_UPDATAFILENAME_EG91V; - } - else if(SF_STRSTR(puiPara->ModuleVer, EG91A_MODULE_VER)) - { - cfgfilename = (UINT8 *)OTA_FTP_CFGFILENAME_EG91A; - updatafilename = (UINT8 *)OTA_FTP_UPDATAFILENAME_EG91A; - } - else if(SF_STRSTR(puiPara->ModuleVer, EG91E_MODULE_VER)) - { - cfgfilename = (UINT8 *)OTA_FTP_CFGFILENAME_EG91E; - updatafilename = (UINT8 *)OTA_FTP_UPDATAFILENAME_EG91E; - } - else - { - //appBtnEnable(BTN_ALL); - printf("module ver not support update\n"); - - return sts; - } - - printf("cfgfilename=%s\n", cfgfilename); - printf("updatafilename=%s\n", updatafilename); - - SF_STRCPY(ftpIp, puiPara->OtaFtpIp); - SF_STRCPY(ftpPort, puiPara->OtaFtpPort); - SF_STRCPY(ftpUsername, puiPara->OtaFtpUserName); - SF_STRCPY(ftpPassword, puiPara->OtaFtpPassWord); - - sf_set_module_update(1); - sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 1); - sts = OTA_UPDATING; - - while(sts == OTA_UPDATING) - { - time++; - if(time >= 300) - { - if((location > OTA_FTP_QIACT) && (location < OTA_FTP_OPENCFG)) - { - location = OTA_FTP_QIDEACT; - errorCode = SF_OTA_ERROR_TIME_OUT; - time = 250; - calltime = 0; - SF_SPRINTF(gsmPara, "AT\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - else - { - sts = OTA_TIME_OUT; - } - - printf("update timeout!\n"); - } - - sf_4g_get_data(gsmPara, 200, 1); - printf("time=%d mmc=%d\n", time, location); - sf_tty_data_printf(gsmPara); - - switch(location) - { - case OTA_FTP_FRIST: - SF_SPRINTF(gsmPara, "AT\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_CURVER; - - break; - - case OTA_FTP_CURVER: - if(SF_STRSTR(gsmPara,"OK")) - { - SF_SPRINTF(gsmPara, "AT+QGMR\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QICSGP; - } - else - { - SF_SPRINTF(gsmPara, "AT\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - - break; - - case OTA_FTP_QICSGP: - if(SF_STRSTR(gsmPara,"OK")) - { - pTemp = SF_STRSTR(gsmPara, MODULE_VER); - - if(pTemp != NULL) - { - pTemp1 = SF_STRTOK(pTemp, "\r"); - printf("pTemp1=%s\n", pTemp1); - SF_STRCPY(Version, pTemp1); - printf("Version: %s\n", Version); - - if(SF_STRSTR(puiPara->Sim4gApn, APN_4G_VERIZON)) - { - pdpInedx = V_PDP_INDEX; - SF_SPRINTF(gsmPara,"AT+QICSGP=%d\r", V_PDP_INDEX); - location=OTA_FTP_QICSGP1; - } - else if(SF_STRSTR(puiPara->Sim4gApn, APN_4G_ATT)) - { - pdpInedx = A_PDP_INDEX; - SF_SPRINTF(gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r",A_PDP_INDEX, puiPara->Sim4gApn,puiPara->Sim4gUserName,puiPara->Sim4gPassword); - location=OTA_FTP_QIACT; - } - else - { - pdpInedx = E_PDP_INDEX; - SF_SPRINTF(gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r",E_PDP_INDEX, puiPara->Sim4gApn,puiPara->Sim4gUserName,puiPara->Sim4gPassword); - location=OTA_FTP_QIACT; - } - - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - else - { - printf("Module version unknow error\n"); - errorCode = SF_OTA_ERROR_VERTION_INVAlID; - sts = OTA_NOUPDATE; - } - } - else - { - SF_SPRINTF(gsmPara, "AT+QGMR\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - - break; - - case OTA_FTP_QICSGP1: - if(SF_STRSTR(gsmPara, "OK")) - { - if(SF_STRSTR(gsmPara, "+QICSGP: 0") || SF_STRSTR(gsmPara, "+QICSGP: 1,\"\"")) - { - SF_SPRINTF(gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r",V_PDP_INDEX, puiPara->Sim4gApn,puiPara->Sim4gUserName,puiPara->Sim4gPassword); - } - else - { - SF_SPRINTF(gsmPara, "AT\r"); - } - - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QIACT; - } - break; - - case OTA_FTP_QIACT: - if(SF_STRSTR(gsmPara, "OK")) - { - if((puiPara->GprsMode == 1) && sf_pdp_flg_get()) - { - SF_SPRINTF(gsmPara, "AT+QFTPCFG=\"contextid\",%d\r", pdpInedx); - location = OTA_FTP_QFTPCFG2; - } - else - { - SF_SPRINTF(gsmPara, "AT+QIACT=%d\r", pdpInedx); - location = OTA_FTP_QFTPCFG1; - } - - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - calltime=0; - } - - break; - - case OTA_FTP_QFTPCFG1: - if(SF_STRSTR(gsmPara, "OK")) - { - sf_pdp_flg_set(1); - SF_SPRINTF(gsmPara, "AT+QFTPCFG=\"contextid\",%d\r", pdpInedx); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QFTPCFG2; - calltime=0; - } - else if(SF_STRSTR(gsmPara,"ERROR")) - { - calltime++; - if(calltime < 6) - { - SF_SPRINTF(gsmPara, "AT+QIACT=%d\r", pdpInedx); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - appTimeDelayMs(1800); - } - else - { - location = OTA_FTP_QIDEACT; - calltime=0; - errorCode = SF_OTA_ERROR_QIACT; - SLOGE((SINT8 *)"[ERROR]OTA_FTP QIACT over try 6 times"); - SF_STRCPY(gsmPara, "AT\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - } - - break; - - case OTA_FTP_QFTPCFG2: - //if(SF_STRSTR(gsmPara, "OK")) - { - SF_SPRINTF(gsmPara, "AT+QFTPCFG=\"account\",\"%s\",\"%s\"\r", ftpUsername, ftpPassword); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QFTPCFG3; - } - break; - - case OTA_FTP_QFTPCFG3: - //if(SF_STRSTR(gsmPara, "OK")) - { - SF_SPRINTF(gsmPara, "AT+QFTPCFG=\"filetype\",1\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QFTPCFG4; - } - - break; - - case OTA_FTP_QFTPCFG4: - //if(SF_STRSTR(gsmPara, "OK")) - { - SF_SPRINTF(gsmPara, "AT+QFTPCFG=\"transmode\",1\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location=OTA_FTP_QFTPCFG5; - } - - break; - - case OTA_FTP_QFTPCFG5: - //if(SF_STRSTR(gsmPara, "OK")) - { - SF_SPRINTF(gsmPara, "AT+QFTPCFG=\"restenable\",0\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location=OTA_FTP_QFTPOPEN; - } - - break; - - case OTA_FTP_QFTPOPEN: - if(SF_STRSTR(gsmPara, "OK")) - { - SF_SPRINTF(gsmPara, "AT+QFTPOPEN=\"%s\",%s\r", ftpIp, ftpPort); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QFTPNLST; - } - - break; - - case OTA_FTP_QFTPNLST: - if(SF_STRSTR(gsmPara, "+QFTPOPEN:")) - { - if(SF_STRSTR(gsmPara, "+QFTPOPEN: 0")) - { - SF_SPRINTF(gsmPara, "AT+QFTPNLST=\"%s\",\"COM:\"\r", DFOTA_OTA_DIR); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QFTPGETCFG; - } - else - { - location = OTA_FTP_QIDEACT; - errorCode = SF_OTA_ERROR_FTP_OPEN; - SLOGE((SINT8 *)"OTA_FTP Open Failed."); - SF_STRCPY(gsmPara, "AT\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - } - else if(SF_STRSTR(gsmPara, "+CME ERROR")) - { - location = OTA_FTP_QIDEACT; - errorCode = SF_OTA_ERROR_FTP_OPEN; - SLOGE((SINT8 *)"OTA_FTP QFTPOPEN CME ERROR."); - SF_STRCPY(gsmPara, "AT\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - - break; - - case OTA_FTP_QFTPGETCFG: - if(SF_STRSTR(gsmPara, "+QFTPNLST:")) - { - if((SF_STRSTR(gsmPara, cfgfilename)!= NULL) && (SF_STRSTR(gsmPara, updatafilename)!= NULL)) - { - SF_SPRINTF(gsmPara, "AT+QFTPGET=\"%s/%s\",\"RAM:%s\"\r", DFOTA_OTA_DIR, cfgfilename, cfgfilename); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QFTPCLOSE; - } - else - { - location = OTA_FTP_QIDEACT; - errorCode = SF_OTA_ERROR_FTP_NLST; - SLOGE((SINT8 *)"OTA_FTP NO NEED UPDATA FILE."); - SF_SPRINTF(gsmPara, "AT+QFTPCLOSE\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - } - else if(SF_STRSTR(gsmPara, "+CME ERROR")) - { - location = OTA_FTP_QIDEACT; - errorCode = SF_OTA_ERROR_FTP_NLST; - SLOGE((SINT8 *)"OTA_FTP QFTPNLST CME ERROR."); - SF_SPRINTF(gsmPara, "AT+QFTPCLOSE\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - - break; - - case OTA_FTP_QFTPCLOSE: - if(SF_STRSTR(gsmPara, "+QFTPGET:")) - { - if(SF_STRSTR(gsmPara, "+QFTPGET: 0")) - { - SF_SPRINTF(gsmPara, "AT+QFTPCLOSE\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QIDEACT; - } - else - { - location = OTA_FTP_QIDEACT; - errorCode = SF_OTA_ERROR_FTP_GET; - SLOGE((SINT8 *)"OTA_FTP GET CFG FILE FAIL."); - SF_SPRINTF(gsmPara, "AT+QFTPCLOSE\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - } - else if(SF_STRSTR(gsmPara, "+CME ERROR")) - { - location= OTA_FTP_QIDEACT; - errorCode = SF_OTA_ERROR_FTP_GET; - SLOGE((SINT8 *)"OTA_FTP QFTPGET CME ERROR."); - SF_SPRINTF(gsmPara, "AT+QFTPCLOSE\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - - break; - - case OTA_FTP_QIDEACT: - //if(SF_STRSTR(gsmPara, "OK")) - { - calltime = 0; - - SF_SPRINTF(gsmPara, "AT+QIDEACT=%d\r", pdpInedx); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - sf_pdp_flg_set(0); - - if(errorCode == 0) - location = OTA_FTP_OPENCFG; - else - location = OTA_FTP_END; - } - - break; - - case OTA_FTP_OPENCFG: - if(SF_STRSTR(gsmPara, "OK")) - { - SF_SPRINTF(gsmPara, "AT+QFOPEN=\"RAM:%s\",2\r", cfgfilename); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_SEEKCFG; - } - else if(SF_STRSTR(gsmPara,"ERROR")) - { - calltime++; - if(calltime < 6) - { - SF_SPRINTF(gsmPara, "AT+QIDEACT=%d\r", pdpInedx); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - appTimeDelayMs(1800); - sf_pdp_flg_set(0); - } - else - { - location = OTA_FTP_END; - calltime=0; - errorCode = SF_OTA_ERROR_FTP_QIDEACT; - SLOGE((SINT8 *)"[ERROR]OTA_FTP QIDEACT over try 6 times"); - SF_STRCPY(gsmPara, "AT\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - } - - break; - - case OTA_FTP_SEEKCFG: - if(SF_STRSTR(gsmPara, "+QFOPEN:")) - { - pTemp = SF_STRSTR(gsmPara, "+QFOPEN: "); - SF_STRNCPY(cfgfilehandle, pTemp+9, 4); - printf("cfgfilehandle=%s\n",cfgfilehandle); - - SF_SPRINTF(gsmPara, "AT+QFSEEK=%s,10,0\r", cfgfilehandle); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_READCFG; - } - else if(SF_STRSTR(gsmPara, "+CME ERROR")) - { - SLOGE((SINT8 *)"OTA_FTP QFOPEN CME ERROR."); - location= OTA_FTP_END; - errorCode = SF_OTA_ERROR_FTP_OPEN; - } - - break; - - case OTA_FTP_READCFG: - if(SF_STRSTR(gsmPara, "OK")) - { - SF_SPRINTF(gsmPara, "AT+QFREAD=%s,117\r", cfgfilehandle); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - appTimeDelayMs(500); - location = OTA_FTP_CLOSECFG; - } - else if(SF_STRSTR(gsmPara, "+CME ERROR")) - { - location= OTA_FTP_END; - errorCode = SF_OTA_ERROR_FTP_QFSEEK; - SLOGE((SINT8 *)"OTA_FTP QFSEEK CME ERROR."); - SF_SPRINTF(gsmPara, "AT+QFCLOSE=%s\r", cfgfilehandle); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - - break; - - case OTA_FTP_CLOSECFG: - if(SF_STRSTR(gsmPara, "CONNECT 117") !=NULL) - { - pTemp = SF_STRSTR(gsmPara, "CONNECT 117"); - - if(pTemp[13] == 1) - autoUpdata = 1; - - SF_STRCPY(srcVersion, pTemp+35); - SF_STRCPY(desVersion, pTemp+35+48); - - printf("autoUpdata=%d\n",autoUpdata); - printf("srcVersion=%s\n",srcVersion); - printf("dstVersion=%s\n",desVersion); - - SF_SPRINTF(gsmPara, "AT+QFCLOSE=%s\r", cfgfilehandle); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_QFOTADL; - } - else if(SF_STRSTR(gsmPara, "CONNECT")) - { - printf("DFOTA.CFG READ error\n"); - printf("gsmPara=%s\n",gsmPara); - SLOGE((SINT8 *)"OTA_FTP CFG FILE FORMAT ERROR."); - SF_SPRINTF(gsmPara, "AT+QFCLOSE=%s\r", cfgfilehandle); - location= OTA_FTP_END; - errorCode = SF_OTA_ERROR_FTP_CFGFORMAT; - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - else if(SF_STRSTR(gsmPara, "+CME ERROR")) - { - SLOGE((SINT8 *)"OTA_FTP QFREAD CME ERROR."); - SF_SPRINTF(gsmPara, "AT+QFCLOSE=%s\r", cfgfilehandle); - location= OTA_FTP_END; - errorCode = SF_OTA_ERROR_FTP_QFREAD; - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - - break; - - case OTA_FTP_QFOTADL: - //if((ConfigureModeFlag || module_updata_mms_cmd == 1) || ((StartMode == 8) && (autoUpdata == 1))) - { - if(SF_STRCMP(srcVersion, Version)==0) - { - /*if(ConfigureModeFlag) - { - appOsdLib_OsdLayerShapeClear(APP_OSD_SHAPE_RECT, 0, 104, 320, 32, 0, 0); - appOsdLib_TextIDDraw(320/2, 240/2, SP5K_GFX_ALIGN_CENTER, ID_STR_UPDATING___); - }*/ - //app_FTP_Info_Convert(ftpUsername, convertUsername); - //app_FTP_Info_Convert(ftpPassword, convertPassword); - //SF_SPRINTF(gsmPara, "AT+QFOTADL=\"FTP://%s:%s@%s:%s/DFOTA/%s\"\r", convertUsername, convertPassword, ftpIp, ftpPort,updatafilename); - SF_SPRINTF(gsmPara, "AT+QFOTADL=\"FTP://%s:%s@%s:%s/%s/%s\"\r", ftpUsername, ftpPassword, ftpIp, ftpPort, DFOTA_OTA_DIR, updatafilename); - - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_DOWNLOAD; - } - else - { - sts = OTA_NOUPDATE; - errorCode = SF_OTA_ERROR_VERTION; - printf("src version not equal\n"); - } - - } - /*else - { - printf("NO NEED AUTO UPDATA\n"); - sts = OTA_NOUPDATE; - }*/ - - break; - - case OTA_FTP_DOWNLOAD: - if(SF_STRSTR(gsmPara,"OK")) - { - calltime = 0; - time = 0; - sf_mcu_wdg_set(5); - location = OTA_FTP_UPDATING; - } - else if(SF_STRSTR(gsmPara,"ERROR")) - { - errorCode = SF_OTA_ERROR_FTP_QFOTADL; - sts = OTA_DOWNLOAD_ERROR; - } - - break; - - case OTA_FTP_UPDATING: - if(SF_STRSTR(gsmPara,"\"FTPEND\",0")) - { - printf("gsmPara:%s\n", gsmPara); - time = 0; - calltime = 0; - location = OTA_FTP_UPDATING1; - } - else if(SF_STRSTR(gsmPara,"\"FTPEND\"")) - { - printf("gsmPara:%s\n", gsmPara); - time = 0; - printf("DOWMLOAD ERROR\n"); - SLOGE((SINT8 *)"OTA Download error"); - SLOGE((SINT8 *)gsmPara); - errorCode = SF_OTA_ERROR_FTP_DOWNLOAD; - sts = OTA_DOWNLOAD_ERROR; - } - else - { - time = 0; - calltime++; - printf("calltime:%d\n", calltime); - - if(calltime >= 600) - { - SLOGE((SINT8 *)"OTA Download timeout"); - errorCode = SF_OTA_ERROR_FTP_DOWNLOAD; - sts = OTA_TIME_OUT; - } - - sf_mcu_wdg_set(5); - appTimeDelayMs(800); - } - break; - - case OTA_FTP_UPDATING1: - - if(SF_STRSTR(gsmPara,"+QIND: \"FOTA\",\"START\"") || SF_STRSTR(gsmPara,"+QIND: \"FOTA\",\"UPDATING\"")) - { - location = OTA_FTP_UPDATING2; - } - else - { - if(baudrateCheckTime > 60) - { - baudrateChangeFlg = 1; -#if (SF_4G_UART_NUM != 0) - ros_thread_priority_change((UINT32)UartThrId, 24); - appTimeDelayMs(50); -#endif - printf("sp5kUartInit 115200\n"); - sp5kUartInit(SF_4G_UART_NUM, 115200); - printf("sp5kUartInit 115200\n"); -#if (SF_4G_UART_NUM != 0) - ros_thread_priority_change((UINT32)UartThrId, 14); -#endif - location = OTA_FTP_UPDATING2; - } - else - { - baudrateCheckTime++; - appTimeDelayMs(800); - } - } - - break; - - case OTA_FTP_UPDATING2: - if(SF_STRSTR(gsmPara,"\"END\",0")) - { - printf("gsmPara:%s\n", gsmPara); - time = 0; - - if(baudrateChangeFlg == 1) - { -#if (SF_4G_UART_NUM != 0) - ros_thread_priority_change((UINT32)UartThrId, 24); - appTimeDelayMs(50); -#endif - printf("sp5kUartInit 460800\n"); - sp5kUartInit(SF_4G_UART_NUM, 460800); - printf("sp5kUartInit 460800\n"); -#if (SF_4G_UART_NUM != 0) - ros_thread_priority_change((UINT32)UartThrId, 14); -#endif - } - - location = OTA_FTP_UPDATAEND; - } - else if(SF_STRSTR(gsmPara,"\"END\"")) - { - printf("gsmPara:%s\n", gsmPara); - time = 0; - printf("UPDATED ERROR\n"); - SLOGE((SINT8 *)"OTA update error"); - SLOGE((SINT8 *)gsmPara); - errorCode = SF_OTA_ERROR_FTP_UPDATE; - sts = OTA_UPDATED_ERROR; - - if(baudrateChangeFlg == 1) - { -#if (SF_4G_UART_NUM != 0) - ros_thread_priority_change((UINT32)UartThrId, 24); - appTimeDelayMs(50); -#endif - printf("sp5kUartInit 460800\n"); - sp5kUartInit(SF_4G_UART_NUM, 460800); - printf("sp5kUartInit 460800\n"); -#if (SF_4G_UART_NUM != 0) - ros_thread_priority_change((UINT32)UartThrId, 14); -#endif - } - } - else if(SF_STRSTR(gsmPara,"UPDATING")) - { - printf("gsmPara:%s\n", gsmPara); - - if(ConfigureModeFlag) - { - pTemp=SF_STRSTR(gsmPara,"UPDATING"); - pTemp = pTemp+10; - pTemp1 = SF_STRTOK(pTemp, "\r"); - SF_SPRINTF(tempStr, "Updating %s%%", pTemp1); - appOsdLib_OsdLayerShapeClear(APP_OSD_SHAPE_RECT, 0, 40, 320, 200, 0, 0); - appOsdLib_TextDraw(320/2, 240/2, SP5K_GFX_ALIGN_CENTER, tempStr); - } - - time = 0; - calltime = 0; - sf_mcu_wdg_set(5); - appTimeDelayMs(800); - } - else - { - time = 0; - calltime++; - printf("calltime:%d\n", calltime); - - if(calltime >= 200) - { - SLOGE((SINT8 *)"OTA update timeout"); - errorCode = SF_OTA_ERROR_FTP_UPDATE; - sts = OTA_UPDATED_ERROR; - - if(baudrateChangeFlg == 1) - { -#if (SF_4G_UART_NUM != 0) - ros_thread_priority_change((UINT32)UartThrId, 24); - appTimeDelayMs(50); -#endif - printf("sp5kUartInit 460800\n"); - sp5kUartInit(SF_4G_UART_NUM, 460800); - printf("sp5kUartInit 460800\n"); -#if (SF_4G_UART_NUM != 0) - ros_thread_priority_change((UINT32)UartThrId, 14); -#endif - } - } - appTimeDelayMs(800); - } - break; - - case OTA_FTP_UPDATAEND: - if(SF_STRSTR(gsmPara,"RDY")) - { - appTimeDelayMs(300); - printf("UPDATE END\n"); - SF_SPRINTF(gsmPara, "AT+QGMR\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - location = OTA_FTP_CHECK; - } - else if(SF_STRSTR(gsmPara,"ERROR")) - { - errorCode = SF_OTA_ERROR_FTP_UPDATE; - sts = OTA_UPDATED_ERROR; - } - else - { - appTimeDelayMs(300); - } - - break; - - case OTA_FTP_CHECK: - if(SF_STRSTR(gsmPara, MODULE_VER)) - { - pTemp=SF_STRSTR(gsmPara, MODULE_VER); - - if(pTemp != NULL) - { - pTemp1 = SF_STRTOK(pTemp, "\r"); - printf("pTemp1=%s\n", pTemp1); - SF_STRCPY(Version, pTemp1); - //printf("Version: %s\n", Version); - } - - if(SF_STRCMP(Version, desVersion) == 0) - { - sts = OTA_SUCCESS; - } - else - { - sts = OTA_VERTION_ERROR; - } - } - else - { - SF_SPRINTF(gsmPara, "AT+QGMR\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - } - break; - - case OTA_FTP_END: - SF_STRCPY(gsmPara, "AT\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, SF_STRLEN(gsmPara)); - SF_CHECK_RETURN_OTA(ttyRet, sts, OTA_FAIL, errorCode, SF_GPRS_MODULE_ERROR_WRITE); - sts = OTA_FAIL; - break; - } - - } - sf_set_module_update(0); - sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0); - - /* cal qgmr ver,then save*/ - printf("Version = %s\n",Version); - pTemp = SF_STRSTR(Version, MODULE_VER); - if(pTemp != NULL) - { - UINT8 *pT1 = NULL; - UINT8 *pT2 = NULL; - UINT8 *pT3 = NULL; - - pT1 = SF_STRSTR(pTemp, MODULE_VER_FLG1); - - if(pT1 == NULL) - pT1 = SF_STRSTR(pTemp, MODULE_VER_FLG2); - - pT2 = SF_STRSTR(pTemp,"_"); - printf("pT1 = %s\n",pT1); - printf("pTemp = %s\n",pTemp); - printf("pT2 = %s\n",pT2); - if(pT1 != NULL) - { - UINT8 str1[5] = {0}; - UINT8 str2[5] = {0}; - UINT8 str3[5] = {0}; - UINT8 str4[30] = {0}; - - memcpy(str1, pTemp+4,pT1-pTemp-4); - printf("str1 = %s\n",str1); - memcpy(str2, pT1+3,2); - printf("str2 = %s\n",str2); - memcpy(str3, pT1+6,2); - printf("str3 = %s\n",str3); - - if(pT2 != NULL) - { - pT3 = pT2+1; - SF_STRCPY(modulVerStr, pT3); - pT3 = SF_STRTOK(modulVerStr, "\r"); - } - - if(pT3 != NULL) - { - SF_STRCPY(str4, pT3); - printf("str4 = %s\n",str4); - SF_SPRINTF(puiPara->ModuleQGver,"S%sY%sY%sY%sS",str1,str2,str3,str4); - } - else - { - SF_SPRINTF(puiPara->ModuleQGver,"S%sY%sY%sS",str1,str2,str3); - } - - printf("puiPara->ModuleQGver = %s\n",puiPara->ModuleQGver); - } - } - - printf("Module OTA Update sts:%d errorCode:%d\n", sts, errorCode); - if(errorCode) - { - SF_SPRINTF(errMsg, "%x,", errorCode); - sf_log_error_code(errMsg); - } - - printf("sf_module_ota_ftp e\n"); - - #endif - return sts; + UIMenuStoreInfo *pPara = sf_app_ui_para_get(); + SINT32 ret = SF_SUCCESS; + FtpSslFlag ssl_flag = FTP_SSL_FLAG_END; + const unsigned char *ftpIP; + int port; + const UINT8 *user; + const UINT8 *password; + // FtpConfig config; + + ssl_flag = FTP_SSL_FLAG_DISABLE; + ftpIP = pPara->OtaFtpIp; + port = atoi((const char *)(pPara->OtaFtpPort)); + user = pPara->OtaFtpUserName; + password = pPara->OtaFtpPassWord; + + FtpConfig config = { + .ip = (const char*)ftpIP, + .port = (const unsigned int)port, + .ftpsFlag = ssl_flag, + .user = (const char*)user, + .password = (const char*)password}; + // printf("ftp_manager_init url = %s\n", config.ip); + // printf("ftp_manager_init port = %d param port = %s\n", config.port, pPara->FtpsPort); + // printf("ftp_manager_init ftpsFlag = %d\n", config.ftpsFlag); + // printf("ftp_manager_init user = %s\n", config.user); + // printf("ftp_manager_init password = %s\n", config.password); + ftp_manager_init(config); + + ftp_download_file("EG915QNA.tar.bz2","/mnt/sd/EG915QNA.tar.bz2",0); + return ret; } - /************************************************* Function: sf_connect_ftps_server Description: connect ftps server @@ -2254,7 +1388,7 @@ SINT32 sf_connect_ftps_server(void) SINT32 ret = SF_SUCCESS;//0:success; else:fail; UINT8 ssl = 0; UINT8 gprsMode = 0; - UINT8 timeout = 30; + int timeout = 120000; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); printf("[%s:%d] s\n", __FUNCTION__, __LINE__); @@ -2265,11 +1399,11 @@ SINT32 sf_connect_ftps_server(void) if(((puiPara->CamMode == SF_CAM_MODE_VIDEO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) && (puiPara->SendVideoSwitch == 1) && (puiPara->NetGeneration == 4)) //video { - timeout = 100; + timeout = 120000; } else if((2 == puiPara->SendPicSize) && (((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) && (puiPara->SendPhotoSwitch == 1))) //pic(+video) { - timeout = 100; + timeout = 120000; } ret = sf_ftp_config(ssl, gprsMode, timeout); @@ -3131,7 +2265,7 @@ SINT32 sf_concentrated_ftp_send(void) SINT32 ret2 = SF_SUCCESS; //0:success; else:fail; UINT8 ssl = 0; UINT8 gprsMode = 0; - UINT8 timeout = 100; + int timeout = 120000; UINT8 piccount = 0; UINT8 SendFileTotal = 0; UINT8 battery = 0; @@ -3308,7 +2442,7 @@ SINT32 sf_hd_ftp_send(void) SINT32 ret2 = SF_SUCCESS; //0:success; else:fail; UINT8 ssl = 0; UINT8 gprsMode = 0; - UINT8 timeout = 100; + int timeout = 120000; UINT8 piccount = 0; UINT8 SendFileTotal = 0; UINT8 battery = 0; @@ -3523,7 +2657,7 @@ SINT32 sf_video_ftp_send(void) SINT32 ret2 = SF_SUCCESS; //0:success; else:fail; UINT8 ssl = 0; UINT8 gprsMode = 0; - UINT8 timeout = 100; + int timeout = 120000; UINT8 piccount = 0; UINT8 SendFileTotal = 0; UINT8 battery = 0; @@ -3709,7 +2843,7 @@ SINT32 sf_log_send_ftp(void) UINT8 uploadFname[64] = { 0 }; UINT8 customStr[64] = { 0 }; UINT8 filePath[64] = { 0 }; - UINT8 timeout = 100; + int timeout = 120000; UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UINT8 ssl = 0; UINT8 gprsMode = 0;