"Cancelando a autenticação por opção local (motivo: 3 = DEAUTH_LEAVING)" ao tentar conectar-se ao wifi

13

Instalei o Debian 9 stretch (área de trabalho GNOME) de 64 bits no meu PC. Meu adaptador sem fio USB (TP-LINK TL-WN722N) foi detectado automaticamente após a instalação do firmware da atheros:

apt-get install firmware-atheros

Mas não consigo me conectar a nenhuma estrutura sem fio, esteja eles protegidos com senha ou desprotegidos.

Liguei o meu USB. Foi detectado, enviou autenticação, foi autenticado, mas anulou imediatamente a autenticação. Desabilitar o IPV6 não resolveu meu problema. Aqui está o meu dmesgrelatório:

[   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

Não tenho idéia do por que isso aconteceu, nem por que foi abortado várias vezes em uma tentativa.

Editar: relatório 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.
GPraz
fonte
A que distância você está desse ponto
Rui F Ribeiro

Respostas:

15

De alguma forma, meu firmware teve problemas com o nome longo da interface. Então, eu executei este comando para evitá-lo:

ln -s /dev/null /etc/systemd/network/99-default.link

e funcionou.

GPraz
fonte
Apenas para acrescentar que este artigo me ajudou a entender por que a correção realmente funciona; é porque nós estamos substituindo padrão /lib/systemd/network/99-default.linkde arquivo que contém um NamePolicyque não agrada o firmware. BTW, eu ainda tinha problemas para ingressar em algumas redes. Aconteceu que o padrão de domínio regulamentar não coincidir com a minha localização, então eu tive que emitir um iw reg set <MyCountryCode>e editar o /etc/default/crdaarquivo de acordo
user3249994
Observei o mesmo problema com um rt2x00 e essa solução alternativa funcionou imediatamente. Eu apreciaria se alguém pudesse explicar por que funciona e qual é a solução adequada.
Helmut Grohne
3
Embora eu concorde que essa seja uma solução funcional, seria fantástico se alguém pudesse explicar um pouco melhor o "porquê" ... Meu palpite é que isso tem a ver com algo no NetworkManager, mas isso é apenas um truque.
CJ Steele
1
Isso ajuda, estou enfrentando esse problema há mais de um mês, atualizei meu debian há alguns meses e comecei a ver esse problema, mas apenas com roteadores específicos. Eu tenho chip wifi intel (módulo iwlwifi).
Krzysztof Krasoń
1
Isso funciona para o meu adaptador sem fio Ralink MTK7601u. $ sudo nmcli dev wifi connect MySSIDgera uma mensagem de erro como Error: Connection activation failed: (53) The Wi-Fi network could not be found.O relatório dmesg é quase o mesmo.
Arnie97 29/11/19
7

Como outros disseram, o problema é causado pelo nome não padrão que o dispositivo obtém (ou seja, não wlan *). Vincular / dev / null não funcionou para mim, então tive que criar uma regra do udev para renomear a interface:

No

/etc/udev/rules.d/70-persistent-net.rules

adicionar:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?\*", ATTRS{product}=="802.11 n WLAN", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"

Ajuste ATTRS{product}para o seu dispositivo específico. Veja como encontrá-lo aqui

Maciek
fonte
Estou tendo o mesmo problema e estou encontrando esta solução ... É apenas isso ATTRS{product}que precisa ser substituído? Será DRIVERStambém precisa ter algo lá ou é realmente deveria ser ajustado para =?Thanks!
J. Taylor
1
Fiz isso há mais de um ano e, francamente, não me lembro dos detalhes. Acredito que o ATTRS {produto} deve ser suficiente para corresponder ao seu dispositivo. Além disso, deve ser DRIVERS == "? *" - a pilha comeu a estrela.
Maciek
os links estão quebrados!
Nabulator
Esta é a solução para quem está usando o NetworkManager. Esta regra pode ser mais flexível para que você não precise se preocupar com o ATTRS{product}. O meu está funcionando com esta configuração:SUBSYSTEM=="net", ACTION=="add", KERNEL=="wlan*", NAME="wlan0"
rodvlopes 16/01
1

Eu tenho o mesmo problema com dois cartões USB WiFi diferentes. A correção também funcionou no meu caso, obrigado.
Eu acho que o problema está conectado ao NetworkManager e ao firmware: quando eu usei o mesmo computador e pen drives, a mesma distribuição Linux (Debian 9.3), mas usei o wicd em vez do NetworkManager, então os nomes de dispositivos longos e não-padrão eram funcionando, e essa correção não era necessária.

Laszlo
fonte
Eu instalei o wicd e ele se conectou bem depois disso, obrigado!
Hayden Thring
1

A resposta aceita também funciona para mim. Mas não tenho certeza, que usar um link para / dev / null é a melhor solução, pois em 3 ou 4 meses ficarei muito confuso ao encontrar esse link neste local.

No Raspbian -Installation no meu Raspberry Pi, encontrei um arquivo regular /etc/systemd/network/99-default.link com o seguinte conteúdo:

# 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.

Eu uso esse arquivo regular em vez do link simbólico para corrigir o problema. Eu acho que essa solução tem a vantagem de haver algum tipo de documentação no sistema (talvez eu deva adicionar um link para esta página…).

Isso dará uma dica do que está acontecendo no futuro - eu. >; ->

thosch66
fonte
0

Como outros disseram, o problema é causado pelo nome não padrão que o dispositivo obtém (por exemplo, não wlan *). Abaixo estão as maneiras adequadas de definir o nome da interface de rede ao usar systemd.networkd ou NetworkManager .

systemd.networkd

Embora o link para /dev/nullpossa resolver o problema, a maneira correta é criar uma .link fileconfiguração para o nome do dispositivo.

Crie /etc/systemd/network/50-wlan.linkcom o seguinte conteúdo:

[Match]
Type=wlan

[Link]
Name=wlan0

Reinicie ou reinicie a rede e verifique o resultado: udevadm info /sys/class/net/wlan0 | grep ID_NET_NAME=

Mais detalhes e informações sobre depuração podem ser encontrados aqui: https://www.freedesktop.org/software/systemd/man/systemd.link.html

Gerente da rede

Ao usar o NetworkManager, a renomeação da interface pode ser obtida criando uma regra no diretório /etc/udev/rules.d.

Crie /etc/udev/rules.d/70-rename-wlan.rulescom o seguinte conteúdo:

SUBSYSTEM=="net", ACTION=="add", KERNEL=="wlan*", NAME="wlan0"

Se tudo deu certo, você deve ver wlan0entre seus dispositivos depois de um 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 

E você pode se conectar ao wifi usando nmcli d wifi connect MEU_WIFI_SSID password MEU_PASSWORD. O nmclipersistirá a conexão e se reconectará após uma reinicialização.

rodvlopes
fonte
Acho que nem o NetworkManager nem o systemd-networkd renomeiam seu dispositivo. Isso é feito pelo udev. Portanto, sim, escrever uma regra do udev funciona e criar um arquivo .link (nesse caso, o arquivo .link é processado pelo udev, não pelo systemd-networkd).
thaller 12/02
No segundo exemplo, fica claro que o udev está fazendo o trabalho, não o NetworkManager. Você pode estar certo, mas no segundo exemplo, systemd-networkd também pode fazer o trabalho (talvez ele fale com o udev sob o capô).
rodvlopes
-1

A solução aceita não funcionou para mim.

Eu resolvi o problema desativando o IPv6 nas propriedades da conexão. Execute o nm-connection-editor , selecione sua conexão problemática, pressione o botão com o ícone de engrenagem (no meu caso), vá para a guia "Configurações do IPv6", no campo Método, selecione a opção "Ignorar".

user36313
fonte