I just purchased a new HP Pavilion 15-ab223cl. I then installed Ubuntu 14.04 (4.2.0-27-generic) in dual-boot with the existing Windows 10. Everything went very smoothly, except that every time I suspend the computer (either using the menu or by closing the lid), and then wake it up and log in, the WIFI is no longer available. I am, however, able to connect to the network via a wired connection.
Here is "rfkill list" output before the suspend:
0: hci0: Bluetooth Soft blocked: no Hard blocked: no 1: phy0: Wireless LAN Soft blocked: no Hard blocked: no
Here it is AFTER suspend/wake:
1: phy0: Wireless LAN Soft blocked: no Hard blocked: yes
I found MANY suggested workarounds for variations on this problem, and tried all of them to no avail. These include:
sudo rfkill unblock all (no effect - only works on Soft blocks)
Looking up the rfkill event number with "rfkill events" and then unblocking that event number (no effect - a new event is instantly generated with a new event number)
Clicking the WIFI disable key on the keyboard (works before the suspend, but has no effect after the suspend. I also tried disabling WIFI before suspending, but that had the same outcome.)
Downloading later versions of the firmware for the Intel 3160 wireless adapter and copying them into /lib/firmware. Currently used version was iwlwifi3160-12.ucode, I tried iwlwifi3160-13.ucode and iwlwifi3160-16.ucode. I also tried renaming the newer ones as iwlwifi3160-12.ucode (per instructions) and nothing produced any different results after restarts and suspend/wake.
Blacklisting HP drivers by adding "hp-wmi" or "hp_wmi" (found instructions for both spellings) to /etc/modprobe.d/blacklist.conf. Same problem after restart and suspend/wake.
Unloading the WIFI module ("sudo modprobe -r iwlwifi" followed by "sudo modprobe iwlwifi") No effect.
Restarting the network service with "sudo service network-manager restart" (no effect)
Waking network manager with "sudo nmcli nm sleep false" (responds that network manager is already awake, as also evidenced by the fact that wired networking is functioning). No effect.
Contacting Intel linux support. They suggested blacklisting HP drivers (already tried that), and then contacting HP or Ubuntu since "This is likely a bug in the OEM wmi driver and a wifi bug.".
Contacting HP support, who simply say they do not provide support for Ubuntu, but escalated the ticket anyway (waiting for a call back, but not holding my breath on that one).
Tried a few others along the way I think, but lost track.
Since restarting Ubuntu is the ONLY thing so far that removes the hard block, I wonder what is happening during the restart that accomplishes that? Is it possible to duplicate whatever that is with a script that will run with a suspend?
WIFI card details:
*-network description: Wireless interface product: Wireless 3165 vendor: Intel Corporation physical id: 0 bus info: [email protected]:08:00.0 logical name: wlan0 version: 81 serial: e0:94:67:76:90:76 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=iwlwifi driverversion=4.2.0-27-generic firmware=188.8.131.52 ip=10.0.1.56 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn resources: irq:52 memory:c3100000-c3101fff *-network description: Ethernet interface product: RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: [email protected]:09:00.0 logical name: eth0 version: 0a serial: dc:4a:3e:e2:24:0f size: 10Mbit/s capacity: 100Mbit/s width: 64 bits clock: 33MHz capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8107e-2_0.0.2 02/26/15 latency=0 link=no multicast=yes port=MII speed=10Mbit/s resources: irq:48 ioport:3000(size=256) memory:c3004000-c3004fff memory:c3000000-c3003fff
Here are related syslog lines at the time of waking from suspend. I'm not sure what to make of it.
Feb 22 17:48:26 HP-Pavilion-Notebook NetworkManager: WiFi now disabled by radio killswitch
Feb 22 17:48:26 HP-Pavilion-Notebook bluetoothd: Adapter /org/bluez/781/hci0 has been disabled
Feb 22 17:48:26 HP-Pavilion-Notebook bluetoothd: Unregister path: /org/bluez/781/hci0
Feb 22 17:48:26 HP-Pavilion-Notebook bluetoothd: Endpoint unregistered: sender=:1.58 path=/MediaEndpoint/A2DPSink
Feb 22 17:48:26 HP-Pavilion-Notebook bluetoothd: Endpoint unregistered: sender=:1.58 path=/MediaEndpoint/A2DPSource
Feb 22 17:48:26 HP-Pavilion-Notebook bluetoothd: Endpoint unregistered: sender=:1.58 path=/MediaEndpoint/HFPAG
Feb 22 17:48:26 HP-Pavilion-Notebook bluetoothd: Endpoint unregistered: sender=:1.58 path=/MediaEndpoint/HFPHS
Feb 22 17:48:28 HP-Pavilion-Notebook NetworkManager: wake requested (sleeping: yes enabled: yes)
Feb 22 17:48:28 HP-Pavilion-Notebook NetworkManager: waking up and re-enabling...
Feb 22 17:48:28 HP-Pavilion-Notebook NetworkManager: >WWAN now enabled by management service
Feb 22 17:48:28 HP-Pavilion-Notebook NetworkManager: (wlan0): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
Feb 22 17:48:28 HP-Pavilion-Notebook NetworkManager: (wlan0): bringing up device.
Feb 22 17:48:28 HP-Pavilion-Notebook NetworkManager: (wlan0): deactivating device (reason 'managed') 
Most likely you can unblock wifi with:
nmcli nm wifi on
This is triggering the hardware switch to enable.
I had the same issue with an HP Pavilion 17-g161us and tried running a solution marathon similar to your list. In my case, I switched from a Broadcom B43943142 wireless\bluetooth card to an Intel Dual Band Wireless-AC 7265 card and my problem was solved. The card was cheap (about $20) and provided a quick solution to my problem. The HP website has PDF manuals containing lists of compatible hardware. There's no guarantee it will work (and in your case, you’re having trouble with an Intel card), but if you have some spare pocket change switching up the hardware might by worth a try.
I face the same problem all the time. But this command works for me most of the time:
sudo iwconfig wlo1 txpower auto
Please note that I said most cause sometimes it just doesn't work and even I don't understand why. I'm sort of a beginner in Linux world. Hope this helps. Also, since this post is really old, if you have found some solution, please do mention.