Taxa de noWW e mcs do OpenWRT

2

As diferentes taxas de MCS são suportadas quando você está executando no modo de nok?

Contexto: Eu estou usando modems ath9k + placas Compex WPQ864 (linux-ipq864). Eu configurei uma das placas como ponto de acesso e outra como estação. Eu os conectei em trabalhos wlan e ping. Estou tentando desativar o ack usando:

iw dev wlan1 set noack_map 0xff

E tentei modificar as taxas de MCS usando:

iw dev wlan1 set bitrates ht-mcs-5 7

Mas isso funciona como planejado quando o ack está ativado, mas não tem efeito quando eu desative o ack usando o comando noack_map acima. E a taxa está sempre em 6Mbps.

iw wlan1 station dump 

mostra a seguinte saída:

inactive time:  570 ms
rx bytes:       190293
rx packets:     1700
tx bytes:       187747
tx packets:     1621
tx retries:     0
tx failed:      883
rx drop misc:   1
signal:         -37 [-44, -38] dBm
signal avg:     -36 [-43, -37] dBm
tx bitrate:     6.0 MBit/s
rx bitrate:     13.0 MBit/s MCS 1rx drop misc:   1
signal:         -37 [-44, -38] dBm
signal avg:     -36 [-43, -37] dBm
tx bitrate:     6.0 MBit/s
rx bitrate:     13.0 MBit/s MCS 1

Qualquer ajuda é apreciada.

LinuxUser
fonte
Apenas por curiosidade, por que você está usando modos de noack? Entre essas taxas de bits são extremamente ruins para a saída de força do sinal despejo de estação iw wlan1 .
Tim_Stewart
Desligar o ack é um requisito absoluto para atingir uma meta para o sistema geral.
LinuxUser
1
Agora estou muito curioso: o que é a meta para o sistema geral que requer desligar o ack? E eu acho que você terá que ler a fonte do driver ath9k para encontrar uma resposta, o OpenWRT provavelmente não tem nenhuma influência sobre isso.
dirkt
Ah, todo mundo está curioso sobre o objetivo :) É o atraso, cara! Às vezes, você pode perder um pacote, mas não pode permitir que o fluxo fique parado por alguns milésimos de segundo. Ele irá aumentar o jitter e morder sua bunda se você estiver fazendo VoIP ou algo semelhante.
ogurets

Respostas:

0

Sortudo! Estou tentando criar um canal de baixo atraso para o vídeo. Todo método que eu tentei suprimir Acks (injeção de pacotes, QoS, noack_map 0x01) funciona, mas está reduzindo minha taxa de dados para 1 Mbps.

Você poderia tentar NoAck'ing um soquete em vez de toda a interface (isso é C, eu tentei fazer isso via iptables ' set-tos opção, mas não descobriu como funciona):

int priority = 262;  // Wifi QoS priority Video (VI)
if (setsockopt(s, SOL_SOCKET, SO_PRIORITY, (const char *)&priority, sizeof(priority)) < 0) {
    perror("setsockopt SO_PRIORITY");
}

Ele vai dar a sua prioridade de soquete 6 (VI aka Video) em QoS Control campo do cabeçalho 802.11. Então use isto:

iw dev wlan0 set noack_map 0x00C0

para ativar o NoAck para este soquete. Esta deveria ter sido a maneira correta de fazê-lo, mas para mim a taxa de dados desses quadros NoAcked foi duramente atingida a 1 Mbps apesar de iw dev set bitrates e iw dev set mcast_rate. Talvez você tivesse mais sorte.

ogurets
fonte