kernel: fix Wi-Fi RX instability and bogus MAC address - #127
Merged
Conversation
- Add RFC patches from Richard Acayan (ath10k list, Feb 2026):
- 0016: WCN3990 splits A-MSDUs across multiple HTT in-order
indications; mainline dropped them ("failed to extract amsdu: -11",
rx_confused), collapsing TCP under load (49 kB/s). Persist the
in-order MSDU list in driver state.
- 0017: don't wait for a DELETE_KEY response the firmware never
sends (fixes -ETIMEDOUT/-110 on key removal).
- 0011: the firmware reports a bogus 0e:00:00:00:00:00 MAC that passes
is_valid_ether_addr(), so the socinfo fallback never ran. Also treat
that dummy address as invalid.
Verified on mici: permaddr now 00:0a:f5:xx:xx:xx, throughput
49 kB/s -> 16.8 MB/s (433 Mbps VHT80 rx rate), 20 MB scp both
directions with no amsdu errors, deauths, or key timeouts.
vamOS System ProfileChanges vs master
Directory size changes (>1MB)
Top 10 Directories
Category Breakdown
Top 10 Packages by Size
|
| File | Size |
|---|---|
| /usr/lib/llvm/21/lib/libLLVM.so.21.1 | 124.3MB |
| /usr/lib/llvm/21/lib/libMLIR.so.21.1 | 89.7MB |
| /usr/lib/llvm/21/bin/mlir-transform-opt | 82.9MB |
| /usr/lib/llvm/21/lib/libclang-cpp.so.21.1 | 56MB |
| /usr/lib/llvm/21/bin/mlir-translate | 53.2MB |
| /usr/bin/uv | 52.6MB |
| /usr/lib/llvm/21/bin/llvm-exegesis | 52MB |
| /usr/lib/llvm/21/bin/llvm-bolt-binary-analysis | 50.6MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/gnat1 | 40.1MB |
| /usr/bin/gdb | 39.1MB |
| /usr/lib/libgallium-26.1.3.so | 37.7MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/cc1plus | 37.3MB |
| /usr/lib/libllvm-qcom.so | 35.2MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/cc1 | 35.2MB |
| /usr/lib/libRusticlOpenCL.so.1.0.0 | 34.3MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/lto1 | 33.9MB |
| /usr/bin/lto-dump | 33.9MB |
| /usr/local/venv/bin/ruff | 31.8MB |
| /usr/share/icu/78.3/icudt78l.dat | 31.5MB |
| /usr/lib/llvm/21/lib/libclang.so.21.1.7 | 30.2MB |
| /usr/lib/llvm/21/bin/c-index-test | 28.6MB |
| /usr/local/venv/lib/python3.12/site-packages/gcc_arm_none_eabi/toolchain/libexec/gcc/arm-none-eabi/13.2.1/cc1 | 28.2MB |
| /usr/lib/libz3.so | 27.9MB |
| /usr/bin/run | 26.7MB |
| /usr/local/venv/lib/python3.12/site-packages/numpy.libs/libscipy_openblas64_-71e1b124.so | 23.6MB |
| /usr/comma/updater | 23.5MB |
| /usr/comma/setup | 23.5MB |
| /usr/comma/reset | 23.5MB |
| /usr/local/uv/python/cpython-3.12.13-linux-aarch64-gnu/bin/python3.12 | 22.2MB |
| /usr/local/uv/python/cpython-3.12.13-linux-aarch64-gnu/lib/libpython3.12.so.1.0 | 22.1MB |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
On the mainline kernel (AGNOS userspace), Wi-Fi collapses under any sustained transfer — a 10 MB scp stalls out and drops the SSH session. Separately, the Wi-Fi MAC address is wrong.
Root causes
failed to extract amsdu: -11,rx_confused), dropping frames and collapsing TCP. Measured 49 kB/s at -36 dBm signal.0e:00:00:00:00:00which passesis_valid_ether_addr(), so patch 0011's socinfo-derived MAC never applied.Changes
0016/0017: RFC patches by Richard Acayan from the ath10k list (1/2, 2/2) — persist the in-order MSDU list in driver state; don't wait for a DELETE_KEY response the firmware never sends (fixes the-110key-removal errors also seen in dmesg). Review so far: style nits only; 2/2 independently confirmed on QCA6174. Draft until the series lands upstream in final form.0011: also treat the0e:00:00:00:00:00firmware dummy as invalid so the socinfo MAC (00:0a:f5+ SoC serial) applies.Verification (on mici)
permaddrnow00:0a:f5:6b:1c:e3