I recently bought myself a new Lenovo laptop. It has Windows 10 and Ubuntu 16.04. While my internet seems to work fine with Windows 10, on Ubuntu 16.04 it is a different story. If I look at the signal strength on my phone and on my laptop sitting in the exact same location, the phone shows much stronger signal strength. Also, the WiFi is extremely flaky - a few times every day I just lose the connection and have to reset the WiFi connection on my laptop. I did lspci and my wireless network controller is:

Qualcomm Atheros Device 0042 (Rev 30).

I've tried turning power management off on my /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf file but that doesn't seem to do the trick. Can someone help out with this problem?

  • Hopefully either Chili555 or Pilot6, our Wi-Fi experts, will see your question. – You'reAGitForNotUsingGit May 4 '17 at 14:39
  • Your wifi experts have been struggling with problems on this exact device for several years! Let's try again. – chili555 May 4 '17 at 14:47

First, be certain that the firmware you have is the latest. Please open a terminal and do:

wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.164_all.deb
sudo dpkg -i linux*.deb


Next, check the settings in the router. WPA2-AES is preferred; not any WPA and WPA2 mixed mode and certainly not TKIP. Second, if your router is capable of N speeds, you may have better connectivity with a channel width of 20 MHz in the 2.4 GHz band instead of automatic 20/40 MHz, although it is likely to affect N speeds. I also have better luck with a fixed channel, either 1, 6 or 11, rather than automatic channel selection. Also, be certain the router is not set to use N speeds only; auto B, G and N is preferred. After making these changes, reboot the router.

Next, I recommend that your regulatory domain be set explicitly. Check yours:

sudo iw reg get

If you get 00, that is a one-size-maybe-fits-all setting. Find yours here: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Then set it temporarily:

sudo iw reg set IS

Of course, substitute your country code if not Iceland. Set it permanently:

gksudo gedit /etc/default/crda

Use nano or kate or leafpad if you don't have the text editor gedit.

Change the last line to read:


Proofread carefully, save and close the text editor.

Next, I'd set IPv6 to Ignore in Network Manager: http://docs.fedoraproject.org/en-US/Fedora/18/html/Installation_Guide/images/netconfig/network-connections-ipv6-ignore.png This example is for ethernet, but you want wireless.

If these changes do not help, please try:

sudo modprobe -r ath10k_pci
sudo modprobe -r ath10k_core
sudo modprobe ath10k_core cryptmode=1
sudo modprobe ath10k_pci

If it helps, make it permanent:

sudo -i
echo "options ath10k_core cryptmode=1"  >>  /etc/modprobe.d/ath10k.conf
  • Thank you very much! I'm trying out some of the solutions -- I have updated the firmware and changed the regulatory domain. I can't seem to find a WPA2-AES option in my edit connections tab, so that's still set to WPA and WPA2 Personal. I'll get back to you in a day or so after observing the behavior. Thank you! – Siddharth Krishnamoorthy May 5 '17 at 7:24
  • The WPA2-AES option is in the router; similar to this: howtogeek.com/wp-content/uploads/2014/12/img_548366be9a8c9.png – chili555 May 5 '17 at 14:12
  • Hello again, I'm sorry it took me a while to try everything out. On the router front -- I'm at my parents' right now and no one knows who is admin on their router so it's hard for me to change the settings on there. When I implement the two modprobe -r commands, the wireless cuts out, and it doesn't come back once I input the remaining two commands. I have to restart after that and the problem seems to persist. – Siddharth Krishnamoorthy May 12 '17 at 7:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.