OpenWrt is a Linux operating system targeting embedded devices like WiFi routers. It is more stable, offers more features, is more secure and, because it has a large community base, has better support than almost any of the commercial routers. It’s design philosophy is to provide the ability to use devices in ways not originally envisioned.
Years ago, I started using OpenWrt because, prior to the arrival of the micro-computers like the Raspberry Pi, I could load python into an Asus WiFi router and create my own xbee gateway. Memory on those routers was very limited but by mounting a thumb drive into the USB port I could load python into that partition and run it from there. I learned these tricks from Jeff Keyser (http://mightyohm.com) and LadyAda (http://AdaFruit.com) and their work with the Asus WL-520gU and the Tweet-a-Watt.
These days I use OpenWrt as my standard OS for any new WiFi routers I install. In fact I usually check the devices which are supported by OpenWrt before buying a new one. My recent favorite is the Western Digital My Net N600/N750. I’ve been able to pick them up for as little as $20. These are the basic steps I use to flash OpenWrt on a the N600.
You can find very detailed approaches to flash OpenWrt on the N600 here but the following steps seem to work best. The general idea is to first flash an intermediate firmware named Gargoyle, then install the OpenWrt software using Gargoyle. Here we go…
- Download the firmware and save it in your Downloads folder:
- Connect an ethernet cable from your laptop or PC to a LAN port on the N600.
- On your laptop, open Network Connections and set the IPV4 settings to the following:
- Mode: manual
- IP Address: 192.168.1.5
- Netmask: 255.255.255.0
- Gateway: 192.168.1.1
- Find the location of the reset button hole on the bottom of the N600 and push a bent paperclip into the hole. There is a small micro-switch under the hole which one can feel with the paperclip. Hold the button down with the paperclip for about 15 to 30 seconds.
- In your browser, access http://192.168.1.1 and you should see a primitive dialog to upload firmware.
- Select the gargoyle file from the Downloads directory, and click to upload it. It will take a few minutes so let it run it’s course.
- When the N600 reboots it will come back with new firmware, Gargoyle. Log in with user: root, password: password.
- Find the System menu and then the Firmware update option.
- Select the OpenWrt file from the Downloads directory, and click to upload it. It will take a few minutes but when it reboots it will come up in OpenWrt mode.
- Enter a new root password and proceed to the Overview menu option.
From here you’re on your own to set up the wifi router as you need. The N600 has 2 radios, 2.4 GHz and 5.0 GHz. You can set up your basic dual band secured access point or allow SSH for access to the command line so you can use it in ways not originally envisioned by the manufacturer.
In my home automation setup, I use an N600 as a separate access point which receives connections from all my wifi based devices. Mostly I use the Wemos D1 Mini breakout for an ESP8266 chip. I also run 2 Raspberry PIs:
- the central controller server running Node-Red
- the data server running Graphite/Grafana for pretty trend charts