public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
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


             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