无法在 USB 适配器插入时启动无线热点(使用 udev 规则)

无法在 USB 适配器插入时启动无线热点(使用 udev 规则)

在这件事上我确实需要帮助。

我有一台装有 Lubuntu 14.10 的 PC 和一个无线 USB 棒 TP-Link TL-WN722N,我想创建一个无线热点,插入无线 USB 后自动启动. 按照说明操作后

我已经安装了所需的所有必要程序,并创建了以下脚本以一次性启动热点:

#!/bin/bash

#first stop everything that could be run
service isc-dhcp-server stop
service hostapd stop
sleep 3

#start running things!
#Don't let network manager take over control of wifi
nmcli nm wifi off
#unblock wifi which was turned of
rfkill unblock wifi
#give static ip to wlan interface
ifconfig wlan0 up 10.0.0.1 netmask 255.255.255.0
#start dhcp server and hotspot services
service isc-dhcp-server start
#service hostapd start
hostapd -d /etc/hostapd/hostapd.conf

我已经授予了适当的执行权限,如果我自己从终端运行此文件,热点就可以完美运行!

现在为了让文件运行 usb 热插拔,我创建了一个 udev 规则,内容如下:

SUBSYSTEM=="net", KERNEL=="wlan0",ACTION=="add", RUN+="/pathToMyScript.sh"

脚本在 USB 热插拔时执行,但 hostapd 服务无法启动。它失败并出现以下情况:

'nl80211: Failed to set channel (freq=2412): -16 (Device or resource busy)'
'Could not set channel for kernel driver'
'Interface initialization failed'

我相信,这与 udev 规则正在运行的内容有关。我将规则的优先级更改为不同的级别,例如 39(首先加载)、70、79、80、99(最后加载),但不幸的是没有结果。

我再次指出,如果我手动启动脚本,它就会正确启动。

我感谢您的帮助和建议。

谢谢

相关内容