From: snickersun Date: Mon, 2 Mar 2020 10:08:27 +0000 (+0800) Subject: 添加 FT6236U 固件升级功能,需要配合 copy_apk_to_data.sh 修改对应设备节点的访问权限。build.prop需要添加 product... X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=c4fd2c6515596d1bc943c7526fd3ecc6ac176ec7;p=icsupport.git 添加 FT6236U 固件升级功能,需要配合 copy_apk_to_data.sh 修改对应设备节点的访问权限。build.prop需要添加 product.tp.upgradeable=true V366 --- diff --git a/app/release/ICSer_V364_2002291814_release.apk b/app/release/ICSer_V364_2002291814_release.apk deleted file mode 100644 index dee3a22f..00000000 Binary files a/app/release/ICSer_V364_2002291814_release.apk and /dev/null differ diff --git a/app/release/ICSer_V366_2003021805_release.apk b/app/release/ICSer_V366_2003021805_release.apk new file mode 100644 index 00000000..97bbea34 Binary files /dev/null and b/app/release/ICSer_V366_2003021805_release.apk differ diff --git a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java index 9ac8e128..37b15795 100644 --- a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java +++ b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java @@ -471,6 +471,36 @@ public class ICSmsManager { sendSMS(phonenumber, "set LogFtp ctl format error! "+sms); } + }else if (sms.startsWith("#TP#=")) { + String tmp[] = sms.split("="); + if (tmp.length == 2) { + if (tmp[1].equals("getver")) { + if (Util.is_FT6236U_upgrade_firmware_support()){ + Util.FT6236U_getVer(); + String ver=Util.FT6236U_getVer(); + sendSMS(phonenumber, " Current FT6236U Firmware Version is "+ver+"!"); + }else { + sendSMS(phonenumber, " system Not Support FT6236U upgrade Firmware!"); + } + } else if (tmp[1].equals("upgrade")) { + if (Util.is_FT6236U_upgrade_firmware_support()){ + + if (Util.FT6236U_upgrade_firmware()){ + Util.FT6236U_getVer(); + String ver=Util.FT6236U_getVer(); + sendSMS(phonenumber, " Current FT6236U Firmware Version is "+ver+"!"); + }else{ + sendSMS(phonenumber, " FT6236U Firmware upgrade failed !"); + } + }else { + sendSMS(phonenumber, " system Not Support FT6236U upgrade Firmware!"); + } + } else { + sendSMS(phonenumber, "TP cmd format error!"); + } + } else { + sendSMS(phonenumber, "TP cmd format error!"); + } }else { return false; } diff --git a/app/src/main/java/com/enqualcomm/support/utils/Util.java b/app/src/main/java/com/enqualcomm/support/utils/Util.java index e0ba83b2..67a9445f 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/Util.java +++ b/app/src/main/java/com/enqualcomm/support/utils/Util.java @@ -18,6 +18,7 @@ import java.io.ByteArrayOutputStream; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -37,9 +38,6 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; -import okio.BufferedSink; -import okio.Okio; -import okio.Source; import com.enqualcomm.support.CoreService; import com.enqualcomm.support.bean.Runtime; @@ -58,8 +56,49 @@ public class Util { public static Charset UTF_8 = Charset.forName("UTF-8"); + private static String FT6236U_upgrade_dev="/sys/devices/platform/soc/soc:ap-apb/70800000.i2c/i2c-3/3-0038/ftsfwupdate"; + private static String FT6236U_getver_dev="/sys/devices/platform/soc/soc:ap-apb/70800000.i2c/i2c-3/3-0038/ftstpfwver"; + public static boolean is_FT6236U_upgrade_firmware_support(){ + boolean ret=getSystemProperties("product.tp.upgradeable").toLowerCase().equals("yes"); + return ret; + } + + public static boolean FT6236U_upgrade_firmware(){ + boolean ret=true; + try { + File nod=new File(FT6236U_upgrade_dev); + ICLogger.i("can upgrade ? "+nod.exists()+" "+nod.canWrite()+"\n"); + FileOutputStream fos=new FileOutputStream(nod); + fos.write(new byte[]{'1'}); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + ret=false; + } + return ret; + } + + public static String FT6236U_getVer(){ + String ret="not found"; + try { + File nod=new File(FT6236U_getver_dev); + FileInputStream fis=new FileInputStream(nod); + byte buf[]=new byte[20]; + int bytes_readed=fis.read(buf,0,buf.length); + fis.close(); + char charArray[]=new char[20]; + for (int i=0;i