Bug que parece não ter solução: https://dev.openwrt.org/ticket/6411
Um workaround seria resetar o hostapd
#!/bin/sh
is_alive=`ps | grep -v grep | grep -o hostapd`
if [ "$is_alive" == "hostapd" ];
then
echo "HOSTAPD IS ALIVE"
exit 1
else
echo "RELOADING...."
/sbin/wifi
exit 1
fi
Na lei da preguiça ficaria:
echo "#!/bin/sh" > ka_hostap echo "is_alive=`ps | grep -v grep | grep -o hostapd`" >> ka_hostap echo "if [ \"\$is_alive\" == \"hostapd\" ];" >> ka_hostap echo "then" >> ka_hostap echo " echo \"HOSTAPD IS ALIVE\"" >> ka_hostap echo " exit 1" >> ka_hostap echo "else" >> ka_hostap echo " echo \"RELOADING....\"" >> ka_hostap echo " /sbin/wifi" >> ka_hostap echo " exit 1" >> ka_hostap echo "fi" >> ka_hostap
chmod+x ka_hostape joga no cron:
5 * * * * /root/ka_hostap
pra rodar a cada 5 minutos...atualizado: testando a versão 12.09 há algum tempo no meu TL-WR1043ND e parece que a falha ocorre com menos frequência...