NOTE: this page is for archival only, see the note at the end of the page.

Go back –> Main ath9k driver page

ath9k Antenna Diversity

This page documents how antenna diversity is supported by ath9k.

What is Antenna Diversity ?

Adrian Chadd's excellent, detailed notes.

Supported cards

WLAN Only

  • HB95 (AR9285)
  • HB125 (AR9485)

WLAN and BT

WB195

WLAN

Bluetooth

Vendor ID

Device ID

Subvendor ID

Subdevice ID

AR9285

AR3011

0x168c

0x002b

0x1a3b (Azurewave)

0x2c37

CUS198

WLAN

Bluetooth

Vendor ID

Device ID

Subvendor ID

Subdevice ID

AR9485

AR3012

0x168c

0x0032

0x1a3b (Azurewave)

0x2086

AR9485

AR3012

0x168c

0x0032

0x1a3b (Azurewave)

0x1237

AR9485

AR3012

0x168c

0x0032

0x1a3b (Azurewave)

0x2126

CUS230

WLAN

Bluetooth

Vendor ID

Device ID

Subvendor ID

Subdevice ID

AR9485

AR3012

0x168c

0x0032

0x1a3b (Azurewave)

0x2152

AR9485

AR3012

0x168c

0x0032

0x105b (Foxconn)

0xe075

WB225

WLAN

Bluetooth

Vendor ID

Device ID

Subvendor ID

Subdevice ID

AR9485

AR3012

0x168c

0x0032

0x168c (Atheros)

0x3119

AR9485

AR3012

0x168c

0x0032

0x168c (Atheros)

0x3122

AR9485

AR3012

0x168c

0x0032

0x185f (WNC)

0x3119

AR9485

AR3012

0x168c

0x0032

0x185f (WNC)

0x3027

AR9485

AR3012

0x168c

0x0032

0x144d (Samsung)

0x4105

AR9485

AR3012

0x168c

0x0032

0x144d (Samsung)

0x4106

AR9485

AR3012

0x168c

0x0032

0x144d (Samsung)

0x410d

AR9485

AR3012

0x168c

0x0032

0x144d (Samsung)

0x410e

AR9485

AR3012

0x168c

0x0032

0x144d (Samsung)

0x410f

AR9485

AR3012

0x168c

0x0032

0x144d (Samsung)

0xc706

AR9485

AR3012

0x168c

0x0032

0x144d (Samsung)

0xc680

AR9485

AR3012

0x168c

0x0032

0x144d (Samsung)

0xc708

AR9485

AR3012

0x168c

0x0032

0x17aa (Lenovo)

0x3218

AR9485

AR3012

0x168c

0x0032

0x17aa (Lenovo)

0x3219

WB335

WLAN

Bluetooth

Vendor ID

Device ID

Subvendor ID

Subdevice ID

AR9565

AR3012

0x168c

0x0036

*

*

Enable WLAN/BT RX Antenna Diversity

This feature is available on WB225, WB335 and WB195. To enable WLAN RX diversity using the BT antenna, use the module parameter bt_ant_diversity. The Bluetooth interface has to be disabled when this feature is enabled in ath9k. Also, BTCOEX should be disabled, so the driver must not be loaded with btcoex_enable=1.

modprobe ath9k bt_ant_diversity=1

This can also be turned on/off using the debugfs file bt_ant_diversity.

echo 1 > /sys/kernel/debug/ieee80211/phy0/ath9k/bt_ant_diversity
echo 0 > /sys/kernel/debug/ieee80211/phy0/ath9k/bt_ant_diversity

Debug statistics

The debugfs file antenna_diversity can be used to see how the LNA combining algorithm is performing.

cat /sys/kernel/debug/ieee80211/phy*/ath9k/antenna_diversity

Current MAIN config : LNA1
Current ALT config  : LNA2
Average MAIN RSSI   : 40
Average ALT RSSI    : 16

Packet Receive Cnt:
-------------------
                          MAIN            ALT
TOTAL COUNT   :          30932             63
LNA1          :          30932              0
LNA2          :              0             63
LNA1 + LNA2   :              0              0
LNA1 - LNA2   :              0              0

LNA Config Attempts:
--------------------
                          MAIN            ALT
LNA1          :              5              0
LNA2          :              0              5
LNA1 + LNA2   :              0              0
LNA1 - LNA2   :              0              0

This is a static dump of the old wiki, taken after locking it in January 2015. The new wiki is at https://wireless.wiki.kernel.org/.
versions of this page: last, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1