I've been having this problem on my laptop with error 132 (softblock) on my wlan.
The connection works fine and then something goes wrong, and then a normal network restart doesn't fix it.
I've been doing a network restart - then ctrl-c - then start again to get it to work.
I realised that somehow the adapter gets softblocked when this error occurs after doing a rfkill list when the error happened.
So my solution is ugly, but it works. I assume this is a kernel driver error, and I've seen lots of people complain about it, so until it's fixed, here's my solution:
It's a cron job that runs every 5 minutes, mail me at ashr.636 [a.t] gmail.com if you make any improvements please.
#!/bin/sh
PACKETS=1
INTERVAL=10
TARGET="www.google.co.za"
RET=`ping -c $PACKETS $TARGET 2> /dev/null | awk '/received/ {print $4}'`
MYDATE=`date +"%F %H:%M"`
if [ "$RET" -eq "$PACKETS" ]; then
`echo 'running @' $MYDATE >> /var/log/wlan0.log`
else
`echo 'restarting @' $MYDATE >> /var/log/wlan0.log`
`/usr/sbin/rfkill unblock 0`
`/etc/init.d/net.wlan1 start >> /var/log/wlan0.log`
fi