From: Masi Osmani <mas-i@hotmail.de>
To: Christian Lamparter <chunkeey@googlemail.com>
Cc: linux-wireless@vger.kernel.org, Masi Osmani <mas-i@hotmail.de>,
ath9k-devel@qca.qualcomm.com
Subject: [PATCH 00/10] carl9170: 802.11n compliance and driver improvements
Date: Thu, 12 Mar 2026 11:37:55 +0100 [thread overview]
Message-ID: <AM7PPF5613FA0B6D188CBDBAFC0CE13247A9444A@AM7PPF5613FA0B6.EURP251.PROD.OUTLOOK.COM> (raw)
The carl9170 driver for Atheros AR9170-based USB WiFi adapters has been
effectively unmaintained since 2016. While the hardware shipped as
Draft-N certified, several 802.11n capabilities were never advertised
to mac80211, diagnostic counters were left as TODO stubs, and some
hardware features were never wired up.
This series addresses these gaps in 10 independent patches, ordered
from simple HT capability flags to more involved PHY programming:
Patches 1-3: HT capability corrections
- Enable SGI_20 (was only SGI_40)
- Advertise RX STBC (1 spatial stream)
- Document the SMPS handler (replacing bare TODO)
Patches 4-5: Diagnostic counters
- Wire up the RX dropped frame counter
- Track PHY errors via debugfs
Patch 6: TX power calibration
- Replace hardcoded 18 dBm with per-channel EEPROM values
Patch 7: Recovery hardening
- Add exponential backoff to prevent restart storms
Patch 8: Antenna diversity
- Enable fast antenna diversity for 2-chain devices
Patch 9: DFS radar detection
- Program radar registers, call ieee80211_radar_detected()
Patch 10: Runtime IQ calibration
- Periodic I/Q recalibration via existing stat_work timer
All patches are individually compile-tested and have been verified
on real hardware (AVM Fritz!WLAN USB Stick N, AR9001U) running
kernel 6.18.12. Each patch applies and compiles independently on
top of the previous ones.
The ath9k PCI driver for the same chipset family serves as the
primary reference for register programming and capability flags.
Masi Osmani (10):
carl9170: mac80211: enable Short Guard Interval for 20 MHz
carl9170: mac80211: advertise RX STBC capability
carl9170: mac80211: document spatial multiplexing power save handler
carl9170: rx: wire up dropped frame counter
carl9170: rx: track PHY errors via debugfs
carl9170: phy: populate per-channel TX power from EEPROM
carl9170: main: add exponential restart backoff
carl9170: phy: enable antenna diversity for 2-chain devices
carl9170: fw: enable DFS radar detection
carl9170: phy: add periodic runtime IQ calibration
drivers/net/wireless/ath/carl9170/carl9170.h | 5 +
drivers/net/wireless/ath/carl9170/debug.c | 2 +
drivers/net/wireless/ath/carl9170/fw.c | 3 +
drivers/net/wireless/ath/carl9170/main.c | 45 ++++-
drivers/net/wireless/ath/carl9170/phy.c | 194 +++++++++++++++++++
drivers/net/wireless/ath/carl9170/rx.c | 23 ++-
6 files changed, 261 insertions(+), 11 deletions(-)
--
2.51.0
next reply other threads:[~2026-03-12 10:38 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-12 10:37 Masi Osmani [this message]
2026-03-13 21:14 ` [PATCH 00/10] carl9170: 802.11n compliance and driver improvements Christian Lamparter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AM7PPF5613FA0B6D188CBDBAFC0CE13247A9444A@AM7PPF5613FA0B6.EURP251.PROD.OUTLOOK.COM \
--to=mas-i@hotmail.de \
--cc=ath9k-devel@qca.qualcomm.com \
--cc=chunkeey@googlemail.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox