Повезло тебе! Я пытаюсь создать канал с низкой задержкой для видео. Каждый метод, который я пытался подавить Acks (инъекция пакетов, QoS, noack_map 0x01), работает, но снижает скорость передачи данных до 1 Мбит / с.
Вы можете попробовать NoAck'ing один сокет вместо всего интерфейса (это C, я пытался сделать это с помощью set-tos
опции iptables, но не выяснил, как это работает):
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"); }
Это даст вашему сокету приоритет 6 (VI aka Video) в QoS Control
поле заголовка 802.11. Тогда используйте это:
iw dev wlan0 set noack_map 0x00C0
включить NoAck для этого сокета. Это должен был быть правильный способ сделать это, но для меня скорость передачи данных этих кадров с нулевой задержкой была жестко зафиксирована до 1 Мбит / с, несмотря на iw dev set bitrates
и iw dev set mcast_rate
. Может быть, вам повезет.