但是我在运行最后一个终端命令时收到此错误消息
Configuration file: hostapd.conf
nl80211: Could not configure driver mode
nl80211 driver initialization failed.
hostapd_free_hapd_data: Interface wlan0 wasn't started
但是我在运行最后一个终端命令时收到此错误消息
Configuration file: hostapd.conf
nl80211: Could not configure driver mode
nl80211 driver initialization failed.
hostapd_free_hapd_data: Interface wlan0 wasn't started
Answers:
正如@bain正确指出的那样,为此目的在启动板中引发了一个错误。这个解决方法建议那里对我来说非常合适:
sudo nmcli nm wifi off
sudo rfkill unblock wlan
sudo ifconfig wlan0 10.15.0.1/24 up
sleep 1
sudo service isc-dhcp-server restart
sudo service hostapd restart
前两行从网络管理器停止wlan,然后取消阻塞接口,因此ifconfig可以工作。
更新:但是如果对于第一个命令,您收到错误消息,请Error: Object 'nm' is unknown
改用此命令:
sudo nmcli radio wifi off
接下来的命令使用ifconfig来启动wlan,并允许延迟一秒钟,然后重新启动dhcp服务器(尽管在我的设置中不需要此重新启动),最后启动hostapd服务。
现在,它应该开始运行而不会出现任何问题。
nmcli
需要这种语法sudo nmcli radio wifi off
:)
只需提及,根据@bain链接的错误,最简单的解决方案是禁用要与hostapd一起运行的接口的网络管理器。
如此处所述:
WORKAROUND: For this to persist through reboots, execute the following in a terminal:
sudo nano /etc/NetworkManager/NetworkManager.conf
Add the following entry where the x's are replaced with your WiFi MAC address, save, and then reboot:
[keyfile]
unmanaged-devices=mac:xx:xx:xx:xx:xx:xx
我遇到了同样的问题。我尝试做的第一件事是将Debian存储库中的hostapd从v2.1手动更新到v2.3。问题仍然存在。
我创建了此脚本,该脚本是可解除WLAN驱动程序阻止的命令的列表,现在我终于有了一个可以正常工作的AP,该AP已部署在远程位置。
我将脚本保存到/usr/bin/enableAP.sh
。确保将其包含在crontab中,以便在启动时执行。
#!/bin/sh
/bin/sleep 30
/usr/sbin/service hostapd stop
/usr/sbin/service network-manager stop
/sbin/ifdown wlan0
/sbin/iwconfig wlan0 mode Managed
/usr/sbin/rfkill unblock wlan
/usr/bin/nmcli radio wifi off
/usr/sbin/service hostapd stop
/bin/sleep 10
/usr/sbin/service hostapd start
如果要在安装新的虚拟机和hostapd之后立即避免此问题,则需要阻止ubuntu升级hostapd:使用sudo apt-get upgrade
它时,将此软件包升级到v2.1,这是行不通的(肯定是错误的)。
您必须使用sudo apt-mark hold hostapd
阻止将来升级到Hostapd。
尝试这个: