1) O comando
iwconfig wlan0 rate 54M fixed
é ineficiente [1], já que o próprio kernel do Linux invoca um dos dois algoritmos de controle de taxa padrão:
- menestrel (e / ou minstrel_ht)
- PID
Você pode verificar qual foi escolhido para sua interface, verificando a saída de 'dmesg'.
Caso o algoritmo seja 'minstrel / minstrel_ht', para definir manualmente as taxas, faça o seguinte no terminal (como usuário root)
# echo 'index' > /sys/kernel/debug/ieee80211/phy0/rc/fixed_rate_idx
em que o "índice" é um "índice de taxas" permitido. Você pode tentar inteiros pequenos. Isso ajusta a taxa para algum valor fixo em poucos segundos.
Referências: link
[1] Eu preciso de alguém para comentar sobre essa 'ineficiência'.
2) O interruptor
CONFIG_MAC80211_HAS_RC=y (and similar switches around it in the 'kernel .config file')
pode ser jogado com. No entanto,
Failed to select rate control algorithm
é uma mensagem que encontrei na saída 'dmesg' assim que fiz isso e nenhuma interface sem fio funcionou. Eu acredito que há uma dependência desse algoritmo de 'controle de taxa' nos drivers ath * k. Eu gostaria de saber se isso pode ser evitado de alguma forma.
Agradecimentos: Obrigado a @bcopeland e @johill em # linux-wireless pela orientação até o fim!