Hostapd nécessite un redémarrage manuel pour que les périphériques se connectent

1

Je suis en train de mettre en place un hotspot WiFi pour les joueurs utilisant leur NAS avec carte WiFi.

Configuration: Ubuntu 13.10

Hostapd est ponté avec eth0 (br0) et fonctionne très bien s'il est redémarré manuellement

sudo service hostapd redémarrer
* Arrêt de l'hôte avancé de gestion IEEE 802.11 [OK]
* Démarrage de la gestion avancée IEEE 802.11 hostapd [OK}

Cependant, lors du redémarrage, le SSID est visible, mais lors de la tentative de connexion, un message d'erreur (erreur d'authentification / mot de passe incorrect) s'affiche sur les périphériques sans fil.

Si la commande ci-dessus est exécutée sur un terminal ssh / local, tous les périphériques se connectent parfaitement.

Afin de contourner ce problème, j'ai essayé d'ajouter un travail cron retardé pour redémarrer le service;

@reboot sleep 30; /fixscripts/hostapdstart.sh

J'ai même écrit un script pour arrêter le service et le démarrer 60 secondes plus tard dans un format similaire à celui décrit ci-dessus. (Je crois que les scripts ont été exécutés, car le SSID disparaîtrait et réapparaîtrait 60 secondes plus tard).

Cependant, conformément au problème initial, les erreurs d’authentification étaient toujours signalées aux périphériques wifi, et comme avant si je me connecte et redémarre manuellement le service, cela fonctionne!

Ci-dessous mon hostapd.conf;

ssid = Caprica
wpa_passphrase = mypassword
interface = wlan0
pont = br0
auth_algs = 3
canal = 7
driver = nl80211
hw_mode = g
ieee80211n = 1
wmm_enabled = 1
logger_stdout = -1
logger_stdout_level = 2
max_num_sta = 5
rsn_pairwise = CCMP
wpa = 2
wpa_key_mgmt = WPA-PSK
wpa_pairwise = TKIP CCMP

Alex
la source
Avez-vous désactivé le gestionnaire de réseau? Si vous ne le faites pas, il essaiera de mettre la main sur wlan0
MariusMatutiae
Lorsqu'il est désactivé, le SSID met longtemps à apparaître et aucun de mes appareils ne peut se connecter, même après un redémarrage manuel.
Alex
Avez-vous configuré le pont dans votre fichier / etc / network / interfaces?
MariusMatutiae
Oui, le pont est en place & amp; en cours d'exécution, ponté eth0 & amp; eth1 ainsi que hostapd en ajoutant wlan0 au pont. Ethernet fonctionne correctement et le wifi peut utiliser le pont lors de la connexion des périphériques.
Alex

Réponses:

1

Le correctif ci-dessous "a fonctionné" pour moi, toutefois, les périphériques se déconnecteraient après un court laps de temps. En fin de compte, j’ai installé Ubuntu 12.04 et tout semble fonctionner correctement.

  1. Supprimez le service hostapd des fichiers rcX pour empêcher le démarrage automatique du service.

    sudo update-rc.d -f hostapd supprimer

  2. Fournir une tâche Cron pour démarrer le service peu après le démarrage

  3. Ensuite, fournissez un travail Cron pour redémarrer le service peu de temps après le démarrage.

Pour modifier le fichier Cron;

sudo crontab -e

Voici les tâches cron que j'ai ajoutées;

@reboot sleep 10; /fixscripts/hostapdstart.sh
@reboot sleep 25; /fixscripts/hostapdrestart.sh

Cela démarre le service 10 secondes après le démarrage, puis le redémarre 15 (25-10) secondes plus tard.

Alex
la source
0

Après le redémarrage de mon point d'accès basé sur hostapd, les clients (téléphones Android) ne se reconnectaient pas automatiquement et "problème d'authentification" était affiché sous le nom SSID et nous devions saisir à nouveau le mot de passe.

J'ai constaté que l'utilisation de / dev / urandom au lieu de / dev / random (qui bloque et provoque des délais d'authentification)

par exemple avec ceci dans /etc/rc.local:

 #!/bin/bash
 if [ ! -f /dev/random.orig ] ; then
   mv /dev/random /dev/random.orig
   ln /dev/urandom /dev/random
 fi

ou (si vous croyez que c'est plus sage) installer avoir au lieu de cela (pour incrémenter (?), l'entropie sans bloquer / dev / random) résolvait le problème.

par exemple avec:

 apt-get install haveged
luxigo
la source