Commit c9acdcfb2fa413a21f8ff21002050bc5e804c927

Authored by xiemeng
1 parent 228ff09c

恢复出厂设置

... ... @@ -357,6 +357,7 @@ typedef enum
357 357 SP_BACKUPNV_TO_PC_STAGE,
358 358 SP_BACKUP_NVRAM_STAGE,
359 359 SP_PRODINFO_STAGE,
  360 + SP_RESET_STAGE,
360 361 SP_END_STAGE = 256
361 362 }SMART_PHONE_STAGE_e;
362 363
... ...
... ... @@ -160,13 +160,16 @@ int SNBase::UpdateUIMsg(const char * strMsg, ...)
160 160 {
161 161 int iRet = 0;
162 162 char szBuf[256] = "";
  163 + CString atime;
163 164 va_list varg;
164 165
165 166 va_start(varg, strMsg);
166 167 iRet = vsprintf(szBuf, strMsg, varg);
167 168 va_end(varg);
168 169
169   - g_pMainDlg->myloglist.SetCurSel(g_pMainDlg->myloglist.AddString(strMsg));
  170 + atime.Format("[%2dS]",g_pMainDlg->mytime_count);
  171 +
  172 + g_pMainDlg->myloglist.SetCurSel(g_pMainDlg->myloglist.AddString(atime+strMsg));
170 173
171 174 return iRet;
172 175 }
... ...
... ... @@ -110,7 +110,8 @@ META_RESULT SmartPhoneSN::WriteNvramLoop()
110 110 MULTIIMEI_OPTION_e multiIMEIOption = SINGLE_MD_SINGLE_IMEI;
111 111
112 112 int iRet = 0;
113   - int iRet2 = 0;
  113 + int iRetimei1 = 0;
  114 + int iRetimei2 = 0;
114 115 int option = 0;
115 116 double fBeginProcess = 0.25;
116 117 double fStep = 0.04;
... ... @@ -123,7 +124,13 @@ META_RESULT SmartPhoneSN::WriteNvramLoop()
123 124 int MDIndex = 0;
124 125 int IMEI_index = 0;
125 126 bool bWriteModemFail = false;
126   - if (g_sMetaComm.eTargetType == SMART_PHONE_DUALMODEM || m_bDSDAProject)
  127 + SPMETA_DLL::EMMC_CLEAR_CNF_S aclear_cnf;
  128 + SPMETA_DLL::EMMC_FORMAT_TCARD_CNF_S aformat_tcard;
  129 + SPMETA_DLL::META_RESULT SPMetaclear = SPMETA_DLL::META_FAILED;
  130 + SPMETA_DLL::META_RESULT SPMetaformat = SPMETA_DLL::META_FAILED;
  131 +
  132 +
  133 + if (g_sMetaComm.eTargetType == SMART_PHONE_DUALMODEM || m_bDSDAProject)
127 134 {
128 135 mdNums = 2;
129 136 g_sMetaComm.sIMEIOption.iImeiNums = 2;
... ... @@ -177,7 +184,6 @@ META_RESULT SmartPhoneSN::WriteNvramLoop()
177 184 spNextStage = SP_END_STAGE;
178 185 }
179 186 break;
180   -
181 187 case SP_IMEI_RD_STAGE:
182 188 {
183 189 CString str_imei;
... ... @@ -185,9 +191,13 @@ META_RESULT SmartPhoneSN::WriteNvramLoop()
185 191 char a_imei_ary2[16];
186 192 char tmpBuf1[20] = {0};
187 193 char tmpBuf2[20] = {0};
188   - iRet = REQ_ReadModem_NVRAM_Start(WRITE_IMEI, tmpBuf1, 1);
189   - iRet2 = REQ_ReadModem_NVRAM_Start(WRITE_IMEI, tmpBuf2, 2);
190   - if (iRet == META_SUCCESS || iRet2 == META_SUCCESS)
  194 + META_RESULT calc_imei1 = META_SUCCESS;
  195 + META_RESULT calc_imei2 = META_SUCCESS;
  196 + unsigned short checksum_v;
  197 +
  198 + iRetimei1 = REQ_ReadModem_NVRAM_Start(WRITE_IMEI, tmpBuf1, 1);
  199 + iRetimei2 = REQ_ReadModem_NVRAM_Start(WRITE_IMEI, tmpBuf2, 2);
  200 + if (iRetimei1 == META_SUCCESS || iRetimei2 == META_SUCCESS)
191 201 {
192 202 memset(a_imei_ary,0,16);
193 203 memset(a_imei_ary2,0,16);
... ... @@ -206,6 +216,8 @@ META_RESULT SmartPhoneSN::WriteNvramLoop()
206 216 }
207 217 a_imei_ary[15] = 0;
208 218 a_imei_ary2[15] = 0;
  219 + calc_imei1 = META_NVRAM_Calculate_IMEI_CD(a_imei_ary, &checksum_v);
  220 + calc_imei2 = META_NVRAM_Calculate_IMEI_CD(a_imei_ary2, &checksum_v);
209 221 g_pMainDlg->GetDlgItem(IDC_STATIC_IMEI1)->SetWindowText(a_imei_ary);
210 222 g_pMainDlg->GetDlgItem(IDC_STATIC_IMEI2)->SetWindowText(a_imei_ary2);
211 223 if (g_pMainDlg->myscanimei1 == CString(a_imei_ary) &&
... ... @@ -213,29 +225,61 @@ META_RESULT SmartPhoneSN::WriteNvramLoop()
213 225 {
214 226 UpdateUIMsg("IMEI matches successfully!!!");
215 227 spNextStage = SP_END_STAGE;
216   - iRet = META_SUCCESS;
  228 + iRet = SP_MD2AP_STAGE;
217 229 }
218 230 else
219 231 {
220 232 UpdateUIMsg("IMEI wrong!!!");
221   - spNextStage = SP_END_STAGE;
222   - iRet = META_FAILED;
  233 + spNextStage = SP_MD2AP_STAGE;
  234 + iRetimei1 = META_FAILED;
223 235 }
224 236
225 237 }
226 238 else
227 239 {
228 240 UpdateUIMsg("IMEI failed to read");
229   - spNextStage = SP_END_STAGE;
  241 + spNextStage = SP_MD2AP_STAGE;
230 242 iRet = META_FAILED;
231 243 }
232 244 }
233 245 break;
  246 + case SP_MD2AP_STAGE:
  247 + iRet = ModemSwithToAPMeta();
  248 + if (iRet == META_SUCCESS)
  249 + {
  250 + UpdateUIMsg("Start to restore factory settings!!!");
  251 + spNextStage = SP_RESET_STAGE;
  252 + }
  253 + else
  254 + {
  255 + UpdateUIMsg("reset to factory fail");
  256 + spNextStage = SP_END_STAGE;
  257 + }
  258 + break;
  259 + case SP_RESET_STAGE:
  260 + {
  261 + if (g_pMainDlg->myflag_reset)
  262 + {
  263 + SPMetaclear = SPMETA_DLL::SP_META_ClearValue_r(m_hSPMetaHandle, 5000, &aclear_cnf);
  264 + SPMetaformat = SPMETA_DLL::SP_META_EMMC_FormatTCard_r(m_hSPMetaHandle, 20000, &aformat_tcard);
  265 + if (SPMetaclear)
  266 + {
  267 + UpdateUIMsg("reset to factory fail");
  268 + spNextStage = SP_END_STAGE;
  269 + }
  270 + else
  271 + {
  272 + UpdateUIMsg("reset to factory Sucess");
  273 + spNextStage = SP_END_STAGE;
  274 + }
  275 + }
  276 + }
  277 + break;
