I'm on an ASUS K52F running Ubuntu 11.10 with the AR9285 wireless card. Wifi works acceptably before suspending, after it doesn't show any networks. the only solution I've found is a full reboot.
You can reload the wireless driver after suspend to avoid a reboot. My driver is 'ath9k' which you can find by running 'nm-tool' and look for the line similar to
Then to reload the driver:
sudo rmmod ath9k sudo modprobe ath9k
To make this happen automatically when you come back from suspend we can add the following script at /etc/pm/sleep.d/00_wireless_sleep
#!/bin/sh case "$1" in suspend|hibernate) /sbin/rmmod ath9k ;; resume|thaw) /sbin/rmmod ath9k /sbin/modprobe ath9k ;; esac exit 0
Replace the "ath9k" module name with the module you discovered from the nm-tool output mentioned above. I had to name the script "00_wireless_sleep" so it gets run after all the other resume scripts (scripts get run in reverse order on resume). Don't forget to make file "00_wireless_sleep" executable:
sudo chmod 755 /etc/pm/sleep.d/00_wireless_sleep