Qualcomm Atheros QCA9377 wireless not working on lenovo with Ubuntu or Ubuntu would freeze on shutdown.
This is how I fixed the WiFi issue in my Laptop
lspci | grep Network
It should display the name of your WiFi card If the output is similar to the one below, you are in luck, we can fix this easily
mansoor ~ $ lspci | grep Network 03:00.0 Network controller: Qualcomm Atheros Device 0042 (rev 30)
Once you have made sure that the Network device is the one above (rev can be 31), follow the below steps to install the driver for WiFi
If you have Ubuntu 17.10, continue to Download the firmware for the WiFi card section.
sudo apt-get install build-essential linux-headers-$(uname -r) git Issue the following commands one by one. Anything written after “#” is a comment and you don’t have to execute it.
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/2015/11/20/backports-20151120.tar.gz
tar zxvf backports-20151120.tar.gz
cd to the directory, compile and install it. The commands 'make' and 'make install' will take some time to finish
cd backports-20151120 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/WLAN.TF.1.0/firmware-5.bin_WLAN.TF.1.0-00002-QCATFSWPZ-5 /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin
That’s it. Your wifi should work now (until you do a kernel update).