234 278 }
235 279 spStage = spNextStage;
236 280 }
237 281 MTRACE (g_hEBOOT_DEBUG, "SmartPhoneSN::WriteNvramLoop() end...");
238   - return (META_RESULT)iRet;
  282 + return (META_RESULT)(iRet || SPMetaclear||iRetimei1||iRetimei2);
239 283 }
240 284
241 285 int SmartPhoneSN::GetSPModemInfo_Ex()
... ... @@ -3704,8 +3748,6 @@ void SmartPhoneSN::ThreadMainEntryPoint()
3704 3748 byte resultQC;
3705 3749
3706 3750 SPMETA_DLL::VerInfo_V2_Cnf a_v2cnf;
3707   - SPMETA_DLL::EMMC_CLEAR_CNF_S aclear_cnf;
3708   - SPMETA_DLL::EMMC_FORMAT_TCARD_CNF_S aformat_tcard;
3709 3751
3710 3752
3711 3753 short a_token;
... ... @@ -3943,19 +3985,6 @@ void SmartPhoneSN::ThreadMainEntryPoint()
3943 3985 }
3944 3986
3945 3987 }
3946   - if (g_pMainDlg->myflag_reset)
3947   - {
3948   - SPMETA_DLL::META_RESULT SPMetaclear = SPMETA_DLL::META_SUCCESS;
3949   - SPMETA_DLL::META_RESULT SPMetaformat = SPMETA_DLL::META_SUCCESS;
3950   - SPMetaclear = SPMETA_DLL::SP_META_ClearValue_r(m_hSPMetaHandle, 5000, &aclear_cnf);
3951   - SPMetaformat = SPMETA_DLL::SP_META_EMMC_FormatTCard_r(m_hSPMetaHandle, 5000, &aformat_tcard);
3952   - if (SPMetaclear || SPMetaformat)
3953   - {
3954   - UpdateUIMsg("reset to factory fail");
3955   - bAnyOperationFail = true;
3956   - }
3957   - }
3958   -
3959 3988 #endif
3960 3989 }
3961 3990
... ...
... ... @@ -80,7 +80,7 @@ BSC32=bscmake.exe
80 80 # ADD BSC32 /nologo
81 81 LINK32=link.exe
82 82 # ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
83   -# ADD LINK32 shlwapi.lib "./mtklib/meta/lib/*.lib" "./mtklib/Eboot/lib/*.lib" "./mtklib/Security/lib/*.lib" "./mtklib/SNFstream/lib/*.lib" "./mtklib/DebugTrace/lib/*.lib" "./mtklib/usbswitchtool/lib/*.lib" /nologo /subsystem:windows /debug /machine:I386 /out:"Output/IMEI_Check_tool.exe" /pdbtype:sept
  83 +# ADD LINK32 shlwapi.lib "./mtklib/meta/lib/*.lib" "./mtklib/Eboot/lib/*.lib" "./mtklib/Security/lib/*.lib" "./mtklib/SNFstream/lib/*.lib" "./mtklib/DebugTrace/lib/*.lib" "./mtklib/usbswitchtool/lib/*.lib" /nologo /subsystem:windows /debug /machine:I386 /out:"..\intex_tool\check_imei.exe" /pdbtype:sept
84 84 # SUBTRACT LINK32 /pdb:none /incremental:no
85 85
86 86 !ENDIF
... ...
Please register or login to post a comment