WCNSS_qcom_cfg.ini WIFI配置文件解析
在ini.target.rc里面on boot 时insmod /vendor/lib/modules/qca_cld3_wlan.ko加载驱动,解析配置文件WCNSS_qcom_cfg.ini,wifi的一些默认属性在这里加载初始化,参考代码
vendor/qcom/opensource/wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg.c
hdd_parse_config_ini(hdd_context_t *pHddCtx)函数重点两个调用
status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);读取WCNSS_qcom_cfg.ini文件,跟代码读取文件是在system/core/init/firmware_handler.cpp代码
qdf_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);解析填充这些配置。
Wifi各配置参数在WCNSS_qcom_cfg.ini的表示的属性可以参考wlan_hdd_cfg.h的宏定义, 对应代码中struct hdd_config成员,比如要设置wifi driver 各log默认等级可以在WCNSS_qcom_cfg.ini中添加
qdf_trace_enable_wdi=255
qdf_trace_enable_hdd=255
qdf_trace_enable_sme=255
qdf_trace_enable_pe=255
qdf_trace_enable_pmc=255
qdf_trace_enable_wma=255
qdf_trace_enable_sys=255
qdf_trace_enable_qdf=255
qdf_trace_enable_sap=255
……………………
下面定义表示各log的等级
每一位代表一个等级是否打开,0xFF,表示所有的等级都打开。
00000001 FATAL
00000010 ERROR
00000100 WARN
00001000 INFO
00010000 INFO HIGH
00100000 INFO MED
01000000 INFO LOW
10000000 DEBUG
BandCapability=0 wifi信道带宽选择
0:表示5G和2.4G,
1:表示5G,
2:表示2.4G
Roaming 参数
gNeighborLookupThreshold=65
ap的信号达到所设置的值,将会进行扫描周边设备,寻找更好的AP
RoamRssiDiff=5
AP将会进行roaming,当寻找到的ap的信号比连接的AP的信号更好,并且超过这个值
gRoamIntraBand=1
只会在同一个频段内部进行roam,例如2.4G到2.4G内部,或者5G到5G。
大部分参数在WCNSS_qcom_cfg.ini都有默认和注释,可以结合wlan_hdd_cfg.h多了解,