Wi-Fi 的 country code、monitor mode、channel、bandwidth 設定
在 Rockchip 的文件 - Rockchip_Developer_Guide_Linux_WIFI_BT_CN.pdf 中,有說明,如何對 Wi-Fi 的設定值進行修改,而作法則依 Wi-Fi chip 的廠商分成兩類:
1、正基/海華Wi-Fi
2、Realtek Wi-Fi
舉例來說,AP6275s 屬於正基晶片,而 RTL8822CS 則是 Realtek Wi-Fi。
正基/海華Wi-Fi
1、如何進行 country code 的修改:
- 在系統中,直接執行 dhd_priv 指令進行設定即可:
- # dhd_priv country "TW"
- 驗証方式可以從執行指令後的 kernel driver log 來確認,也可以執行以下指令:
- # dhd_priv country
2、如何進入 monitor mode:
- 設置監聽頻道:
- # dhd_priv channel 6
- 打開 monitor模式:
- # dhd_priv monitor 1
- 關閉 monitor模式:
- # dhd_priv monitor 0
3、如何修改 channel 及 bandwidth:
- 需要切換為 AP Mode,再以 iw 指令進行切換:
- # iw dev wlan0 set channel 11 HT20
Realtek Wi-Fi
1、如何進行 country code 的修改:
- 需要修改 driver - kernel/drivers/net/wireless/rockchip_wlan/rtl8822cs/Makefile,增加支持國別設置:
- EXTRA_CFLAGS += -DCONFIG_RTW_IOCTL_SET_COUNTRY
- 進入系統後,可以直接執行 iw 指令進行設定:
- # iw reg set "TW"
- 驗証方式可以執行 iw 指令或直接查看 country_code 的值:
- # iw reg get
- # cat /proc/net/rtl88x2cs/wlan0/country_code
- 也可以直接執行 dhd_priv 指令進行設定:
- # dhd_priv country "TW"
- 驗証方式可以從執行指令後的 kernel driver log 來確認或直接查看 country_code 的值:
- # cat /proc/net/rtl88x2cs/wlan0/country_code
- 也可以直接修改 country_code 設定檔:
- # echo "TW" > /proc/net/rtl88x2cs/wlan0/country_code
- 驗証方式可以執行:
- # cat /proc/net/rtl88x2cs/wlan0/country_code
- 如果是直接修改 country_code 設定檔,則 iw 指令的內容將不會被更新。
2、如何進入 monitor mode:
- 需要修改 driver - kernel/drivers/net/wireless/rockchip_wlan/rtl8822cs/Makefile,增加支持 monitor mode:
- CONFIG_WIFI_MONITOR = y
- 打開 wlan0 並關閉 p2p0:
- # ifconfig wlan0 up
- # ifconfig p2p0 down
- 打開監聽模式:
- # iwconfig wlan0 mode monitor
or
- # iw dev wlan0 set type monitor
- 切換頻道:
- # echo "<chan> 0 0" > /proc/net/rtl88x2cs/wlan0/monitor
3、如何修改 channel 及 bandwidth:
- 需要切換為 AP Mode,再以 iw 指令進行切換:
- # iw dev wlan0 set channel 11 HT20
build RTL8822CS Driver
需要修改 kernel config,加入如下設定以 build 出 8822cs.ko:
CONFIG_RTL8822CS=m
Reference
CountryCode.org
文字內容 或 影像內容 部份參考、引用自網路,如有侵權,請告知。
留言列表