- Qualcomm Atheros QCA6174
- Kernel
- Precondition
- Kernel driver
- Firmware
- Network interface name (optional)
- Testing
- /sys file system
- ip command
- ifconfig command
- iw command
- See also
- External resources
- Thread: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
- Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
- Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
- Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
- Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
- Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
- Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
- Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
- Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
Qualcomm Atheros QCA6174
The Qualcomm Atheros QCA6174 is a 802.11ac Wireless Network Adapter which is used in some laptops.
To make it work it needs the kernel driver and firmware.
Kernel
Precondition
Activate at least cfg80211 ( CONFIG_CFG80211 ) and mac80211 ( CONFIG_MAC80211 ).
[*] Networking support ---> [*] Wireless ---> cfg80211 - wireless configuration API [ ] nl80211 testmode command [ ] enable developer warnings [ ] cfg80211 certification onus [*] enable powersave by default [ ] cfg80211 DebugFS entries [ ] support CRDA [ ] cfg80211 wireless extensions compatibility Generic IEEE 802.11 Networking Stack (mac80211) [*] Minstrel [*] Minstrel 802.11n support [ ] Minstrel 802.11ac support Default rate control algorithm (Minstrel) ---> [ ] Enable mac80211 mesh networking (pre-802.11s) support -*- Enable LED triggers [ ] Export mac80211 internals in DebugFS [ ] Trace all mac80211 debug messages [ ] Select mac80211 debugging features ----
Minstrel and its 802.11n support is a rate control algorithm. Some wireless drivers might require it enabled.
Important
In case the wireless configuration API ( CONFIG_CFG80211 ) is built into the kernel ( ) instead as a module ( ), the driver won’t be able to load regulatory.db from /lib/firmware resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m or add regulatory.db and regulatory.db.p7s (from net-wireless/wireless-regdb) to CONFIG_EXTRA_FIRMWARE .
Kernel driver
Enable Atheros 802.11ac wireless cards support ( CONFIG_ATH10K ) and Atheros ath10k PCI support ( CONFIG_ATH10K_PCI ) as modules :
Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> [*] Atheros/Qualcomm devices Atheros 802.11ac wireless cards support Atheros ath10k PCI support
Set it as a module as shown here. After changes on kernel configuration do not forget to rebuild the kernel.
After rebuilding the kernel and reboot the selected options could be verified (needs Kernel/IKCONFIG support) like
lspci should then display the adapter like:
02:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 32) Subsystem: Bigfoot Networks, Inc. QCA6174 802.11ac Wireless Network Adapter [1a56:1535] Flags: bus master, fast devsel, latency 0, IRQ 141 Memory at ed200000 (64-bit, non-prefetchable) [size=2M] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable+ Count=8/8 Maskable+ 64bit- Capabilities: [70] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [148] Virtual Channel Capabilities: [168] Device Serial Number 00-00-00-00-00-00-00-00 Capabilities: [178] Latency Tolerance Reporting Capabilities: [180] L1 PM Substates Kernel driver in use: ath10k_pci Kernel modules: ath10k_pci
Important
In case the driver is built into the kernel ( ) instead of as a module ( ), then the firmware needs to be built into the kernel as well.
Do not forget to rebuild the kernel after changing its configuration.
Firmware
The Qualcomm Atheros Killer N1525 Wireless-AC requires Linux firmware files.
Network interface name (optional)
Network device names such as eth0 or wlan0 as provided by the kernel are normally changed on system boot (see dmesg ) by the /lib/udev/rules.d/80-net-name-slot.rules udev rule.
To keep the classic naming this rule can be overwritten with an equally named empty file in the /etc/udev/rules.d directory:
Testing
After a reboot with the new kernel or after loading the modules, the device can be checked for availability by using following methods:
/sys file system
Get the device name by listing the /sys/class/net directory contents using ls -al or the tree command (provided by the app-text/tree package):
/sys/class/net/ ├── enp2s14 -> ../../devices/pci0000:00/0000:00:1e.0/0000:02:0e.0/net/enp2s14 ├── lo -> ../../devices/virtual/net/lo ├── sit0 -> ../../devices/virtual/net/sit0 └── wlp8s0 -> ../../devices/pci0000:00/0000:00:1c.0/0000:08:00.0/net/wlp8s0
ip command
To obtain the device name and verify that the wireless card is detected, execute the following ip command:
ifconfig command
The ifconfig command is provided through the sys-apps/net-tools package. Use ifconfig -a to list all detected network cards, even those that are not enabled/active yet:
A network card can be activated as follows:
SIOCSIFFLAGS: Operation not possible due to RF-kill WARNING: at least one error occurred. (-1)
In this example, enabling the wireless card failed as a radio frequency kill state is set (usually to keep power consumption at bay and not connect by accident to a wireless network).
iw command
If the wireless network card driver supports the nl80211 stack, then the iw command as offered by the net-wireless/iw package can show the detected wireless cards:
phy#0 Interface wlan0 ifindex 4 type managed
See also
External resources
- https://gist.github.com/harrykipper/d1bedb234c4af0692f7ccd33329a02d7 — Unofficial patch to increase TX rate to more moderate speeds.
- wireless.wiki.kernel.org
- Official upstream ath10k-firmware by Kalle Valo on GitHub
- Kernel drivers on cateee.net
- patchwork.kernel.org — Patchwork ath10k project mail archive.
Thread: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
Just Give Me the Beans!
Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
Everything I found is compiling something from git, which didn’t work for me. Is there an easier way or a procedure that actually works? Machine is ASUS Aspire R.
Forums Moderator
Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
sudo apt-get install git git clone https://github.com/jeremyb31/ath10k-firmware.git sudo cp ath10k-firmware/ /lib/firmware/ath10k/
Reboot, if it still doesn’t work, see the wireless script link in my signature and use code tags when posting the results from the script
Just Give Me the Beans!
Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
Please, explain for noob. I am not a developer. I tried several things before, so now:
um@um-Aspire-R5-471T:~$ git clone https://github.com/jeremyb31/ath10k-firmware.git
fatal: destination path ‘ath10k-firmware’ already exists and is not an empty directory.
um@um-Aspire-R5-471T:~$ sudo cp ath10k-firmware/ /lib/firmware/ath10k/
cp: omitting directory ‘ath10k-firmware/’
I am not sure how to use your link?
I assume the wifi doesn’t work, because clicking on the network icon the entry «Wi-Fi Networks» is greyed out.
Forums Moderator
Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
lspci -nnk | grep -iA2 net; dmesg | ath10k
Just Give Me the Beans!
Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
um@um-Aspire-R5-471T:~$ lspci -nnk | grep -iA2 net; dmesg | ath10k
01:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 32)
Subsystem: Foxconn International, Inc. QCA6174 802.11ac Wireless Network Adapter [105b:e09d]
Kernel driver in use: ath10k_pci
Kernel modules: ath10k_pci
ath10k: command not found
Forums Moderator
Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
I hope these firmware files get added to Ubuntu’s linux-firmware package soon. Kalle Valo just submitted them upstream 5 days ago
Just Give Me the Beans!
Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
um@um-Aspire-R5-471T:~$ dmesg | grep ath10k
[ 3.326586] ath10k_pci 0000:01:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0
[ 3.573037] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[ 3.573405] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
[ 3.573408] ath10k_pci 0000:01:00.0: could not fetch firmware file ‘ath10k/QCA6174/hw3.0/firmware-5.bin’: -2
[ 3.638157] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/board-2.bin failed with error -2
[ 5.791477] ath10k_pci 0000:01:00.0: qca6174 hw3.2 (0x05030000, 0x00340aff sub 105b:e09d) fw WLAN.RM.2.0-00180-QCARMSWPZ-1 fwapi 4 bdapi 1 htt-ver 3.26 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 features wowlan,ignore-otp,no-4addr-pad
[ 5.791481] ath10k_pci 0000:01:00.0: debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[ 5.876611] ath10k_pci 0000:01:00.0 wlp1s0: renamed from wlan0
[ 11.138918] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 17.139054] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 22.467150] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 28.467263] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 33.775354] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 39.775477] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 55.247573] ath10k_pci 0000:01:00.0: failed to set rx-chainmask: -11, req 0x3
[ 58.247800] ath10k_pci 0000:01:00.0: failed to set arp ac override parameter: -11
[ 64.247925] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 69.556093] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 75.556191] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 90.123824] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 96.107489] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 101.413381] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 107.410086] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 123.096529] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 129.097245] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 134.409711] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 140.410257] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 156.099289] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 162.099601] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 167.407879] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 173.408144] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 189.100474] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 195.100597] ath10k_pci 0000:01:00.0: could not suspend target (-11)
[ 200.412741] ath10k_pci 0000:01:00.0: failed to enable dynamic BW: -11
[ 206.412921] ath10k_pci 0000:01:00.0: could not suspend target (-11)
Forums Moderator
Re: Qualcomm Atheros QCA61x4A / QCA6174 wireless driver Ubuntu 16.04
The -11 errors are usually caused by board.bin files but you seem to be missing a board-2.bin that Kalle added 2 months ago
cd /lib/firmware/ath10k/QCA6174/hw3.0 sudo wget https://github.com/kvalo/ath10k-firmware/blob/master/QCA6174/hw3.0/board-2.bin