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

AR9485

AR3012

0x168c

0x0032

0x1a3b (Azurewave)

0x126A

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

There are 3 types of WB335-based cards. 1-ANT cards share a LNA between WLAN/BT. 2-ANT cards have dedicated LNA for BT and WLAN and have antennae in both slots (MAIN and ALT), but WLAN RX diversity is disabled for some cards (based on vendor requirements).

Type

No. of connected antennae

Shared LNA with BT

Antenna Diversity

1-ANT

1

Yes

No

2-ANT

2

No

No

2-ANT

2

No

Yes

2-ANT cards supporting WLAN RX diversity.

WLAN

Bluetooth

Vendor ID

Device ID

Subvendor ID

Subdevice ID

AR9565

AR3012

0x168c

0x0036

0x144d

0x411a

AR9565

AR3012

0x168c

0x0036

0x144d

0x411b

AR9565

AR3012

0x168c

0x0036

0x144d

0x411c

AR9565

AR3012

0x168c

0x0036

0x144d

0x411d

AR9565

AR3012

0x168c

0x0036

0x144d

0x411e

AR9565

AR3012

0x168c

0x0036

0x168c

0x3027

AR9565

AR3012

0x168c

0x0036

0x1028

0x302c

AR9565

AR3012

0x168c

0x0036

0x11ad

0x0642

AR9565

AR3012

0x168c

0x0036

0x11ad

0x0652

AR9565

AR3012

0x168c

0x0036

0x11ad

0x0612

AR9565

AR3012

0x168c

0x0036

0x11ad

0x0832

AR9565

AR3012

0x168c

0x0036

0x11ad

0x0692

AR9565

AR3012

0x168c

0x0036

0x1a3b

0x2130

AR9565

AR3012

0x168c

0x0036

0x1a3b

0x213b

AR9565

AR3012

0x168c

0x0036

0x1a3b

0x2182

AR9565

AR3012

0x168c

0x0036

0x144f

0x7202

AR9565

AR3012

0x168c

0x0036

0x1b9a

0x2810

AR9565

AR3012

0x168c

0x0036

0x1b9a

0x28a2

AR9565

AR3012

0x168c

0x0036

0x185f

0x3027

AR9565

AR3012

0x168c

0x0036

0x185f

0xa120

AR9565

AR3012

0x168c

0x0036

0x105b

0xe07f

AR9565

AR3012

0x168c

0x0036

0x105b

0xe081

AR9565

AR3012

0x168c

0x0036

0x17aa

0x3026

AR9565

AR3012

0x168c

0x0036

0x17aa

0x4026

AR9565

AR3012

0x168c

0x0036

0x1043

0x85f2

AR9565

AR3012

0x168c

0x0036

0x1028

0x020e

CUS252 (AR9565 + xLNA)

WLAN

Bluetooth

Vendor ID

Device ID

Subvendor ID

Subdevice ID

AR9565

AR3012

0x168c

0x0036

0x168c

0x3028

AR9565

AR3012

0x168c

0x0036

0x1a3b

0x2176

Enable WLAN/BT RX Antenna Diversity

To enable WLAN RX diversity using the ALT 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