Wpa-Supplicant
跳過 wpa_supplicant 中的掃描
當我們執行
wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf
連接AP的命令時,執行wpa_supplicant
以下步驟:1. wpa_supplicant requests the kernel driver to scan neighboring BSSes 2. wpa_supplicant selects a BSS based on its configuration 3. wpa_supplicant requests the kernel driver to associate with the chosen BSS
有沒有辦法跳過掃描部分,即第 1 步?由於掃描需要幾秒鐘,因為本地環境有 50+ SSID。
wpa_supplicant 需要收集有關 AP 的一些資訊(可用性、ESSID、BSSID、頻率、安全性、頻道…),對於每個連接請求,它將呼叫一些函式來更新 BSS 表。
如果不更新 BSS 表,wpa_supplicant 將無法處理 AP 上的任何更改,因此無法跳過掃描。
有
ap_scan
。從wpa_supplicant.conf
文件中:# AP scanning/selection # By default, wpa_supplicant requests driver to perform AP scanning and then # uses the scan results to select a suitable AP. Another alternative is to # allow the driver to take care of AP scanning and selection and use # wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association # information from the driver. # 1: wpa_supplicant initiates scanning and AP selection; if no APs matching to # the currently enabled networks are found, a new network (IBSS or AP mode # operation) may be initialized (if configured) (default) # 0: driver takes care of scanning, AP selection, and IEEE 802.11 association # parameters (e.g., WPA IE generation); this mode can also be used with # non-WPA drivers when using IEEE 802.1X mode; do not try to associate with # APs (i.e., external program needs to control association). This mode must # also be used when using wired Ethernet drivers (including MACsec). # 2: like 0, but associate with APs using security policy and SSID (but not # BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to # enable operation with hidden SSIDs and optimized roaming; in this mode, # the network blocks in the configuration file are tried one by one until # the driver reports successful association; each network block should have # explicit security policy (i.e., only one option in the lists) for # key_mgmt, pairwise, group, proto variables # Note: ap_scan=2 should not be used with the nl80211 driver interface (the # current Linux interface). ap_scan=1 is optimized work working with nl80211. # For finding networks using hidden SSID, scan_ssid=1 in the network block can # be used with nl80211. # When using IBSS or AP mode, ap_scan=2 mode can force the new network to be # created immediately regardless of scan results. ap_scan=1 mode will first try # to scan for existing networks and only if no matches with the enabled # networks are found, a new IBSS or AP mode network is created. ap_scan=1
這是否有效可能取決於您的 WLAN 驅動程序,以及您希望如何連接的詳細資訊。