Je voudrais faire un routeur virtuel sur Ubuntu 12.04
mais je reçois ce message d'erreur quand je lance la dernière commande de terminal
Configuration file: hostapd.conf
nl80211: Could not configure driver mode
nl80211 driver initialization failed.
hostapd_free_hapd_data: Interface wlan0 wasn't started
Comme @bain l’a fait remarquer à juste titre, il existe un bogue soulevé dans le tableau de bord à cette fin. Cette solution suggérée fonctionne parfaitement pour moi:
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
Les deux premières lignes arrêtent wlan du gestionnaire de réseau, puis débloquent l'interface, ainsi ifconfig peut fonctionner.
PDATE: Mais si, pour la première commande, vous obtenez le message d'erreur Error: Object 'nm' is unknown
, utilisez ceci à la place:
Sudo nmcli radio wifi off
Les commandes suivantes utilisent ifconfig pour faire apparaître wlan et permettent un délai d'une seconde, puis redémarrez le serveur DHCP (même si je n'avais pas besoin de ce redémarrage dans ma configuration), et enfin démarrez le service hostapd.
Il devrait maintenant commencer sans problèmes.
Je viens d'avoir cette erreur sur Raspberry Pi sous Kali linux et hostapd 2.4. Je le soupçonnais parce que d'autres processus réseau gardaient l'interface occupée. J'ai donc lancé cette commande airmon-ng qui vérifie et élimine les processus susceptibles d'utiliser la carte wifi:
airmon-ng check kill
Pour ne voir que les processus réseau sans les tuer, utilisez airmon-ng check
. Après les avoir tués, j'ai relancé hostapd et plus aucune erreur ne s'est produite.
Pour certaines autres fonctionnalités réseau, vous avez peut-être besoin de ces processus. J'ai redémarré framboise pour cela, mais ils peuvent également être démarrés individuellement.
Il suffit de mentionner que, selon le bogue lié à @bain, la solution la plus simple consiste à désactiver Network Manager pour l'interface à exécuter avec hostapd.
Comme mentionné ici:
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
J'ai rencontré le même problème. La première chose que j'ai essayée a été de mettre à jour manuellement hostapd à partir d'un référentiel Debian de v2.1 à v2.3. Le problème a persisté.
J'ai créé ce script, qui contient une liste de commandes permettant de débloquer le pilote WLAN. Aujourd'hui, j'ai enfin un AP fonctionnel, déjà déployé dans un emplacement distant.
J'ai enregistré le script à /usr/bin/enableAP.sh
. Assurez-vous de l'inclure dans votre crontab pour qu'il soit exécuté au démarrage.
#!/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
si vous voulez éviter ce problème juste après l'installation de votre nouvelle machine virtuelle et de hostapd, vous devez empêcher ubuntu de mettre à jour hostapd: lorsque vous utilisez Sudo apt-get upgrade
, il met à jour ce paquet vers la v2.1, ce qui ne fonctionne pas (sûrement avec un bug).
Vous devez utiliser Sudo apt-mark hold hostapd
pour bloquer les futures mises à niveau vers Hostapd.
Essaye ça: