The issue is primarily reproducible on an iPhone (which actively uses 802.11n).
On a PC with a single-antenna Wi-Fi adapter, I do not observe this problem — the connection remains stable even in 802.11n mode.
I have tried all possible configuration options and tuning parameters, but the issue still persists.
The issue is most consistently triggered while streaming short video content (e.g., Instagram Reels). This likely involves continuous small bursts of traffic combined with iOS power save mode, which may be contributing to the hang behavior.
I also wrote a simple script that pings the device once per second.
If a ping fails, it prints the Wi-Fi status; otherwise, it prints a dot.
The logs below were captured while testing with an iPhone client:
## [15:46:54] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2433
tx failed: 54
signal: -42 [-46, -43] dBm
signal avg: -42 [-45, -43] dBm
## [15:46:57] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2433
tx failed: 54
signal: -41 [-43, -44] dBm
signal avg: -41 [-44, -44] dBm
## [15:46:59] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2434
tx failed: 54
signal: -40 [-43, -43] dBm
signal avg: -40 [-42, -43] dBm
## [15:47:01] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2449
tx failed: 55
signal: -46 [-46, -53] dBm
signal avg: -46 [-46, -54] dBm
## [15:47:03] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2455
tx failed: 55
signal: -47 [-47, -56] dBm
signal avg: -46 [-47, -54] dBm
## [15:47:05] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2458
tx failed: 55
signal: -47 [-47, -54] dBm
signal avg: -46 [-47, -53] dBm
## [15:47:07] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2474
tx failed: 56
signal: -47 [-47, -55] dBm
signal avg: -46 [-46, -54] dBm
## [15:47:10] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2474
tx failed: 56
signal: -48 [-48, -57] dBm
signal avg: -46 [-46, -55] dBm
## [15:47:12] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2474
tx failed: 56
signal: -46 [-46, -56] dBm
signal avg: -46 [-46, -56] dBm
## [15:47:14] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 2474
tx failed: 56
signal: -45 [-46, -52] dBm
signal avg: -45 [-46, -52] dBm
## [15:47:16] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 1
tx failed: 0
signal: -48 [-48, -59] dBm
signal avg: -47 [-47, -58] dBm
## ..............................................
[15:48:10] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 3507
tx failed: 50
signal: -44 [-49, -45] dBm
signal avg: -44 [-49, -45] dBm
## [15:48:13] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 3507
tx failed: 50
signal: -45 [-51, -46] dBm
signal avg: -44 [-50, -45] dBm
## [15:48:15] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 3529
tx failed: 52
signal: -45 [-51, -46] dBm
signal avg: -45 [-50, -46] dBm
## [15:48:17] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 3529
tx failed: 52
signal: -45 [-49, -46] dBm
signal avg: -44 [-49, -45] dBm
## [15:48:19] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 3529
tx failed: 52
signal: -43 [-46, -45] dBm
signal avg: -42 [-45, -44] dBm
## [15:48:21] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 3530
tx failed: 52
signal: -40 [-42, -44] dBm
signal avg: -41 [-43, -44] dBm
## [15:48:23] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 3540
tx failed: 52
signal: -43 [-46, -46] dBm
signal avg: -42 [-44, -45] dBm
## ............................
[15:48:54] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5853
tx failed: 64
signal: -49 [-51, -52] dBm
signal avg: -49 [-51, -52] dBm
## ..
[15:48:58] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5930
tx failed: 65
signal: -50 [-51, -57] dBm
signal avg: -50 [-51, -56] dBm
## [15:49:00] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5930
tx failed: 65
signal: -51 [-52, -56] dBm
signal avg: -50 [-51, -56] dBm
## [15:49:03] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5930
tx failed: 65
signal: -51 [-52, -55] dBm
signal avg: -50 [-51, -55] dBm
## [15:49:05] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5930
tx failed: 65
signal: -50 [-51, -54] dBm
signal avg: -50 [-51, -55] dBm
## [15:49:07] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5930
tx failed: 65
signal: -50 [-51, -54] dBm
signal avg: -50 [-51, -54] dBm
## [15:49:09] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5930
tx failed: 65
signal: -50 [-51, -55] dBm
signal avg: -50 [-51, -54] dBm
## [15:49:11] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5930
tx failed: 65
signal: -50 [-51, -55] dBm
signal avg: -50 [-51, -54] dBm
## [15:49:13] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5930
tx failed: 65
signal: -49 [-50, -53] dBm
signal avg: -49 [-51, -54] dBm
## [15:49:15] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5932
tx failed: 65
signal: -46 [-46, -54] dBm
signal avg: -48 [-49, -54] dBm
## [15:49:17] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5932
tx failed: 65
signal: -46 [-46, -57] dBm
signal avg: -48 [-48, -55] dBm
## [15:49:19] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5932
tx failed: 65
signal: -48 [-48, -57] dBm
signal avg: -48 [-48, -55] dBm
## [15:49:21] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5932
tx failed: 65
signal: -46 [-47, -53] dBm
signal avg: -47 [-48, -55] dBm
## [15:49:23] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -46 [-46, -54] dBm
signal avg: -47 [-47, -54] dBm
## [15:49:25] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -45 [-45, -54] dBm
signal avg: -46 [-46, -54] dBm
## [15:49:27] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -45 [-46, -52] dBm
signal avg: -46 [-46, -54] dBm
## [15:49:29] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -45 [-45, -54] dBm
signal avg: -45 [-45, -54] dBm
## [15:49:31] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -45 [-45, -52] dBm
signal avg: -45 [-45, -53] dBm
## [15:49:33] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -45 [-45, -52] dBm
signal avg: -45 [-45, -52] dBm
## [15:49:36] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -45 [-45, -54] dBm
signal avg: -45 [-45, -52] dBm
## [15:49:38] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -45 [-45, -52] dBm
signal avg: -45 [-45, -52] dBm
## [15:49:40] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -46 [-46, -54] dBm
signal avg: -45 [-45, -52] dBm
## [15:49:42] [HANG] Packet lost.
--- Wi-Fi chip status: ---
tx retries: 5934
tx failed: 65
signal: -51 [-51, -60] dBm
signal avg: -46 [-46, -54] dBm
This would allow disabling frame buffering for testing and may help isolate or reproduce the issue.
Hardware
OpenWrt version
Problem
In 802.11n mode (HT20/HT40) Wi-Fi constantly "hangs":
tx retriesincreases to thousands (sometimes 5000+ within a few minutes)tx failedalso increasesThe issue is primarily reproducible on an iPhone (which actively uses 802.11n).
On a PC with a single-antenna Wi-Fi adapter, I do not observe this problem — the connection remains stable even in 802.11n mode.
I have tried all possible configuration options and tuning parameters, but the issue still persists.
The only reliable workaround is to use legacy (b/g) mode, where the problem does not occur.
Reproducibility
The issue is most consistently triggered while streaming short video content (e.g., Instagram Reels). This likely involves continuous small bursts of traffic combined with iOS power save mode, which may be contributing to the hang behavior.
I also wrote a simple script that pings the device once per second.
If a ping fails, it prints the Wi-Fi status; otherwise, it prints a dot.
The logs below were captured while testing with an iPhone client:
There are already multiple similar reports, for example:
A possible approach could be to introduce a debugfs option similar to:
This would allow disabling frame buffering for testing and may help isolate or reproduce the issue.