Intro
The OpenWrt Project is a Linux operating system targeting embedded devices. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the Manufacturer and allows you to customize the device through the use of packages to suit any application. For developers, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.
– openwrt
Why OpenWrt?
OpenWrt is for embedded devices, we are talking in context of routers. These work just fine out of the box, plug-configure-forget. do we gain anything by messing with Manufacturer provided firmware?
- Extended Support
Manufacturer support usually lasts 3-5 years after router is manufactured, but these devices are built to last for decades. With OpenWrt, you can revive old hardware - Security
New vulnerabilities are discovered every day. There is no guarantee that your manufacturer will release a patch for your device. Even if the patch is released I highly doubt it be a quick one. - Performance
Your router is probably running an older Linux kernel. OpenWrt brings newer kernel to the table and improvements along with it. - Privacy
Ever wondered how you are able to control your router remotely via app? This should raise your eyebrows, makes sense when you are in same network, but You are able to do this from anywhere in world, possible backdoors ? These are found after extensive research by security experts. Your manufacturer might not put one in your device, or it might be there for sane purposes and not malicious intents. Here are few evidences link 1 , link 2 , you get the point. - Unlocking a world of possibilities
Flashing OpenWrt, suddenly widens the horizon for you. You can do things like- Block ads
- Mask DNS queries from ISP
- Run VPN server
- Host files via Web Server
- Remotely control by SSH
- Media Server
- Mail Server
This list is just scratching the surface, here is more comprehensive list. This should be enough to convince you.
Flashing OpenWrt
There are 2 ways you can go about it.
Next step, filter the list and drill down till you find your router. You are looking for a complete match down to version number.Then click on Device Page column link. On Device Page, find Installation section and download the .bin file from link in Firmware OpenWrt Install column. Don’t download snapshot builds, They don’t come with UI. If you are not someone who uses CLI regularly. You will have a hard time, very HARD TIME.
Per-requisites:
- Correct OpenWrt file for your router
- Alternate Internet source
- Direct connection to your router [recommended]
Login to your router. Manufacturers usually give an option to upgrade firmware from file, if yours don’t have this option. Then you have to do it the hard way, checkout your router page on OpenWrt. Look for Advance Mode or Maintenance section or Upgrade in router settings page. It is recommended that you connect to your router via non-ethernet port to your computer/laptop. Once you reach the target page, Select the .bin file downloaded in last step. Heads up! This is your last chance to return. Once you hit submit, there is no easy returning to the current state your router is in.
Hit submit and wait for 2-5 minutes. Your router should reboot automatically
Moment of truth
If you have followed steps with extreme precision and made it this far, and you are seeing a blinking light on your router. Congrats!! You now have a working router, and You truly own it.
- Open http://192.168.1.1 or http://openwrt.lan
- Follow these steps to enable WIFI access point
- Switch off you router
- Connect Internet Source (LAN) cable
- Turn ON via the switch !!
Conclusion
Following and completing this guide requires significant knowledge on subject of Networking and familiarity with command-line. In part-2 of this article I will guide you through the OpenWrt firmware upgrade process.
References