Eu tive o mesmo problema. Acontece que o Network manager tem um excesso de zelo em alternar entre pontos de acesso (APs) quando mais de um está presente. Você tem duas opções
-
Use o iwlist para descobrir quantos APs existem:
root@debian:/home/nofrills# iwlist wlan0 scan Scan completed : Cell 01 - Address: 00:1E:58:A1:41:87 ESSID:"iiserk_wireless" Mode:Managed Frequency:2.462 GHz (Channel 11) Quality:4/5 Signal level:-64 dBm Noise level:-92 dBm IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (2) : TKIP CCMP Authentication Suites (1) : 802.1x Preauthentication Supported Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 12 Mb/s; 24 Mb/s; 36 Mb/s; 9 Mb/s; 18 Mb/s 48 Mb/s; 54 Mb/s Cell 02 - Address: 00:1E:58:A1:54:7B ESSID:"iiserk_wireless" #More such details
Em seguida, observe o endereço da célula com a maior qualidade . Esse é o AP mais próximo de você. Em seguida, clique no applet Gerenciador de rede, selecione "Editar conexões" e vá para a rede wifi listada. Haverá uma caixa de texto intitulada "BSSID". Cole o endereço da célula lá.
-
Caso contrário, você pode eliminar completamente o gerenciador de rede e usar o wpa_supplicant (o Network Manager o utiliza de qualquer maneira). Basta criar um arquivo de configuração e editar seu / etc / network / interfaces desta maneira:
auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp pre-up wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant.conf post-down killall -q wpa_supplicant
A opção 1 não é muito útil, a menos que você passe a maior parte do tempo no local de trabalho praticamente no mesmo local. A opção 2 é o que estou usando agora e funciona muito bem. Mas o Wi-Fi não é reconectado automaticamente após a suspensão / retomada, então você precisa executar /etc/init.d/networking/restart
manualmente.
Se você gosta de fazer as coisas corretamente, como alternativa ao comando genérico killall
, é possível usar a ferramenta específica WPA wpa_client
:
wpa_cli -i wlan0 terminate