Please run this command from the terminal:
sudo lshw -C network
Find out your wireless driver. Here is an example:
description: Wireless interface
product: Centrino Advanced-N 6200
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlan0
version: 35
serial: xx:94:6b:99:55:xx
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=3.16.0-29-generic firmware=9.221.4.1 build 25532 ip=192.168.1.14 latency=0 link=yes multicast=yes wireless=IEEE 802.11abgn
In my example, it reports, driver=iwlwifi. Yours will probably be different.
In most cases, you can use the driver you found directly in the next step. However, if your driver is reported as wl0, then use wl. If it reports b43-bcma-bridge, then use bcma.
gksudo gedit /etc/pm/config.d/config
Use nano or kate or leafpad if you don't have the text editor gedit. Add a single line:
SUSPEND_MODULES="iwlwifi"
Of course, substitute the driver you found, if not iwlwifi. Proofread carefully, save and close the text editor. Reboot.
How does it work now?