hostapd错误“ nl80211:无法配置驱动程序模式”


26

我想在Ubuntu 12.04上制作一个虚拟路由器

但是我在运行最后一个终端命令时收到此错误消息

Configuration file: hostapd.conf
nl80211: Could not configure driver mode
nl80211 driver initialization failed.
hostapd_free_hapd_data: Interface wlan0 wasn't started

4
您正在使用14.04吗?hostapd有一个打开的错误消息。Launchpad错误#1289047 hostapd软件包已损坏
贝恩

Answers:


31

正如@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服务。

现在,它应该开始运行而不会出现任何问题。


5
较新的语言nmcli需要这种语法sudo nmcli radio wifi off:)
m132 2015年

这并没有改变任何东西
TSR

8

我只是在运行Kali linux和hostapd 2.4的Raspberry pi上遇到此错误,我怀疑这是因为其他一些网络进程正在使接口繁忙,所以我运行了这个airmon-ng命令来检查并杀死可能使用wifi卡的进程:

airmon-ng check kill

要仅查看任何网络进程而不杀死它们,请使用airmon-ng check。杀死它们之后,我再次启动了hostapd,并且再也没有出现错误。

对于某些其他网络功能,您可能需要这些进程,为此我重新启动了树莓派,但它们也可以单独启动。


3

只需提及,根据@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

第一件事行得通!网络管理员不允许我将我的Intel 8260与hostapd一起使用。
Torrien

2

我遇到了同样的问题。我尝试做的第一件事是将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。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.