Qualcomm Atheros Device [168c:0042] (rev 30) Wi-Fi driver installation
Solution 1:
Ubuntu 16.04 users should just need to
sudo apt-get update && sudo apt-get upgrade
and reboot.
You do not need Windows drivers and ndiswrapper.
This has been recently fixed upstream, follow these instructions to install the backported modules and needed firmware:
sudo apt-get install build-essential linux-headers-$(uname -r) git
echo "options ath10k_core skip_otp=y" | sudo tee /etc/modprobe.d/ath10k_core.conf
wget https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v4.4.2/backports-4.4.2-1.tar.gz
tar -zxvf backports-4.4.2-1.tar.gz
cd backport-4.4.2-1
make defconfig-wifi
make
sudo make install
git clone https://github.com/kvalo/ath10k-firmware.git
sudo cp -r ath10k-firmware/QCA9377 /lib/firmware/ath10k/
sudo cp /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin_WLAN.TF.1.0-00267-1 /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin
And it should work after a reboot.
It will fail when a new kernel is installed through updates until the kernel is patched to support the wifi. When that happens you will need to:
cd backports-4.4.2-1
make clean
make defconfig-wifi
make
sudo make install
And reboot.