Tingkat noack dan mcs OpenWRT

2

Apakah tarif MCS yang berbeda didukung ketika Anda menjalankan dalam mode noack?

Konteks: Saya menggunakan modem ath9k + Compex WPQ864 (linux-ipq864) board. Saya telah mengkonfigurasi salah satu papan sebagai titik akses dan yang lainnya sebagai stasiun. Saya telah menghubungkan mereka di wlan dan ping. Saya mencoba mematikan ack menggunakan:

iw dev wlan1 set noack_map 0xff

Dan saya mencoba untuk memodifikasi tarif MCS menggunakan:

iw dev wlan1 set bitrates ht-mcs-5 7

Tapi ini berfungsi seperti yang dimaksudkan ketika ack aktif, tetapi tidak berpengaruh ketika saya mematikan ack menggunakan perintah noack_map di atas. Dan nilainya selalu di 6Mbps.

iw wlan1 station dump 

menunjukkan output berikut:

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

Bantuan apa pun dihargai.

Pengguna Linux
sumber
Hanya ingin tahu, mengapa Anda menggunakan mode noack? Btw, bitrate ini sangat buruk untuk kekuatan sinyal keluaran iw wlan1 station dump .
Tim_Stewart
Mematikan ACK adalah persyaratan mutlak untuk mencapai tujuan sistem secara keseluruhan.
LinuxUser
1
Sekarang aku sangat penasaran: Apa adalah tujuan untuk sistem secara keseluruhan yang membutuhkan mematikan ack ini? Dan saya kira Anda harus membaca sumber driver ath9k untuk menemukan jawaban, OpenWRT sangat mungkin tidak memiliki pengaruh pada ini.
dirkt
Oh, semua orang ingin tahu tentang tujuannya :) Ini keterlambatannya, kawan! Terkadang Anda mampu kehilangan paket, tetapi tidak mampu mengalirkan arus untuk terhenti bahkan untuk beberapa milidetik. Ini akan meningkatkan jitter dan menggigit pantat Anda jika Anda melakukan VoIP atau yang serupa.
oguret

Jawaban:

0

Beruntungnya kamu! Saya mencoba membuat saluran penundaan rendah untuk video. Setiap metode yang saya coba untuk menekan Acks (injeksi paket, QoS, noack_map 0x01) berfungsi, tetapi menurunkan kecepatan data saya ke 1 Mbps.

Anda dapat mencoba NoAck'ing satu soket alih-alih seluruh antarmuka (ini adalah C, saya sudah mencoba melakukan ini melalui set-tosopsi iptables ' , tetapi tidak mengetahui cara kerjanya):

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");
}

Ini akan memberikan prioritas soket 6 (VI alias Video) Anda di QoS Controlbidang header 802.11. Kemudian gunakan ini:

iw dev wlan0 set noack_map 0x00C0

untuk mengaktifkan NoAck untuk soket ini. Ini seharusnya menjadi cara yang tepat untuk melakukannya, tetapi bagi saya kecepatan data dari frame NoAcked ini sulit dipaku ke 1 Mbps meskipun iw dev set bitratesdan iw dev set mcast_rate. Mungkin Anda akan lebih beruntung.

oguret
sumber