Hackaday Prize Entry: NetBOOT Powercycles Your Modem When You Can’t

Many people have their home network setup with a dynamic dns service in order to remote access their files, printers, or Pi based security camera systems. Many people also suffer from less than stellar internet connectivity and find themselves unable to access their home system due to a stalled signal.

netBOOT is an Arduino based device that automatically resets your modem for you, when you are unable to. Core of the system is a standard issue ATMEGA328p based Arduino board combined with a W5100 Ethernet module, and a relay module. The software on the Arduino periodically pings a list of IP addresses and listens for a response. If none is found within 3 tries the relay module, which is connected inline with the DC power of your modem, is clicked open for 10 seconds and then returned closed. Once your modem has rebooted and re-synced everything should be good to go.

We don’t remember seeing this feature in the list of specs for Google’s new OnHub. The ability to reset bad connections seems like a feature that should be built into future-thinking routers, right?

The 2015 Hackaday Prize is sponsored by:

20 thoughts on “Hackaday Prize Entry: NetBOOT Powercycles Your Modem When You Can’t

  1. I have to reboot my modem periodically as well.

    But… why do we even need to do this (the reboot)?

    Doesn’t the modem know whether it’s connected, and can’t it reset itself? If it crashes, can’t the watchdog timer reboot the system? Is there a feature into OpenWRT to do this? If the dynamic DNS lease runs out, can’t the modem know to flush and reload?

    I’ve never understood why this is *our* (the user’s) problem. This should be a no-brainer for the modem software.

    My other problem is rebooting linux every time the modem has to be rebooted. I’ve got a script that periodically pings and detects when the connection is lost, but as yet I haven’t found the magic command to cause the network to re-sync with the modem. Power cycle is the only thing that works.

    (That’s one problem with linux systems and open source in general. In order to do anything obvious, you need a magic incantation that’s obscenely hard to discover. I’ve got a list of commands that won’t work.)

    The aggregate time wasted for all the reboots done by everyone is enormous. Grrr…

    1. OpenWRT/DD-WRT/Tomato most of these have an auto-reboot feature that can be scheduled nightly. This is great for routers. Modems on the other hand… well I’ve never seen one that had that feature. This would be good for those specifically. Modem != router.

    2. If you are having to reboot an Openwrt router then there is either something wrong with your hardware or your Openwrt installation.

      I use Openwrt for lots of things and it is always extremely stable, my main router hasn’t been rebooted since last time I pulled the wrong wall wart out.

  2. I’ve had issues with my cable internet going down, mostly in the summer time. When the sun hit the wire the internet would cut-out. This was mostly due to old rotted wire probably chewed up by squirrels.

    I called my cable company several times, they wanted me to read out the signal levels and I would check them and I noticed they would spike at times when it was hot and the modem would go out of sync and wouldn’t reconnect and required a reboot. Finally they got a tech to come out and he ran a new wire to my house. Now I seldom have to reboot my cable modem.

    Obviously my issue was local and only effected me, the issue might come farther down the tap, than a lot of other users on that line would be effected and if they don’t complain, nothing gets fixed.

  3. If he produced these as a standalone unit at a reasonable price he could set up a business selling these. Based on the stories I hear online and have heard for years, from a great many people.
    But he’d need something else than a arduino and shield though, needs to be simplified.

    1. ESP8266 + relay + power supply put in a wall socket, because people wont be modifying their installations
      Or just a piece of wire with barrel plug, esp8266/ETH module to plug between PS and router

  4. I had similar problem with my ISP’s modem/router, but then I bought Mikrotik Routerboard (about €50) and set my ISP’s modem to be just modem (bridge), and let my RB handle PPPoE, NAT, DHCP and other routing/LAN stuff. For about two years I never had to reboot or reset my setup, it works 24/7 without any problem. ISPs usually give you low-end modem-routers that are buggy and their computing power is crappy. Same chip handles routing and ADSL stuff so when routing overloads processor it drops ADSL sync.

  5. Somewhere down this Google Plus Community Page, there is an example of configuring the Kankun wifi smart outlet switch to reboot an attached router that is no longer connecting to the internet using a bash script (I think). Around December/January, I think.

    Am I missing something? I don’t seem to find a way to search a community page like that.

  6. It’s funny I’ve just wrote a sketch, a few weeks ago, based on the same library for some CISCO at work.
    Same fonction here except mine only ping 2 IP and the delay between the reboot increase after each try (2.5s > 15 > 1min30 >

    ~10min > ~1h max), for not stressing the MODEM for nothing if the fault stay to long. And…. had a loooot more blabla in

    terminal :o)
    Code is here : http://pastebin.com/8Axwq3e0
    Comments are French, but with the help of serial print it’s easy to understand.


Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.