Try making yourself a cronjob that pings your gateway every 3-5 minutes. just a couple of packets is plenty. This is the one I use:
*/5 * * * * ping -c 2 > /dev/null
Now, my problem is similar, but the opposite. If I didn't have that cronjob on, my esmith would not be reachable from the outside. I found out that it's because an arp cache at my ISP is expiring. Give it a try, it may help