我正在尝试将 2.5 版 hostapd 与 ACS 结合使用。为此,我使用了以下配置文件:
interface=wlp2s0 driver=nl80211 ssid=ap-example hw_mode=g channel=acs_survey macaddr_acl=0 ignore_broadcast_ssid=0 auth_algs=1 wpa=3 wpa_passphrase=ap-example wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
我已经使用 CONFIG_ACS=y 标志构建了 hostapd,但是当我尝试启动服务时出现以下错误:
$ ./hostapd /etc/hostapd/hostapd.conf Configuration file: /etc/hostapd/hostapd.conf ACS: Automatic channel selection started, this may take a bit wlp2s0: interface state UNINITIALIZED->ACS wlp2s0: ACS-STARTED ACS: Unable to collect survey data ACS: All study options have failed Interface initialization failed wlp2s0: interface state ACS->DISABLED wlp2s0: AP-DISABLED ACS: Possibly channel configuration is invalid, please report this along with your config file. ACS: Failed to start wlp2s0: AP-DISABLED hostapd_free_hapd_data: Interface wlp2s0 wasn't started nl80211: deinit ifname=wlp2s0 disabled_11b_rates=0 wlp2s0: interface state DISABLED->DISABLED wlp2s0: interface state DISABLED->DISABLED wlp2s0: AP-DISABLED hostapd_free_hapd_data: Interface wlp2s0 wasn't started
当然,我是以 root 权限运行的。我在defconfig
hostapd 包中的文件中看到,只有一些驱动程序支持执行自动频道订阅。
有人知道我的配置出了什么问题吗?hostapd 项目 wiki 中是否存在受支持的驱动程序关系或类似内容?
答案1
经过几个小时的折腾,我放弃了尝试让 hostapd 的 ACS 选项在我的 RPi4 上运行,而是编写了一个简短的脚本(需要 NodeJS)来调用iwlist wlan0 scan
、解析输出并在 1-11 范围内选择最安静的频道。如果它有帮助,我在这里发布了它的要点:
https://gist.github.com/jacobq/ea044bfbf00dd88ed6e3d42cb1fee392