web-dev-qa-db-fra.com

Arch Linux Wifi travaille manuellement, comment le faire automatique?

Running Arch Linux avec noyau 3.6.11-12-Arch + sur mon PI de framboise.

J'ai un dongle USB WiFi Linksys (WUSB54GC V3) qui fonctionne et travaille après avoir exécuté les commandes suivantes:

$> Sudo ifconfig wlan0 up
$> Sudo iwlist scan
$> Sudo iwconfig wlan0 mode managed essid myssid key "mykey" retry 7
   # Only had to do this next one the first time
$> Sudo wpa_passphrase myssid "mypassword" > /etc/wpa_supplicant/wpa_supplicant.conf 
$> Sudo wpa_supplicant -B -Dwext -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
$> Sudo dhcpcd wlan0

Comment puis-je obtenir WiFi sur cet appareil pour fonctionner à chaque fois après le démarrage? Finalement, je veux le déployer à l'emplacement sans une connexion câblée (d'où le WiFi), mais je ne peux évidemment pas faire cela si je dois démarrer/connecter manuellement le WiFi à chaque fois.

24
Matt

Vous devez utiliser NetCTL. C'est le système de gestion de réseau intégré à Arch Linux. Si ce n'est pas déjà installé (cela devrait être si), courez pacman -Syu netctl puis regarde dans /etc/netctl. Il existe des exemples de fichiers de configuration dans /etc/netctl/examples.

Se lever et courir rapidement:

  1. Notez le nom du périphérique pour votre adaptateur sans fil. Remplacer toutes les instances de wlan0 Dans mes exemples avec le nom qui correspond à votre configuration.
  2. Assurez-vous d'avoir installé les packages requis.

    pacman -Syu wpa_supplicant dhcpcd

    1. wPA_SUPPLICANT est requis pour WPA Points d'accès protégés et DHCPCD est nécessaire pour obtenir une adresse IP à partir de n'importe quel réseau à l'aide d'un serveur DHCP, comme indiqué sur l'arceau Linux Wiki.
  3. Copier un exemple approprié:

    cp /etc/netctl/example/wireless-wpa /etc/netctl/somedescriptivename

  4. Modifiez votre nouvelle configuration à /etc/netctl/somedescriptivename Pour adapter votre configuration.
  5. Activez le service NetCTL-Auto pour votre adaptateur sans fil. Encore une fois, remplacez WLAN0 avec le nom du périphérique pour votre configuration. [.____]

    systemctl enable [email protected]

Quelques points à noter:

  • nETCTL se connectera automatiquement à n'importe quel profil que vous avez dans/etc/netctl lorsque vous entrez dans la plage du point d'accès
  • Cette configuration ne fonctionnera que avec des profils utilisant Security=wpa-configsection et Security=wpa.
  • Désactiver tous les profils WiFi compatibles précédemment à l'aide de netctl disable profilename Sinon, Netctl les démarrera deux fois au démarrage une fois que NetCtL-Auto est activé.

Pour plus d'informations, veuillez vous reporter à The NetCl Wiki Entry .

19
Jacob Wiltse

Un moyen plus facile d'éliminer certaines des suppositions sur la manière de créer des profils pour netctl (extrait à partir de la page netctl page sur l'arc wiki):

Étape 1. Configurer Internet sans fil manuellement, en utilisant wpa_supplicant comme décrit dans l'op. Si votre système ne l'a pas installé, do $ pacman -S wpa_supplicant.

Étape 2. Vous aurez également besoin de dialog paquet, alors $ pacman -S dialog. Ensuite, vous pouvez redémarrer votre système ou vous déconnecter de votre réseau sans fil.

Étape 3. Run $ wifi-menu -o, puis parcourez les paramètres Windows/Mac-Esque très simples. Vous pouvez vérifier la valeur prédéfinie de l'ID de réseau de votre système via $ Sudo netctl list. La valeur serait au format de wlan098-SSID. (où SSID = votre nom de WLAN)

Étape 4. Enfin, courez $ netctl enable wlan098-SSID et redémarrez le système $ reboot

Encore, de temps en temps, vous pourriez obtenir un message d'erreur avec quelque chose comme temporarily unable to resolve name ou quelque chose, mais essayez simplement de pinger et cela devrait fonctionner.

6
xdavidliu

Je crois que toutes les autres réponses sont défectueuses, comme expliqué dans mes commentaires sur eux.

Ces étapes seront automatiquement connectées au point chaud le plus fort. Testé sur une installation standard d'Arch avec SystemD (peut fonctionner sur d'autres systèmes d'exploitation):

Configuration unique:

Alternativement, il suffit de les désactiver, comme expliqué par @jacobwiltse dans un commentaire sur une autre réponse. wiki.archlinux.org/index.php/netcl#wireless

  • Obtenez votre identifiant de périphérique WiFi basename $(ls -d /sys/class/net/w*)

  • activer le service NetCTL-Auto. Ceci est le service qui connectera automatiquement. systemctl enable [email protected]

Connectez-vous à un hotspot premier:

  • Courir wifi-menu. Nécessite une racine. pkexec wifi-menu -o ou Sudo wifi-menu -o

Laisser tomber le -o Pour voir les mots de passe réseau comme vous le tapez.

  • Flèche vers le bas, choisissez la connexion souhaitée, appuyez sur Entrée, acceptez le nom de connexion, entrez le mot de passe.

Ajoutez plus de points chauds au besoin. NetCTL-Auto se reconnectera automatiquement au point d'accès disponible le plus fort possible par la suite.

3
johny why