OpenWRT noack und mcs rate

599
LinuxUser

Werden unterschiedliche MCS-Raten unterstützt, wenn Sie im Noack-Modus arbeiten?

Kontext: Ich verwende ath9k-Modems + Compex WPQ864-Karten (linux-ipq864). Ich habe eine der Karten als Zugangspunkt und eine andere als Station konfiguriert. Ich habe sie über WLAN und Ping-Arbeiten verbunden. Ich versuche, ack auszuschalten mit:

iw dev wlan1 set noack_map 0xff 

Und ich habe versucht, die MCS-Raten zu ändern:

iw dev wlan1 set bitrates ht-mcs-5 7 

Dies funktioniert jedoch wie beabsichtigt, wenn ack aktiviert ist, hat jedoch keine Auswirkung, wenn ich ack mit dem obigen Befehl noack_map ausschalte. Und die Rate liegt immer bei 6 Mbps.

iw wlan1 station dump 

zeigt die folgende Ausgabe:

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 

Jede Hilfe wird geschätzt.

2
Nur aus Neugier, warum verwenden Sie Noack-Modi? Allerdings sind diese Bitraten extrem schlecht für die Signalstärkenausgabe von ** iw wlan1 Station Dump **. Tim_Stewart vor 5 Jahren 0
Das Abschalten der Bestätigung ist eine absolute Voraussetzung, um ein Ziel für das Gesamtsystem zu erreichen. LinuxUser vor 5 Jahren 0
Jetzt bin ich sehr neugierig: Was ist das Ziel für das Gesamtsystem, das das Abschalten von Ack's erfordert? Und ich denke, Sie müssen die Quelle des ath9k-Treibers lesen, um eine Antwort zu finden. OpenWRT hat sehr wahrscheinlich keinen Einfluss darauf. dirkt vor 5 Jahren 1
Oh, jeder ist neugierig auf das Ziel :) Es ist die Verzögerung, Alter! Manchmal können Sie es sich leisten, ein Paket zu verlieren, aber Sie können es sich nicht leisten, dass der Stream auch nur wenige Millisekunden hängen bleibt. Wenn Sie VoIP oder etwas Ähnliches machen, wird der Jitter zunehmen und Sie in den Arsch beißen. ogurets vor 5 Jahren 0

1 Antwort auf die Frage

0
ogurets

Du Glückspilz! Ich versuche, einen Kanal mit geringer Verzögerung für Video zu erstellen. Jede Methode, die ich versucht habe, Acks (Paketinjektion, QoS, noack_map 0x01) zu unterdrücken, funktioniert, aber meine Datenrate sinkt auf 1 Mbps.

Sie könnten NoAck'ing anstelle des gesamten Interfaces mit einem Socket versuchen (dies ist C, ich habe versucht, dies mit der set-tosOption iptables zu tun, habe aber nicht herausgefunden, wie es funktioniert):

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

Es gibt Ihrem Socket die Priorität 6 (VI aka Video) im QoS ControlFeld des 802.11-Headers. Dann benutze folgendes:

iw dev wlan0 set noack_map 0x00C0 

um NoAck für diesen Sockel zu aktivieren. Dies hätte eigentlich der richtige Weg sein müssen, aber für mich war die Datenrate dieser NoAcked-Frames trotz iw dev set bitratesund mit 1 Mbps hart vernagelt iw dev set mcast_rate. Vielleicht hättest du mehr Glück.