[DESCRIPTION]
客户有需求修改wifi的参数,如打开5G支持项等,同时需要可以半擦和OTA升级,但是原本的WIFI MAC地址不可以丢失。
[SOLUTION]
WIFI nVRam参数更新升级,同时保留MAC地址,可以按照以下步骤修改:
1. 修改 AP_CFG_RDEB_FILE_WIFI_LID_VERNO,将此值增加 1.
Custom_NvRam_LID.h (alps\mediatek\custom$projet\cgen\inc)
#define AP_CFG_RDEB_FILE_WIFI_LID_VERNO "000" 修改为 "001"
2. 修改 CFG_file_info_custom.h 中的 wifi 项
CFG_file_info_custom.h (alps\mediatek\custom\$projet\cgen\inc)
{
"/data/nvram/APCFG/APRDEB/WIFI", VER(AP_CFG_RDEB_FILE_WIFI_LID),
CFG_FILE_WIFI_REC_SIZE,
CFG_FILE_WIFI_REC_TOTAL, SIGNLE_DEFUALT_REC, (char *)&stWifiCfgDefault,
DataReset, null
},
最后两个参数改为:
{
"/data/nvram/APCFG/APRDEB/WIFI", VER(AP_CFG_RDEB_FILE_WIFI_LID),
CFG_FILE_WIFI_REC_SIZE,
CFG_FILE_WIFI_REC_TOTAL, SIGNLE_DEFUALT_REC, (char *)&stWifiCfgDefault,
DataConvert , WIFI_ConvertFunc
},
3. 添加或修改客制化函数 WIFI_ConvertFunc.
int WIFI_ConvertFunc(int currentVerID, int NewVerID, char *pSrcMem, char *pDstMem)
{
int rec_size = CFG_FILE_WIFI_REC_SIZE;
int rec_num = CFG_FILE_WIFI_REC_TOTAL;
UINT_8 aucMacAddress[6] = {0};
WIFI_CFG_PARAM_STRUCT *p_wifi_para;
if(NULL == pSrcMem || NULL == pDstMem){
return false;
}
else{
// get the old wifi mac addr //保存原始MAC数据
p_wifi_para = (WIFI_CFG_PARAM_STRUCT*)pSrcMem;
memcpy(aucMacAddress, p_wifi_para->aucMacAddress, sizeof(aucMacAddress));
//write the new wifi parameter //赋值新的WIFI参数
memcpy(pDstMem, &stWifiCfgDefault, sizeof(WIFI_CFG_PARAM_STRUCT));
//restore the wifi mac addr //回写原始MAC数据
p_wifi_para = (WIFI_CFG_PARAM_STRUCT*)pDstMem;
memcpy(p_wifi_para->aucMacAddress, aucMacAddress, sizeof(aucMacAddress));
return true;
}
}
4. 然后 **mmm 编译到 external/nvram/libcustom_nvram **
通过OTA 的方式使之生效
adb push ota.zip /data/update.zip
adb shell
aeon6737t_66_d_n:/ # mkdir -p cache/recovery
aeon6737t_66_d_n:/ # uncrypt /data/update.zip /cache/recovery/block.map
aeon6737t_66_d_n:/ # echo "--update_package=@/cache/recovery/block.map" > /cache/recovery/command
aeon6737t_66_d_n:/ # reboot recovery
————————————————
版权声明:本文为CSDN博主「YuZhuQue」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/YuZhuQue/article/details/106684692
998

被折叠的 条评论
为什么被折叠?



