Wifi on 16.04 takes a long time to find known and unknown local networks

I have been having an issue that's been bugging me and causing a few disruptions in my workflow on 16.04 on my ASUS x550la.

When clicking the wifi icon in the toolbar, no networks are displayed for quite a while. Sometimes I may go up to 5 minutes and still no network connection. Also trying to add a hidden network does not help. It still will not connect immediately. I find that this most frequently and severely happens when logging on from standby, although I have still experienced the issue even when I have been using the computer for quite some time. I would also like to note that 16.04 is not the only version that has given me this issue. I had the same problem on a different Lenovo laptop running 14 or so.

sudo lshw -class network

returns the following when connected:

description: Wireless interface
   product: Wireless 7260
   vendor: Intel Corporation
   physical id: 0
   bus info: pci@0000:03:00.0
   logical name: wlp3s0
   version: 73
   serial: xx:xx:xx:xx:xx:xx
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=iwlwifi driverversion=4.4.0-31-generic firmware=16.242414.0 ip=104.39.109.23 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn
   resources: irq:46 memory:f7c00000-f7c01fff

Also, running

sudo iwlist scan

seemed to allow me to connect almost immediately after I ran the command, so It may be just an issue where my wireless card is not actively scanning for networks. But I have not been able to recreate the issue to try this method again as of yet.

In any case, I would like to know what I can do to give me some better control over how quickly I can connect to a known network. Even if iwlist scan is my best option.

Thank you for your time.


First, I suggest that you upgrade the firmware; from the terminal:

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

Then set your regulatory domain 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:

REGDOMAIN=IS

Proofread carefully, save and close the text editor.

Reboot and let us know if connectivity is improved.