Os usuários do Ubuntu 16.04 não devem usar backports ou qualquer pacote dkms, pois o kernel 16.04 suporta mais dispositivos que as versões anteriores. Você precisa definir o parâmetro skip_otp
e instalar o firmware na maioria dos casos. O firmware que funciona é do link
Use este firmware somente se você tiver
02:00.0 Network controller [0280]: Qualcomm Atheros Device [168c:0041] (rev 20)
Subsystem: Lenovo Device [17aa:3545]
echo "options ath10k_core skip_otp=Y" | sudo tee /etc/modprobe.d/ath10k_core.conf
git clone https://github.com/atondwal/ath10k-firmware.git
sudo cp -r ath10k-firmware/ath10k/ /lib/firmware/
cd /lib/firmware/ath10k/QCA6164
sudo cp -r hw2.1/ /lib/firmware/ath10k/QCA6174/