1. 程式人生 > >命令設定wifi國家碼

命令設定wifi國家碼

wpa_cli -i wlan0 set country country_code


在進行wifi信令測試時,常常會報一些通道連線fail的問題。

一般是由國家碼導致的,因為當前測試通道該國家碼並不支援。

Android手機中,其country code是根據sim卡去配置的,如果沒有使用sim卡的話,軟體預設國家碼是US,即只支援1~11通道。

這時候就需要軟體支援,能夠設定對應的國家碼。當然,可以輕鬆的修改軟體,編譯程式碼,給出支援對應國家碼的版本。但這種方式並不靈活。

通過命令修改,就很方便了。


A. 如何檢視當前國家碼?

1. dmesg | grep country. 比如Qcom平臺會有如下log:

wlan: [591:I :HDD] hdd_reg_notifier: 722: country: US, initiator 2, dfs_region: 1
cfg80211: Regulatory domain changed to country: US

2. wpa_cli -i wlan0 get country. 這種方式,有時會查詢失敗。

# wpa_cli -i wlan0 get country
FAIL  //查詢失敗
# wpa_cli -i wlan0 get country
US  //查詢成功

B. 如何通過命令修改國家碼?比如設定國家碼為CN(中國):

wpa_cli -i wlan0 set country CN

C. 如何確認是否修改成功?

1. dmesg | grep country. 比如Qcom平臺會有如下log:

wlan: [42:I :HDD] hdd_reg_notifier: 722:      country: CN, initiator 1, dfs_region: 1
cfg80211: Regulatory domain changed to country: CN

2. wpa_cli -i wlan0 get country. 這種方式,有時會查詢失敗。

# wpa_cli -i wlan0 get country
CN


裝置中對應國家碼支援的通道列表,在程式碼中:kernel/msm-4.4/net/wireless/db.txt