Como posso controlar a comutação entre APs sem fio no Linux?

3

Como as paredes da minha casa são espessas e tendem a atenuar os sinais sem fio, eu tenho dois pontos de acesso em diferentes partes da minha casa, configurado no mesmo SSID com as mesmas configurações . Ambos funcionam bem em geral. No entanto, de uma maneira similar àquela observada por esse usuário , acho que mover meu laptop de uma sala para outra não fazer com que ele troque os pontos de acesso com rapidez suficiente; ou a sua nova varredura é muito pouco frequente, ou o limite da qualidade do sinal é muito baixo, ou ambos. Isso leva a um período irritantemente longo em que a rede não responde.

Posso controlar isso no Linux? (que é o que meu laptop roda - mais especificamente, eu tenho CrunchBang , uma variante do Debian, se é importante). Eu gostaria de poder alterar esse limiar de sinal e / ou rastrear novamente o período, se possível, para torná-lo mais agressivo na troca.

    
por Andrew Ferrier 25.06.2012 / 19:43

3 respostas

4

Demora algum tempo até que o gerente de rede decida que a conexão não está voltando e só então tentará se reconectar. Acho que wicd é mais "responsivo" do que NetworkManager - eu consideraria mudar para isso.

Você também pode executar um script de segundo plano que monitora a intensidade do sinal e força uma desconexão se o sinal ultrapassar um determinado nível. Uma vez desconectado, o seu gerenciador de rede normalmente se conectará a uma rede com sinal mais strong.

Exemplo de script usando iw(1) do pacote iw :

#!/bin/bash
IFACE="wlan0"
LIMIT="-75"
while true; do
        signal=$(iw $IFACE link | grep signal | awk '{print $2}')
        [ $signal ] && [ $signal -lt $LIMIT ] && iw $IFACE disconnect
        echo $signal
        sleep 1
done
    
por 26.06.2012 / 02:51
0

Os pontos de acesso mantêm informações atualizadas sobre o seu dispositivo - você não pode simplesmente se deslocar de um para outro magicamente por parâmetros correspondentes. Grandes empresas como a Aruba resolvem o problema colocando um "roteador de acesso" em um local em um prédio e, em seguida, cada "ponto de acesso" é apenas uma antena e placa de linha no roteador de acesso. Pontos de acesso em casa não têm nada disso mágico.

A menos que os pontos de acesso estejam se comunicando através de algum protocolo mágico, eu imagino que você esteja criando enormes problemas para seus pontos de acesso porque algum MACID desconhecido aparece e tem a senha WEP / WPA, mas não a associou eles não permitem a atribuição de endereços IP e, portanto, eles não têm permissão para enviar pacotes, e isso provavelmente confunde o wpa_supplicant com a sua própria estação de trabalho, além do ponto de acesso.

    
por 02.02.2016 / 18:13
-1

tente desta forma:

#!/bin/bash
IFACE="wlp3s0"
LIMIT="-65"
ID1="wireless network name"
ID2="wireless network name"

ssid=$(iw $IFACE link | grep SSID | awk '{print $2}')
signal=$(iw $IFACE link | grep signal | awk '{print $2}')

if [ $signal -lt $LIMIT ]
then case $ssid in
    $ID1) nmcli con up $ID2
    ;;
    $ID2) nmcli con up $ID1
    ;;
    esac &&
    ssid=$(iw $IFACE link | grep SSID | awk '{print $2}') && echo you are now connected to $ssid
else echo "no changes needed"

fi
sleep 1
    
por 01.05.2018 / 23:55