libc0607 / rtl88x2eu-20230815

Linux Driver for WiFi Adapters that are based on the RTL8812EU and RTL8822EU Chipsets with packet injection patch- v5.15.0.1
26 stars 15 forks source link

Injection instability on 40MHz channels #7

Open svpcom opened 1 week ago

svpcom commented 1 week ago

When I try to inject 4 mbit/s stream MCS1 using 40 MHz channel then card became periodically stall injection which leads to massive packet dropoff on RX side. The same injection on 20 MHz channel or using 8812au card @40MHz works fine. Receiving the same stream (generated by 8812au card) works without problem, so it seems this is TX-only issue

snokvist commented 1 week ago

I have the same issue, tried a multitude of settings with the same results.

libc0607 commented 1 week ago

Do you have any clue on why that happened? I can't 100% reproduce that, but it does happen sometimes...

I tended to conclude that it was some interference (as in a wider band there's a higher chance), but that could be wrong and it's a bug somewhere...?

svpcom commented 1 week ago

@libc0607 This only happened when sufficient amount of traffic exists. I.e. if I'll transmit separate packets it will not happened. I have no idea how to debug it - only to compare some pieces of code with 8812au driver (it doesn't have such problem)

svpcom commented 1 week ago

test video pipeline to reproduce:

gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw,format=I420,width=1920,height=1080,framerate=30/1' ! clockoverlay halignment=right valignment=top text=src ! x264enc tune=zerolatency bitrate=4000 intra-refresh=true ! rtph264pay aggregate-mode=zero-latency mtu=1400 config-interval=1 ! udpsink host=127.0.0.1 port=5602 sync=false

test hw setup: x86 laptop with 8812eu (wlan1) and 8812au (wlan2) wifibroadcast.cfg

[common]
wifi_channel = 149
wifi_txpower = {'wlan1': 100, 'wlan2': -100}

[base]
bandwidth = 40
mcs_index = 1
use_qdisc = True

wfb-ng config:

  1. wfb-server --profiles drone --wlan wlan1
  2. wfb-server --profiles gs --wlan wlan2

modprobe config

# blacklist stock module
blacklist 88XXau
blacklist 8812au
options cfg80211 ieee80211_regdom=RU
options 88XXau_wfb rtw_tx_pwr_idx_override=1
options 8812eu rtw_tx_pwr_by_rate=0 rtw_tx_pwr_lmt_enable=0