しかし、最後の端末コマンドを実行するとこのエラーメッセージが表示されます
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
回答:
@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
最初の2行は、ネットワークマネージャーからのwlanを停止し、インターフェイスのブロックを解除するため、ifconfigが機能します。
更新:ただし、最初のコマンドでエラーメッセージが表示されるError: Object 'nm' is unknown
場合は、代わりにこれを使用します。
sudo nmcli radio wifi off
次のコマンドは、ifconfigを使用してwlanを起動し、2秒の遅延を許可してから、dhcpサーバーを再起動し(セットアップでこの再起動は必要ありませんでした)、最後にhostapdサービスを開始します。
これで、問題なしで起動するはずです。
nmcli
この構文が必要ですsudo nmcli radio wifi off
:)
@bainによってリンクされたバグによると、最も簡単な解決策は、hostapdで実行されるインターフェースのNetwork Managerを無効にすることです。
そこに記載されているように:
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ができました。
スクリプトをに保存しました/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への将来のアップグレードをブロックするために使用する必要があります。
これを試して: