Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92
现象:
第三方应用需要根据serialno来产生license, 但是遇到不同板子有相同serialno值的问题。
原因:
serialno对应的文件被缓存在了data分区,当核心板和主板即rk3288 cpu和wifi芯片不在同一块板子上是,如果有出现交换的情况。举例:
A核心板在A主板上刷机,然后A核心板被放到了B主板,B核心板被放到了A主板上然后执行了刷机动作。那么此时A和B的核心板的serialno就一样了。
serialno是根据WiFi MAC 地址生成的,原理可参考:
[RK3288][Android6.0] 调试笔记 — ro.serialno的获取
解决方法:
diff --git a/drmservice/drmservice.c b/drmservice/drmservice.c
index 6a648f7..6b4a28e 100755
--- a/drmservice/drmservice.c
+++ b/drmservice/drmservice.c
@@ -579,6 +579,8 @@ int store_serialno(char* serialno)
int get_serialno_cached(char * result,int len)
{
//不去读serialno缓存文件
+/*Kris, 180820, Fix sn r