The prevailing theory of the issue is that the router(?) kicks people off
after* 45 seconds *of inactivity (i.e. it will kick you if you do not use
the internet for longer than 45 seconds.
This is a stupid setting, and it might get fixed soon. Until then, you can
do the wonderfully blunt solution of pinging a google server every second.
It does not chew up any noticeable amount of system resources, or slow down
the internet. It does, however, stop the dropping.
What you need to do is go into the command console (search cmd if you have
a Windows computer), and then type in "ping -t 8.8.8.8" (not the quotes
themselves though).
If it's done right, the command console will, ever second, show a new line
that looks like "Reply from 8.8.8.8: bytes=32 time=3ms TTL=57" Occasionally
the time will be something other than 3ms (4ms is common, the highest I've
seen is 1465ms, which is bad if you're seeing it more than once or twice).
Occasionally you'll see instead "Request timed out." followed by the
regular Reply from 8.8.8.8: ... reply. Again, if this only happens rarely,
you're still good.
As long as you don't exit out of the command module (you can minimize it
without any issues) it will continue to ping, and therefore will not kick
you off the wifi.
If you have Fedora installed, you can do pinging a different way, but then
again if you have Fedora, you don't need this guide.
Hope this helps you.
Sven