|
@@ -1623,6 +1623,9 @@ namespace MOKA_Factory_Tools
|
|
|
if (WriteACASKey.Checked)
|
|
|
reportdata += "acas_data=" + keyInfo.ACASKey_Data.data + "&";
|
|
|
|
|
|
+ if (WriteDAK.Checked)
|
|
|
+ reportdata += "DAK=" + keyInfo.DAK.data + "&";
|
|
|
+
|
|
|
if (ProjectIDNote.Text != LResource.SkipCovering)
|
|
|
reportdata += "projectid=" + ProjectIDText.Text + "&";
|
|
|
|
|
@@ -2436,6 +2439,20 @@ namespace MOKA_Factory_Tools
|
|
|
goto end;
|
|
|
}
|
|
|
}
|
|
|
+ if (WriteDAK.Checked)
|
|
|
+ {
|
|
|
+ if (CommonMethod.GetKeys(midListNow.host, "DAK", SN, midListNow.keytype["DAK"], errorDBNow, out string hash, out error, orderNow, out string md5))
|
|
|
+ {
|
|
|
+ keyInfo.DAK.data = hash;
|
|
|
+ Log.WriteGetKeyLog("\r\nDAK=" + keyInfo.DAK);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ErrMsg = String.Format("{0}\r\n{1}", LResource.GetDAKKeyError, error);
|
|
|
+ Log.WriteErrorLog(ErrMsg);
|
|
|
+ goto end;
|
|
|
+ }
|
|
|
+ }
|
|
|
watch.Stop();
|
|
|
Log.WriteInfoLog(string.Format("Get All Keys Elapsed={0}", watch.Elapsed.TotalMilliseconds));
|
|
|
}
|
|
@@ -4656,6 +4673,44 @@ namespace MOKA_Factory_Tools
|
|
|
SetcolorStatus(ProductMsg_Text, Color.FromArgb(128, 255, 128));
|
|
|
}
|
|
|
|
|
|
+ // DAK 抄写;
|
|
|
+ if ( WriteDAK.Checked )
|
|
|
+ {
|
|
|
+ if (!CommonMethod.IsNumberAndWord(keyInfo.DAK.data))
|
|
|
+ {
|
|
|
+ ErrMsg = string.Format("DAK format error!\r\n{0}", keyInfo.DAK.data);
|
|
|
+ Log.WriteErrorLog(ErrMsg);
|
|
|
+ goto end;
|
|
|
+ }
|
|
|
+ byte[] DAKData = SerialInit.HexToByte(keyInfo.DAK.data);
|
|
|
+ Log.WriteInfoLog("Write DAK...");
|
|
|
+ if (SerialCMD.SetFireTVDAK(TVPort, DAKData, out result, out data, out error, SerailDelay))
|
|
|
+ {
|
|
|
+ SetsuccessStatus(m_writeDAK);
|
|
|
+ Log.WriteInfoLog("Check DAK...");
|
|
|
+ if (writeCheckNow.DAKCheckcheck ? SerialCMD.CheckFireTVDAK(TVPort, out result, out data, out error, SerailDelay) : true)
|
|
|
+ {
|
|
|
+ SetsuccessStatus(m_checkDAK);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ SetfailStatus(m_checkDAK);
|
|
|
+ ErrMsg = string.Format("{0} check DAK fail!", SN);
|
|
|
+ Log.WriteErrorLog(ErrMsg);
|
|
|
+ goto end;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ SetfailStatus(m_writeDAK);
|
|
|
+ ErrMsg = string.Format("{0} Write DAK fail!", SN);
|
|
|
+ Log.WriteErrorLog(ErrMsg);
|
|
|
+ goto end;
|
|
|
+ }
|
|
|
+
|
|
|
+ keyInfo.DAK.result = true;
|
|
|
+ }
|
|
|
+
|
|
|
// DSN抄写;
|
|
|
if (WriteDSN.Checked)
|
|
|
{
|
|
@@ -5357,6 +5412,12 @@ namespace MOKA_Factory_Tools
|
|
|
SetCheckboxStatus(WriteACASKey, true);
|
|
|
UpdateKeyCount("ACAS_KEY", keys["ACAS_KEY"], false);
|
|
|
}
|
|
|
+ if (keys.ContainsKey("DAK"))
|
|
|
+ {
|
|
|
+ if (writeDoneNow.DAKWrite_YesNo)
|
|
|
+ SetCheckboxStatus(WriteDAK, true);
|
|
|
+ UpdateKeyCount("DAK", keys["DAK"], false);
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -6178,6 +6239,36 @@ namespace MOKA_Factory_Tools
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
+ case "DAK":
|
|
|
+ {
|
|
|
+ url1 = url + "/statdak.do?";
|
|
|
+ item.URL = url1;
|
|
|
+ item.Postdata = "type=" + keytype;
|
|
|
+ HttpResult result = http.GetHtml(item);
|
|
|
+ if (result.StatusCode == System.Net.HttpStatusCode.OK)
|
|
|
+ {
|
|
|
+ Log.WriteGetKeyLog("\r\nGetDAK count:\r\n" + item.URL + "\r\n" + item.Postdata + "\r\n" + result.Html);
|
|
|
+ if (Xmlconfig.KeyCountXml(result.Html, "response", "count", out code, out desc, out count))
|
|
|
+ {
|
|
|
+ if (count == "0")
|
|
|
+ SetKeyCountStatus(DAKCount, count, 2);
|
|
|
+ else
|
|
|
+ SetKeyCountStatus(DAKCount, count, 0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ CommonMethod.ReportErrormsg("Fail to parse DAK count", desc + "\r\n" + result.Html + "\r\nAddress: " + item.URL + "\r\nPostdata: " + item.Postdata, errorDBNow);
|
|
|
+ SetKeyCountStatus(DAKCount, code + "Error", 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ CommonMethod.ReportErrormsg("Fail to get DAK count", result.StatusDescription + "\r\n" + result.Html + "\r\nAddress: " + item.URL + "\r\nPostdata: " + item.Postdata, errorDBNow);
|
|
|
+ SetKeyCountStatus(DAKCount, result.StatusDescription, 1);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
default:
|
|
|
{
|
|
|
break;
|