天天看點

android 國家代碼,Android WiFi 擷取國家碼

記錄一下Android擷取國家碼的方式

Wifi 國家碼擷取途徑

1.DefaultCountryTablefield in WCNSS_qcom_wlan_nv.bin-read during driver initialization

nv中預設有設定國家碼

2.gStaCountryCodeparameter in WCNSS_qcom_cfg.ini –read during driver initialization to replace default country code in WCNSS_qcom_wlan_nv.bin

配置檔案gStaCountryCodeparameter設定國家碼,用于覆寫nv中的國家碼

3.Country IE from AP defined by 802.11d –information given by AP

使能802.11d功能,通過AP來擷取國家碼,g11dSupportEnabled用來打開這個功能。

4.“iw reg set” command –set from userspaceapplication over cfg80211 interface

使用者空間通過指令設定國家碼

5.Private IOCTL with “COUNTRY” command –set from userspaceapplication over wextinterface

使用者空間通過ioctl設定國家碼,例如wpa_cli -iwlan DRIVER COUNTRY US.

gCountryCodePriority設定國家碼擷取的優先級

1 –Country Code information from userspacecommands takes priority

userspacecommands > 802.11d > gStaCountryCodein WCNSS_qcom_cfg.ini > DefaultCountryTablein WCNSS_qcom_wlan_nv.bin

預設是0:

0 –Country Code information from 802.11d takes priority

802.11d > userspacecommands > gStaCountryCodein WCNSS_qcom_cfg.ini > DefaultCountryTablein WCNSS_qcom_wlan_nv.bin

通過AP擷取國家碼:

g11dSupportEnabled=1使能,然後如果周圍有多個AP,包含不同的國家碼,根據接收到的Beacon幀(被動掃描),進行投票,設定成票數最多的國家碼。

但是我檢視的話,好多情況下,隻是更具了解的AP來設定國家碼。

gEnableBypass11d=1,會進行主動掃描,擷取國家碼,這樣速率會快些。

通過SIM卡擷取國家碼是最可靠的途徑。

LiuTao

2018-11-15