I've recently been battling a performance regression on my Wifi, until I figured out that it was a driver issue. To be precise, it's a regression introduced by this commit:
iwlwifi: disable TX AMPDU by default for iwldvm, 205e2210daa975d92ace485a65a31ccc4077fe1a
Predictably, setting 11n_disable=8 restores performance. Without it, my throughput falls by almost an order of magnitude to 802.11g levels!
This can't be intended. Even as a trade-off for increased stability (which is what I understand this commit is for), this seems like a bad default.
Additionally, it's very hard to diagnose (took me many hours).
Can there be a better way?
I can't see another way.
I can't really debug the FW issues and most people care more for reliability than performance.