微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt6735Firmware upgrade后出现IMEI恢复成默认值现象

mt6735Firmware upgrade后出现IMEI恢复成默认值现象

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
有客户通过Firmware upgrade方式从KK版本升级到L版本后,发现无法读取到IMEI,但升级回到KK版本就能够正常获取到IMEI。
[SOLUTION]
从Modem log中发现升级到L版本后获取到的IMEI值变为了default value,也就是全F,因此可以知道升级到L版本后AP端从BIN Region中并未将数据备份会data分区,从而导致Modem误认为是第一次开机,所以重新以默认值生成IMEI。
在AP端main.log中可以看到如下log:
01-01 08:00:19.761 287 287 D NVRAM : FileInfo: ram/APCFG/APRDEB/gps
01-01 08:00:19.761 287 287 D NVRAM : FileInfo: startaddr(7461642f) size(766e2f61) .
01-01 08:00:19.761 287 287 D NVRAM : mkdir error! Read-only file system

而正常情况下的log应该如下:
01-01 00:02:10.480824 247 247 D NVRAM : FileInfo: /data/nv ram/ /APCFG/APRDEB/GPS
01-01 00:02:10.480831 247 247 D NVRAM : FileInfo: startaddr(0) size(36)
从对比log来看可以得知AP在restore时出现了异常。
通过对比客户提供的两个版本的AP project makefile,发现KK版本定义了mtk_ENABLE_MD5 = no,而L版本定义了MTK_ENABLE_MD5 = yes。
_ENABLE_MD5的开启和关闭会影响到解析AllMap文件的结构体成员,如果两个版本之间该宏定义不一样,L版本和KK版本之间解析ALLMAP的结构体就会
不一样,因此出现了8个bytes的偏差。由此导致BIN region中的数据没有回复成功。

解决方法:
需要确保前后版本解析AllMap结构体一致,也就是该宏定义需一样,如下:
第一种方法: 修改L版本MTK_ENABLE_MD5 = no。
第二种方法: 保持L版本MTK_ENABLE_MD5 = yes,那么需修改KK版本MTK_ENABLE_MD5 = yes。

Notice:这是由于客户在L版本中进行了修改MTK_ENABLE_MD5导致,默认release出去的版本不会有问题。如果出现类似问题,建议可以检查两个版本的makefile是否有差异。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top