|
@@ -696,6 +696,9 @@ namespace MOKA_Factory_Tools
|
|
|
ProjectIDText.Text = MidAddressNow.pid;
|
|
|
}
|
|
|
SNText.Text = "";
|
|
|
+#if SIMULATION
|
|
|
+ SNText.Text = "test0205002yi";
|
|
|
+#endif
|
|
|
SNTextFocus = new Thread(TextBoxFocus);
|
|
|
SNTextFocus.Start();
|
|
|
SNText.Focus();
|
|
@@ -1703,6 +1706,9 @@ namespace MOKA_Factory_Tools
|
|
|
string error = "";
|
|
|
// 报错信息;
|
|
|
string ErrMsg = "";
|
|
|
+ string psn = "";
|
|
|
+ string devicecode = "";
|
|
|
+#if !SIMULATION
|
|
|
//进工厂
|
|
|
if (!TVPort.IsOpen)
|
|
|
{
|
|
@@ -1735,6 +1741,7 @@ namespace MOKA_Factory_Tools
|
|
|
ShowVerifyDelegate(ErrMsg);
|
|
|
goto stop;
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
//烧录SN
|
|
|
if (WritePSN.Checked)
|
|
@@ -2151,7 +2158,9 @@ namespace MOKA_Factory_Tools
|
|
|
watch.Start();
|
|
|
if (WriteDID.Checked)
|
|
|
{
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "DeviceID", SN, "devicetype=tcl_unknown_model", errorDBNow, out string did, out error, orderNow, out string md5))
|
|
|
+#if !SIMULATION
|
|
|
+ // 读取dvicecode
|
|
|
+ if (SerialCMD.GetFireTVDevcieCode(TVPort, out result, out data, out error, SerailDelay))
|
|
|
{
|
|
|
keyInfo.DID.data = did;
|
|
|
Log.WriteGetKeyLog("\r\nDeviceID=" + keyInfo.DID);
|
|
@@ -2277,6 +2286,10 @@ namespace MOKA_Factory_Tools
|
|
|
Log.WriteErrorLog(ErrMsg);
|
|
|
goto end;
|
|
|
}
|
|
|
+#else
|
|
|
+ devicecode = "G9V2GV0123260000";
|
|
|
+ psn = keyInfo._PSN.data = "B22013921-0B00018";
|
|
|
+#endif
|
|
|
}
|
|
|
if (WriteMGK.Checked && midListNow.keytype.ContainsKey("MGK_KEY"))
|
|
|
{
|
|
@@ -2307,119 +2320,9 @@ namespace MOKA_Factory_Tools
|
|
|
goto end;
|
|
|
}
|
|
|
}
|
|
|
- if (WriteWifiMac.Checked && midListNow.keytype.ContainsKey("MAC"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "MAC", "WiFi_MAC" + SN, midListNow.keytype["MAC"], errorDBNow, out string mac, out error, orderNow, out string md5))
|
|
|
- {
|
|
|
- keyInfo.WiFi_MAC.data = mac;
|
|
|
- Log.WriteGetKeyLog("\r\nWiFi_MAC=" + keyInfo.WiFi_MAC);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetMacError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WriteBTMac.Checked && midListNow.keytype.ContainsKey("MAC"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "MAC", "BT_MAC" + SN, midListNow.keytype["MAC"], errorDBNow, out string mac, out error, orderNow, out string md5))
|
|
|
- {
|
|
|
- keyInfo.BT_MAC.data = mac;
|
|
|
- Log.WriteGetKeyLog("\r\nBT_MAC=" + keyInfo.BT_MAC);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetMacError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WriteECP.Checked && midListNow.keytype.ContainsKey("ECP_KEY"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "ECP_KEY", SN, midListNow.keytype["ECP_KEY"], errorDBNow, out string ecp, out error, orderNow, out string md5))
|
|
|
- {
|
|
|
- keyInfo.ECP.data = ecp;
|
|
|
- Log.WriteGetKeyLog("\r\nECP_KEY=" + keyInfo.ECP);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetECPError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WriteLEK.Checked && midListNow.keytype.ContainsKey("LEK"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "LEK", SN, midListNow.keytype["LEK"], errorDBNow, out string lek, out error, orderNow, out string md5))
|
|
|
- {
|
|
|
- keyInfo.LEK.data = lek;
|
|
|
- Log.WriteGetKeyLog("\r\nLEK=" + keyInfo.LEK);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetLEKError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WritePEK.Checked && midListNow.keytype.ContainsKey("PEK"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "PEK", SN, midListNow.keytype["PEK"], errorDBNow, out string pek, out error, orderNow, out string md5))
|
|
|
- {
|
|
|
- keyInfo.PEK.data = pek;
|
|
|
- Log.WriteGetKeyLog("\r\nPEK=" + keyInfo.PEK);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetPEKError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WritePlayready.Checked && midListNow.keytype.ContainsKey("PlayReady_key"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "PlayReady_key", SN, midListNow.keytype["PlayReady_key"], errorDBNow, out string playready, out error, orderNow, out string md5))
|
|
|
- {
|
|
|
- keyInfo.Playready.data = playready;
|
|
|
- Log.WriteGetKeyLog("\r\nPlayReady_key=" + keyInfo.Playready);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetPlayreadyError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WriteHash.Checked && midListNow.keytype.ContainsKey("Hashkey"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "Hashkey", SN, midListNow.keytype["Hashkey"], errorDBNow, out string hash, out error, orderNow, out string md5))
|
|
|
- {
|
|
|
- keyInfo.Hashkey.data = hash;
|
|
|
- Log.WriteGetKeyLog("\r\nHashkey=" + keyInfo.Hashkey);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetHashkeyError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WriteYouTube.Checked && midListNow.keytype.ContainsKey("YouTube_KEY"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetKeys(midListNow.host, "YouTube_KEY", SN, midListNow.keytype["YouTube_KEY"], errorDBNow, out string youtube, out error, orderNow, out string md5))
|
|
|
- {
|
|
|
- keyInfo.YouTube_KEY.data = youtube;
|
|
|
- Log.WriteGetKeyLog("\r\nYouTube_KEY=" + keyInfo.YouTube_KEY);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetYouTubekeyError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WriteEDIDPID.Checked && midListNow.keytype.ContainsKey("edid_pid"))
|
|
|
+
|
|
|
+#region EDID屏抄写是从MID中获取值;
|
|
|
+ if (WriteEDIDPID.Checked)
|
|
|
{
|
|
|
keyInfo.EDIDPid.data = midListNow.keytype["edid_pid"];
|
|
|
}
|
|
@@ -2427,45 +2330,12 @@ namespace MOKA_Factory_Tools
|
|
|
{
|
|
|
keyInfo.EDIDModelName.data = midListNow.keytype["edid_model_name"];
|
|
|
}
|
|
|
- if (WriteACASKey.Checked && midListNow.keytype.ContainsKey("ACAS_KEY"))
|
|
|
- {
|
|
|
- if (CommonMethod.GetAcasKey(midListNow.host, "ACAS_KEY", SN, midListNow.keytype["ACAS_KEY"], errorDBNow, orderNow, out string acaskey_data, out string acaskey_datamd5, out string acaskey_tool, out string acaskey_toolmd5, out error))
|
|
|
- {
|
|
|
- keyInfo.ACASKey_Data.data = acaskey_data;
|
|
|
- keyInfo.ACASKey_DataMd5.data = acaskey_datamd5;
|
|
|
-
|
|
|
- keyInfo.ACASKey_Tool.data = acaskey_tool;
|
|
|
- keyInfo.ACASKey_ToolMd5.data = acaskey_toolmd5;
|
|
|
-
|
|
|
- Log.WriteGetKeyLog("\r\nACAS_KEY_DATA=" + keyInfo.ACASKey_Data.data + "\r\nACAS_KEY_MD5=" + keyInfo.ACASKey_DataMd5);
|
|
|
- Log.WriteGetKeyLog("\r\nACAS_KEY_TOOL=" + keyInfo.ACASKey_Tool.data + "\r\nACAS_KEY_TOOLMD5=" + keyInfo.ACASKey_ToolMd5);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ErrMsg = String.Format("{0}\r\n{1}", LResource.GetACASKeyError, error);
|
|
|
- Log.WriteErrorLog(ErrMsg);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- if (WriteDAK.Checked && midListNow.keytype.ContainsKey("DAK"))
|
|
|
- {
|
|
|
- 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;
|
|
|
- }
|
|
|
- }
|
|
|
+#endregion
|
|
|
watch.Stop();
|
|
|
Log.WriteInfoLog(string.Format("Get All Keys Elapsed={0}", watch.Elapsed.TotalMilliseconds));
|
|
|
}
|
|
|
|
|
|
- #region 小米FireTV功能启用;
|
|
|
+#region 小米FireTV功能启用;
|
|
|
if (FunctionSettingNow.MITVEnable)
|
|
|
{
|
|
|
// 获取Key;
|
|
@@ -2521,9 +2391,10 @@ namespace MOKA_Factory_Tools
|
|
|
SetCheckboxStatus(WriteWifiMac, false);
|
|
|
}
|
|
|
}
|
|
|
- #endregion
|
|
|
+#endregion
|
|
|
|
|
|
- #region 开始抄写;
|
|
|
+#if !SIMULATION
|
|
|
+#region 开始抄写;
|
|
|
// 如果是抄写EDID,则不获取白平衡数据;
|
|
|
if (CommonMethod.IsEDIDCopy(midListNow))
|
|
|
{
|
|
@@ -3732,7 +3603,8 @@ namespace MOKA_Factory_Tools
|
|
|
keyInfo.Playready.result = true;
|
|
|
}
|
|
|
|
|
|
- #region FVP激活-放在Hash key抄写之后,应用于所有FireTV项目-已通过郁沛确认;
|
|
|
+
|
|
|
+#region FVP激活-放在Hash key抄写之后,应用于所有FireTV项目-已通过郁沛确认;
|
|
|
if (WriteFVP.Checked)
|
|
|
{
|
|
|
Log.WriteInfoLog("Activate FVP...");
|
|
@@ -3764,7 +3636,7 @@ namespace MOKA_Factory_Tools
|
|
|
// fvp没key内容;
|
|
|
//keyInfo.Hashkey.result = true;
|
|
|
}
|
|
|
- #endregion
|
|
|
+#endregion
|
|
|
|
|
|
// Dolby Key抄写;
|
|
|
if ( cfg_writecheck.DolbyCheckcheck )
|
|
@@ -4781,7 +4653,7 @@ namespace MOKA_Factory_Tools
|
|
|
keyInfo.DSN.result = true;
|
|
|
}
|
|
|
|
|
|
- #region 小米FireTV功能;
|
|
|
+#region 小米FireTV功能;
|
|
|
if (FunctionSettingNow.MITVEnable)
|
|
|
{
|
|
|
#if true
|
|
@@ -4912,9 +4784,9 @@ namespace MOKA_Factory_Tools
|
|
|
goto end;
|
|
|
}
|
|
|
}
|
|
|
- #endregion
|
|
|
- #endregion
|
|
|
-
|
|
|
+#endregion
|
|
|
+#endregion
|
|
|
+#endif
|
|
|
//数据上传
|
|
|
if (midListNow.host == "LocalPC" && !preloadNow)
|
|
|
{// 离线抄写
|
|
@@ -6306,7 +6178,7 @@ namespace MOKA_Factory_Tools
|
|
|
keyInfo.DAK.enable = WriteDAK.Checked = (WriteDAK.Checked && m_writeDAK.Text != LResource.Skip);
|
|
|
keyInfo.FVP.enable = WriteFVP.Checked = (WriteFVP.Checked && m_writeFVP.Text != LResource.Skip);
|
|
|
keyInfo.DSN.enable = WriteDSN.Checked = (WriteDSN.Checked && m_writeDSN.Text != LResource.Skip);
|
|
|
- //keyInfo.Dolby.enable = WriteDolby.Checked = (WriteDolby.Checked && m_writeDolby.Text != LResource.Skip);
|
|
|
+ keyInfo.Fairplay.enable = WriteFairplay.Checked = (WriteFairplay.Checked && m_writeFairplay.Text != LResource.Skip);
|
|
|
|
|
|
bool preloadresult = false;
|
|
|
|