J'ai installé Debian 9 Stretch (bureau GNOME) 64 bits sur mon PC. Mon adaptateur sans fil USB (TP-LINK TL-WN722N) a été détecté automatiquement après l'installation du micrologiciel atheros:
apt-get install firmware-atheros
Mais je ne peux pas me connecter à une infrastructure sans fil, qu'elle soit protégée par mot de passe ou non protégée.
J'ai branché mon USB. Il a été détecté, envoyé une authentification, s'est authentifié, mais a immédiatement abandonné l'authentification. La désactivation d'IPV6 n'a pas résolu mon problème. Voici mon rapport dmesg
:
[ 59.880805] usb 1-1.4: new high-speed USB device number 4 using ehci-pci
[ 60.005727] usb 1-1.4: New USB device found, idVendor=0cf3, idProduct=9271
[ 60.005729] usb 1-1.4: New USB device strings: Mfr=16, Product=32, SerialNumber=48
[ 60.005731] usb 1-1.4: Product: USB2.0 WLAN
[ 60.005732] usb 1-1.4: Manufacturer: ATHEROS
[ 60.005734] usb 1-1.4: SerialNumber: 12345
[ 60.324981] usb 1-1.4: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
[ 60.325069] usbcore: registered new interface driver ath9k_htc
[ 60.348095] usb 1-1.4: firmware: direct-loading firmware ath9k_htc/htc_9271-1.4.0.fw
[ 60.629962] usb 1-1.4: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008
[ 60.880826] ath9k_htc 1-1.4:1.0: ath9k_htc: HTC initialized with 33 credits
[ 61.111895] ath9k_htc 1-1.4:1.0: ath9k_htc: FW Version: 1.4
[ 61.111897] ath9k_htc 1-1.4:1.0: FW RMW support: On
[ 61.111899] ath: EEPROM regdomain: 0x809c
[ 61.111900] ath: EEPROM indicates we should expect a country code
[ 61.111901] ath: doing EEPROM country->regdmn map search
[ 61.111911] ath: country maps to regdmn code: 0x52
[ 61.111912] ath: Country alpha2 being used: CN
[ 61.111912] ath: Regpair used: 0x52
[ 61.122477] ieee80211 phy0: Atheros AR9271 Rev:1
[ 61.185069] ath9k_htc 1-1.4:1.0 wlx18a6f7160a49: renamed from wlan0
[ 61.224640] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[ 61.361032] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[ 61.535923] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[ 61.743450] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[ 69.190250] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[ 70.360621] wlx18a6f7160a49: authenticate with 74:23:44:dc:0f:d7
[ 70.551637] wlx18a6f7160a49: send auth to 74:23:44:dc:0f:d7 (try 1/3)
[ 70.556012] wlx18a6f7160a49: authenticated
[ 75.555233] wlx18a6f7160a49: aborting authentication with 74:23:44:dc:0f:d7 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 76.872114] wlx18a6f7160a49: authenticate with 74:23:44:dc:0f:d7
[ 77.061146] wlx18a6f7160a49: send auth to 74:23:44:dc:0f:d7 (try 1/3)
[ 77.065158] wlx18a6f7160a49: authenticated
[ 82.061225] wlx18a6f7160a49: aborting authentication with 74:23:44:dc:0f:d7 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 83.775718] wlx18a6f7160a49: authenticate with 74:23:44:dc:0f:d7
[ 83.965040] wlx18a6f7160a49: send auth to 74:23:44:dc:0f:d7 (try 1/3)
[ 83.969807] wlx18a6f7160a49: authenticated
[ 88.969792] wlx18a6f7160a49: aborting authentication with 74:23:44:dc:0f:d7 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 91.207178] wlx18a6f7160a49: authenticate with 74:23:44:dc:0f:d7
[ 91.395860] wlx18a6f7160a49: send auth to 74:23:44:dc:0f:d7 (try 1/3)
[ 91.400263] wlx18a6f7160a49: authenticated
[ 93.996839] wlx18a6f7160a49: aborting authentication with 74:23:44:dc:0f:d7 by local choice (Reason: 3=DEAUTH_LEAVING)
[ 94.061841] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
[ 94.233433] IPv6: ADDRCONF(NETDEV_UP): wlx18a6f7160a49: link is not ready
Je n'ai aucune idée pourquoi cela s'est produit, ni pourquoi il a été abandonné plusieurs fois en un seul essai.
Modifier: rapport iwconfig:
enp3s0 no wireless extensions.
wlx18a6f7160a49 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
lo no wireless extensions.
D'une manière ou d'une autre, mon micrologiciel a rencontré des problèmes avec le nom d'interface long. J'ai donc exécuté cette commande pour l'empêcher:
ln -s /dev/null /etc/systemd/network/99-default.link
et ça a marché.
Comme d'autres l'ont dit, le problème est causé par un nom non standard obtenu par l'appareil (c'est-à-dire non wlan *). Lier/dev/null ne fonctionnait pas pour moi, j'ai donc dû créer une règle udev pour renommer l'interface:
Dans
/etc/udev/rules.d/70-persistent-net.rules
ajouter:
SOUS-SYSTÈME == "net", ACTION == "add", DRIVERS == "? *", ATTRS {product} == "802.11 n WLAN", ATTR {dev_id} == "0x0", ATTR {type} == "1", KERNEL == "wlan *", NAME = "wlan1"
Ajustez ATTRS {produit} à votre appareil spécifique. Vérifiez comment le trouver ici
Je suis content que vous ayez posté et trouvé une solution à votre propre problème, j'ai eu quelque chose de similaire avec la même distribution, avec une clé basée sur rtl8192 (Netgear WNA3100M pour être précis), l'astuce systemd ̀ link
que vous avez mentionnée l'a corrigé , Merci.
Juste pour ajouter que cet article m'a aidé à comprendre pourquoi le correctif fonctionne réellement; c'est parce que nous remplaçons la valeur par défaut /lib/systemd/network/99-default.link
fichier contenant un ̀ NamePolicy
qui ne plaît pas au firmware.
BTW, j'ai toujours eu des problèmes pour rejoindre certains réseaux. Il est arrivé que la valeur par défaut domaine réglementaire ne correspondait pas à ma position géographique, j'ai donc dû émettre un iw reg set <MyCountryCode>
et modifiez le /etc/default/crda
fichier en conséquence.
J'ai le même problème avec deux clés USB WiFi différentes. Le correctif a également fonctionné dans mon cas, merci.
Je pense que le problème est lié à NetworkManager et au firmware: quand j'ai utilisé le même ordinateur et les mêmes clés USB, la même distribution Linux (Debian 9.3), mais j'ai utilisé wicd à la place de NetworkManager, puis le long, non -les noms de périphériques standard fonctionnaient et cette correction n'était pas nécessaire.
La réponse acceptée fonctionne aussi pour moi. Mais je ne suis pas sûr que l'utilisation d'un lien vers/dev/null soit la meilleure solution, car dans 3 ou 4 mois, je serai très confus de trouver un tel lien à cet endroit.
Dans le Raspbian - Installation sur mon Raspberry Pi j'ai trouvé un fichier régulier /etc/systemd/network/99-default.link avec le contenu suivant:
# This machine is most likely a virtualized guest, where the old persistent
# network interface mechanism (75-persistent-net-generator.rules) did not work.
# This file disables /lib/systemd/network/99-default.link to avoid
# changing network interface names on upgrade. Please read
# /usr/share/doc/udev/README.Debian.gz about how to migrate to the currently
# supported mechanism.
J'utilise ce fichier normal au lieu du lien symbolique pour résoudre le problème. Je pense que cette solution a l'avantage qu'il existe une sorte de documentation sur le système (peut-être devrais-je ajouter un lien vers cette page…).
Cela donnera un aperçu de ce qui se passe pour moi-futur. >; ->
La solution acceptée n'a pas fonctionné pour moi.
J'ai résolu le problème en désactivant IPv6 dans les propriétés de connexion. Exécutez nm-connection-editor, sélectionnez votre connexion en difficulté, appuyez sur le bouton avec l'icône d'engrenage (dans mon cas), allez dans l'onglet "Paramètres IPv6", dans le champ Méthode sélectionnez l'option "Ignorer" .
Comme d'autres l'ont dit, le problème est dû au nom non standard obtenu par l'appareil (c'est-à-dire non wlan *). Vous trouverez ci-dessous les méthodes appropriées pour définir le nom de l'interface réseau lors de l'utilisation de systemd.networkd ou NetworkManager .
systemd.networkd
Lors de la liaison à /dev/null
peut résoudre le problème, la bonne façon est de créer un .link file
définition du nom du périphérique.
Créer /etc/systemd/network/50-wlan.link
avec le contenu suivant:
[Match]
Type=wlan
[Link]
Name=wlan0
Redémarrez ou redémarrez le réseau, puis vérifiez le résultat: udevadm info /sys/class/net/wlan0 | grep ID_NET_NAME=
Plus de détails et d'informations de débogage peuvent être trouvés ici: https://www.freedesktop.org/software/systemd/man/systemd.link.html
NetworkManager
Lorsque vous utilisez NetworkManager, le changement de nom de l'interface peut être obtenu en créant une règle dans le répertoire /etc/udev/rules.d.
Créer /etc/udev/rules.d/70-rename-wlan.rules
avec le contenu suivant:
SUBSYSTEM=="net", ACTION=="add", KERNEL=="wlan*", NAME="wlan0"
Si tout s'est bien passé, vous devriez voir wlan0
parmi vos appareils après un reboot
.
root@bananapi:~# ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group
Et vous pourrez vous connecter au wifi en utilisant nmcli d wifi connect MEU_WIFI_SSID password MEU_PASSWORD
. nmcli
conservera la connexion et se reconnectera après un redémarrage.