Go back –> ath10k
ath10k driver
Building
To build ath10k enable these kernel build configuration options, for example with make menuconfig:
- CONFIG_ATH10K
- CONFIG_ATH10K_PCI
- CONFIG_ATH10K_DEBUG (optional)
- CONFIG_ATH10K_DEBUGFS (optional)
- CONFIG_ATH10K_TRACING (optional)
The debug and tracing options are optional, but it's strongly recommended to enable to make it easier to debug issues.
ath10k options can be found from location:
-> Device Drivers -> Network device support (NETDEVICES [=y]) -> Wireless LAN (WLAN [=y]) -> Atheros Wireless Cards (ATH_CARDS [=m])
Loading the modules
The ath10k modules should be loaded automatically in most systems. If that's not happening, first load ath10k_core.ko and then ath10k_pci.ko.
hostapd
ath10k uses the standard upstream hostapd. As of this writing (2013-11-21) it's recommended to use the version from git if using 802.11ac, DFS or ACS.
Building hostapd
When building hostapd enable these configuration options:
- CONFIG_IEEE80211AC
- CONFIG_ACS
Configuring hostapd
Example hostapd config to use 11ac VHT80 mode with ath10k:
interface=wlan0 driver=nl80211 ssid=ath10k-test hw_mode=a channel=36 ht_capab=[HT40+] ieee80211n=1 ieee80211ac=1 vht_oper_chwidth=1 vht_oper_centr_freq_seg0_idx=42
vht_oper_centr_freq_seg0_idx is calculated for VHT80 with channel + 6. If you get "set channel failed to set in kernel" error message, most likely your regulatory database doesn't support 80 MHz channels.
To enable ACS set channel to zero:
channel=0
To enable DFS enable 11d and 11h as well as set country code:
country_code=FI ieee80211d=1 ieee80211h=1
For mBSSID start hostapd using -b switch:
hostapd -g /var/run/hostapd/global -b phy0:ath10k.conf -b phy0:ath10k-1.conf -b phy0:ath10k-2.conf
To remove an interface:
wpa_cli -g /var/run/hostapd/global raw REMOVE wlan0-2
To add an interface:
wpa_cli -g /var/run/hostapd/global raw ADD bss_config=phy0:ath10k-2.conf
See hostapd wiki page and hostapd.conf documentation for more information.