Table of Contents

Go back –> Atheros Linux wireless drivers

ath9k_htc

ath9k_htc provides hardware support for Atheros AR9001 and AR9002 family hardware.

Get the driver

The driver is part of wireless-testing. See this guide to use the wireless-testing tree directly. Or you can use compat-wireless to get the driver.

Chipsets supported

Supported Devices

See the ath9k_htc device list.

Mailing list

linux-wireless is the recommended mailing list to use for questions regarding the driver. Firmware-related questions should go to ath9k_htc_fw.

The archives for the old ath9k-devel list, which was closed in 2017, are available here.

Configuring your kernel

Enable these options in your kernel config. Most distros will already have it enabled.

CONFIG_ATH_COMMON=m
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K_HTC=m

Firmware

This driver requires firmware. The firmware can be obtained from firmware tree.

Alternately you can download it from here: http://wireless.kernel.org/download/htc_fw/.

This firmware is now open, to contribute check out:

Older firmware map:

AR9271 - ar9271.fw
AR7010 - ar7010.fw or ar7010_1_1.fw
Newer firmware map:

AR9271 - htc_9271.fw
AR7010 - htc_7010.fw

The firmware has to be placed in the correct location, usually /lib/firmware. This could vary among distributions, so check your distro's policies if loading of the firmware fails.

Supported Features

Disabled Features

ath9k_htc uses the Autosleep feature of the wireless card. Basic PS support has been implemented in the driver, but it is disabled by default.

Modeswitching for AR7010

AR7010 based cards operate by default in USB Mass storage mode and have to be 'switched' to wireless mode on plugging in. If you have an old USB_ModeSwitch package, you can do this to load ath9k_htc automatically.

Add this line to /lib/udev/rules.d/40-usb_modeswitch.rules.

# Atheros Wireless
ATTRS{idVendor}=="0cf3", ATTRS{idProduct}=="20ff", RUN+="usb_modeswitch '%b/%k'"

Add a file “0cf3:20ff” in /etc/usb_modeswitch.d/ and add these lines to it.

########################################################
# Atheros Wireless

DefaultVendor= 0x0CF3
DefaultProduct=0x20FF

TargetVendor=  0x0CF3
TargetProduct= 0x7010

CheckSuccess=10
NoDriverLoading=1

MessageContent="5553424329000000000000000000061b000000020000000000000000000000"

Now, when the device is plugged in, ath9k_htc should load normally. If not, report to ath9k_devel.

Debugging

See here.

Known issues

AP/P2P Modes

This is experimental !

Patches enabling P2P/AP modes have been merged in wireless-testing, it would be part of the driver from Linux 3.0. Using only one VIF (Virtual Interface) running in AP mode would be a good idea for now, multiple interface support has not been tested extensively. Note: PowerSave is not properly supported yet.

Please do report bugs, crashes, weird behavior and other general tantrums thrown by the driver.

TODO

A list of things that need to be fixed in the firmware.