Eu resolvi o problema mudando para os drivers ath10k
, que agora publicaram drivers para meu cartão. Escrevi um guia passo-a-passo para o que eu fiz.
Meu laptop Debian 8 usando drivers 8192cu falha intermitentemente ao não retornar resultados ao procurar por redes WiFi. Como posso resolver o problema e permitir que meu computador retorne resultados completos consistentemente ao verificar redes WiFi?
EDIT 1: atualize o motivo pelo qual eu não estou usando ath10k
EDIT 2: adicione lspci -nnk | grep -iA2 net
Estou executando um laptop Debian 8 (Lenovo G50-80, com o Windows pré-carregado substituído) e usando um dongle USB sem fio Kootek que usa os chipsets RTL8188CUS / RTL8192CU. (Meu WiFi onboard usa os ath10k
drivers, que ainda não estavam disponíveis para meu kernel da última vez que verifiquei , mas eles não foram atualizados para a ID do dispositivo do meu cartão na última vez que verifiquei , então sou forçado a usar um dongle por enquanto. O dispositivo PCI e o ID do fabricante do WiFi onboard, conforme retornado por lspci -nn
, é 168c:0041
. ) ciente de que o dongle que eu estou usando é muito popular na comunidade Raspberry Pi.
Eu fiz o download dos drivers 8192cu.ko
, instalei-os e os carreguei com êxito e coloquei na lista negra rtl8192cu
; nenhuma mensagem de erro aparece em dmesg -w
, e eu nunca tenho problemas em obter a interface wlan0
para aparecer ou obter o módulo 8192cu
para aparecer na saída de lsmod
sempre que eu conectar meu dongle. Mas às vezes, sudo iwlist wlan0 scan
retorna
$ sudo iwlist wlan0 scan
wlan0 No scan results
$
mesmo sabendo que estou nas proximidades de várias redes WiFi.
Quando eu conecto o dongle, sua luz azul geralmente pisca um pouco. O LED brilha moderadamente em uma varredura e pisca intensamente quando se conecta a uma rede.
O WiFi funciona de forma intermitente. Alguns dias funciona sem problemas ("funciona", o que significa que posso procurar e conectar-me com êxito a uma rede WiFi). Em outros dias, posso usar uma solução alternativa: desconecte o dongle, conecte-o novamente, spam sudo iwlist wlan0 scan
, se tiver vontade, e repita até que funcione. Alguns dias - como toda a semana passada - não funciona, mesmo depois de várias reinicializações.
Conduzi várias consultas do Google para tentar resolver esse problema. A maioria dos meus resultados parece se concentrar em pessoas que não estão obtendo seu dongle para aparecer em lsusb
, ou cujas versões de driver não combinam com o kernel, ou que estão tendo problemas para puxar a interface. Nenhuma dessas condições se aplica aqui, e é por isso que estou fazendo essa pergunta.
Estou ciente de que devo testar o dongle em um computador em bom estado. Eu não fiz isso ainda, mas poderia, se você acredita que eu deveria.
Eu uso wpa_supplicant
para se conectar ao Wi-Fi; Eu uso o NetworkManager para redes públicas e WPA-PSK, e um script auto-escrito (basicamente executa wpa_supplicant
e dhclient
com um arquivo de configuração personalizado) para os mais complexos.
Normalmente, não mantenho os pontos de acesso sem fio aos quais me conecto. Isso significa que não posso fazer alterações de configuração ou inspecionar configurações.
Eu periodicamente atualizo meu sistema com pacotes dos repositórios de segurança do Debian. Isso nunca causou uma atualização do kernel; somente atualizações para pacotes .deb autênticos.
Arquivos e transcrições . Como mencionado acima, essas configurações funcionam de forma intermitente.
uname -a
:
Linux hamming 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29) x86_64 GNU/Linux
cat /etc/network/interfaces
:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/* # [this directory is empty]
# The loopback network interface
auto lo
iface lo inet loopback
lspci -nnk | grep -iA2 net
:
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)
Subsystem: Lenovo Device [17aa:3821]
Kernel driver in use: r8169
03:00.0 Network controller [0280]: Qualcomm Atheros Device [168c:0041] (rev 20)
Subsystem: Lenovo Device [17aa:3545]
O roteiro autocrítico, com detalhes de identificação censurados (retirados de algum lugar da Internet, não me lembro de onde - talvez adaptado do wiki ou fórum do Arch - desde então, acrescentei verificações de integridade e verbosidade padrão para meus propósitos):
#!/bin/bash
iface=wlan0
# check if sudo
if [[ "'id -u'" -ne 0 ]]; then
echo '*** run this as root you idiot'
exit 1
fi
# stop network manager
echo '*** stopping NM'
service network-manager stop
# stop any persistent wireless wpa2 auth sessions
echo '*** killing all wpa_supplicants'
killall wpa_supplicant
# shut down iface
echo '*** shutting down interface'
ifconfig $iface down
# set working mode of wireless device
echo '*** setting interface mode'
ifconfig $iface mode Managed
# enable iface
echo '*** enabling interface'
ifconfig $iface up
# apply dragonfly3 settings to device
echo '*** running wpa supplicant'
until wpa_supplicant -B -Dwext -i $iface -c ./connect-to-xxx.conf -dd; do
echo "*** error level $?";
done
echo "*** error level $?"
# obtain an IP address
echo '*** obtaining IP address'
dhclient $iface
echo "*** error level $?"
echo '*** complete'
cat ./connect-to-xxx.conf
, com detalhes de identificação censurados:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="xxx"
key_mgmt=WPA-EAP
eap=TTLS
ca_cert="/path/to/ca/cert.cer"
#scan_ssid=0
#pairwise=CCMP TKIP
#group=CCMP TKIP
identity="myusername"
password="mypassword"
phase2="auth=MSCHAPv2"
}
Estou usando uma conexão Ethernet com fio para publicar essa pergunta, então não tenho transcrições de log de quando realmente tento usar o adaptador sem fio. Vou salvá-los e publicá-los aqui uma vez que eu tente conectar-me ao WiFi na localização geográfica que geralmente me causa problemas.