Arch linux wifi fonctionne manuellement, comment le rendre automatique?


22

Exécuter Arch Linux avec le noyau 3.6.11-12-ARCH + sur mon Raspberry Pi.

J'ai un dongle USB Linksys wifi (WUSB54GC v3) qui fonctionne et fonctionne 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 faire fonctionner le wifi sur cet appareil à chaque fois après le démarrage? Finalement, je veux le déployer sur place sans connexion filaire (d'où le wifi), mais je ne peux évidemment pas le faire si je dois démarrer / connecter manuellement le wifi à chaque fois.


Le sans fil est mieux géré via un démon tel que network-managerou wicd.
jordanm

1
Avez-vous essayé cette instruction pour vous connecter automatiquement aux réseaux sans fil: wiki.archlinux.org/index.php/Netcfg
Raza

3
netcfg est déprécié en faveur de netctl (je ne sais pas encore si ce changement a été reflété dans la réponse ARM d'Arch), mais oui, c'est la façon de gérer votre configuration réseau.
fukawi2

Réponses:


18

Vous devez utiliser netctl. Il s'agit du système de gestion de réseau Arch Linux intégré. S'il n'est pas déjà installé (il devrait l'être cependant), exécutez pacman -Syu netctlpuis recherchez /etc/netctl. Il existe des exemples de fichiers de configuration dans /etc/netctl/examples.

Pour être opérationnel rapidement:

  1. Prenez note du nom de l'appareil pour votre adaptateur sans fil. Remplacez toutes les instances de wlan0dans mes exemples par 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 les points d'accès protégés par WPA, et dhcpcd est requis pour obtenir une IP à partir de n'importe quel réseau utilisant un serveur DHCP, comme indiqué sur le wiki Arch Linux.
  3. Copiez un exemple approprié:

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

  4. Modifiez votre nouvelle configuration à /etc/netctl/somedescriptivenamepour l'adapter à votre configuration.
  5. Activez le service netctl-auto pour votre adaptateur sans fil. Encore une fois, remplacez wlan0 par le nom de l'appareil pour votre configuration.

    systemctl enable netctl-auto@wlan0.service

Quelques points à noter:

  • netctl se connectera automatiquement à tous les profils que vous avez dans / etc / netctl lorsque vous vous déplacerez dans la plage du point d'accès
  • Cette configuration ne fonctionnera qu'avec les profils utilisant Security=wpa-configsectionet Security=wpa.
  • Désactivez tous les profils wifi précédemment activés en utilisant netctl disable profilenamesinon netctl les démarrera deux fois au démarrage une fois que netctl-auto sera activé.

Pour plus d'informations, veuillez vous référer à l'entrée wiki Netctl .


qui netctl-auto listne renvoie aucun profil, alors que 4 sont configurés et fonctionnent avec netctl manuel est attendu ou anormal? Comment puis-je utiliser netctl-auto switch-to Xs'il n'y a apparemment pas de valeurs X valides? Je trouve l'entrée wiki de netctl-auto arch étonnamment inutile, peut-être savez-vous où trouver un meilleur document?
Nikana Reklawyks

Nikana, je n'utilise pas netctl-autobeaucoup, mais juste quelques conseils: 1. netctl-autoest uniquement pour les connexions sans fil. Si vous cherchez à l'utiliser pour Ethernet, utilisez netctl-ifplugd. 2. Assurez-vous de ne pas utiliser wpa-configcomme méthode de sécurité, et au lieu de wpa-configsectionou wpa. Les profils ne s'affichent pas lors de l'utilisationwpa-config
Jacob Wiltse

Merci. Malheureusement pour les futurs téléspectateurs, ma configuration fonctionne maintenant, pas que je me souvienne d'avoir fait quelque chose de spécial. netctl-auto listrenvoie un tas de profils comme il se doit. Je pense que peut-être l'un de mes profils n'était pas compatible avec netctl-auto en raison de cette absence d' wpa-configexigence, ce qui les a tous empêchés de s'afficher.
Nikana Reklawyks

Comme mentionné dans ma réponse, vous devez supprimer les profils créés avec netctl avant d'activer netctl-auto. Ensuite, après avoir démarré netctl-auto, ajoutez-les à nouveau.
johny pourquoi

Vous n'utiliseriez pas wlan0 comme indiqué ici. Vous devez utiliser votre identifiant WiFi correct.
johny pourquoi

5

Un moyen plus facile qui élimine une partie de la conjecture sur la façon de créer des profils netctl(tirés de la netctlpage sur le wiki de l'archive):

Étape 1. Configurez Internet sans fil manuellement, en utilisant wpa_supplicantcomme décrit dans l'OP. Si votre système ne l'a pas installé, faites-le $ pacman -S wpa_supplicant.

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

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

Étape 4. Enfin, exécutez $ netctl enable wlan098-SSIDet redémarrez le système$ reboot

Pourtant, de temps en temps, vous pouvez obtenir un message d'erreur avec quelque chose comme temporarily unable to resolve nameou quelque chose, mais essayez à nouveau de faire un ping et cela devrait fonctionner.


Sans netctl-auto, vous ne vous reconnecterez pas automatiquement car les points d'accès se trouvent à portée. Voir ma réponse pour la configuration.
johny pourquoi

3

Je crois que toutes les autres réponses sont erronées, comme expliqué dans mes commentaires à leur sujet.

Ces étapes se connecteront automatiquement au point d'accès le plus puissant. Testé sur une installation d'archive standard avec systemd (peut fonctionner sur d'autres systèmes d'exploitation):

Configuration unique:

  • Assurez-vous que les éléments suivants sont installés: dialog, wpa_supplicant, dhcpcd, netctl, wifi-menu.

  • sur xfce, ajoutez le plugin xfce4-wavelan. Ce n'est qu'un voyant lumineux qui indique que vous êtes connecté. Cela n'a pas d'autre but.

  • Assurez-vous que tous les autres gestionnaires de réseau et services sont supprimés ou désactivés. https://wiki.archlinux.org/index.php/Netctl#Wireless

  • supprimez tous les profils réseau créés précédemment. https://www.ostechnix.com/fix-job-netctl-service-failed-error-arch-linux/

  • Obtenez votre ID d'appareil WiFi basename $(ls -d /sys/class/net/w*)

  • activer le service netctl-auto. Il s'agit du service qui se connectera automatiquement. systemctl enable netctl-auto@YourWifiDeviceID.service

Connectez-vous à un hotspot pour la première fois:

  • Courez wifi-menu. Nécessite root. pkexec wifi-menu -o ou sudo wifi-menu -o

Laissez le -opour voir les mots de passe réseau lorsque vous le tapez.

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

Ajoutez plus de points d'accès au besoin. netctl-auto se reconnectera automatiquement au point d'accès le plus puissant disponible par la suite.


Réponse améliorée
johny why
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.