Wps 功能 ----查找网页使能关闭wps,按键依旧能启动wps原因
大致思路就是通过提交记录定位代码位置,这样大大提高效率,其次就是大致一览网页(cgi后端)关于wps操作细节,可以发现不管是读取(get)还是设置(post)都没有对wps开关cfg值(我们自己定义的)转化为tcapi值(mtk);因此思路关键就在这一部分,怎么拿到wps开关tcapi值,然后按键再去判断,注意有2.4G和5G,以下是操作记录:耗时一天。
- 查找wps所有提交记录:
git lg -500 | grep wps
- wps按钮设备文件:
- globalstate节点:
- mesh_agent为1为2 是组网状态:
- cfg变量mesh_agent为1时是主,为2是从
- 查看wps_button_type等于1时:
grep -nri 'wps_button_type=='
- 查看wps_button_type定义在哪里:
grep -nri 'wps_button_type' | grep int
vim ledctrl.c +1036
网页上读取下方节点:
可以知道wps开关状态cfg值
wlan2G_wps_swittch -> USR_WLAN2G_WPS_SWITCH
wlan2g_wps_mode -> USR_WPS_WPSMODE
网页关于wpsjson值一览:
启动wps脚本一览:
查看WLAN_COMMON_NODE定义:
查看INFO_WLAN_NODE定义:
最终定位代码修改位置:追加判断位
memset(nodeName, 0, sizeof(nodeName));
snprintf(nodeName, sizeof(nodeName), WLAN11AC_ENTRY1_NODE);
cfg_get_object_attr(nodeName, "WPSConfMode", tmp1, sizeof(tmp1));
if(!strcmp(tmp, "1") && 7==atoi(tmp1)){