Como eu posso configurar a taxa de transmissão padrão para 802.11 (“WiFi”) no Debian 7 GNU / Linux?

2

Eu preciso diminuir a taxa de transmissão do meu controlador de interface de rede IEEE 802.11g para ter taxa de perda de pacote aceitável (< 0,5%), caso contrário, ele se torna muito alto (> 50% é típico, mas varia). Eu uso o NetworkManager para lidar com minha conexão de rede, no entanto (pelo menos nesta versão do Debian) não tem uma opção para diminuir a taxa de transmissão, então eu faço manualmente através da linha de comando com sudo iwconfig wlan0 rate 1M toda vez que eu ligar o computador.

Como posso configurar meu sistema GNU / Linux de modo que a taxa de transmissão seja de 1 Mbit / s por padrão (sem precisar configurá-lo manualmente toda vez que eu inicializo o computador)?.

Observação: eu me conecto apenas a uma única rede sem fio, mas nem sempre está disponível toda vez que eu ligo o computador (isso acontece porque não estou nesse local, não é um problema técnico) e a conexão não é imediata De qualquer forma, eu não posso contornar o problema fazendo um script que é executado quando eu log-in para o ambiente gráfico e faz iwconfig lwan0 rate 1M .

Obrigado antecipadamente.

    
por Mario Robles 11.02.2015 / 01:59

1 resposta

0

Se a configuração puder esperar até depois que a interface estiver ativa (o DHCP terminou), existem algumas maneiras diferentes de executar um script quando a interface aparecer.

A maneira Debian é colocar um script em /etc/network/if-up.d/ . Isso deve funcionar no Debian, não importa qual método você use para gerenciar sua interface (NetworkManager, ifupdown, etc). O nome da interface e algumas outras coisas são passados para o script usando variáveis de ambiente. Um script de exemplo:

if [ "$IFACE" = "wlan0" ] ; then
    if iwconfig "$IFACE" | fgrep -q 'ESSID:"My Wireless Network"' ; then
        iwconfig wlan rate 1M
    fi
fi

A maneira do NetworkManager é colocar um script em /etc/NetworkManager/dispatcher.d/ . Este local deve funcionar em qualquer distribuição Linux, desde que você esteja usando o NetworkManager. Aqui, o nome da interface é passado como o primeiro argumento de linha de comando. O roteiro parece basicamente o mesmo; basta substituir "$IFACE" por "$1" . De fato, se você olhar nesse diretório, verá um script de compatibilidade 01ifupdown que faz com que o NetworkManager execute os scripts "caminho do Debian".

Para mais informações sobre como escrever os scripts no estilo Debian, man 5 interfaces e leia a seção "OPÇÕES DO IFACE".

Alguns recursos descrevendo o script do NetworkManager podem ser encontrados aqui e here .

    
por 18.02.2015 / 09:06