It’s really annoying whenever you using shared internet at home there is one user that use a lot of bandwidth. It will affect another user and the internet speed becoming slower. To control internet bandwidth we must have a good (sometime expensive) router. But there is another to control internet bandwidth without spending a lot of money. The solution is using DD-WRT firmware.
DD-WRT is a Linux-based firmware for wireless routers and wireless access points. It is compatible with several models of routers and access points. DD-WRT firmware is very popular because it have a lot of features including Kai network, daemon-based services, IPv6, Wireless Distribution System, RADIUS, advanced Quality of Service (QoS), radio output power control, overclocking capability, and software support for a Secure Digital (SD Card) Card hardware modification. DD-WRT can be installed to cheap consumer grade router like Linksys, TP-Link, D-Link, Netgear, etc. But make sure your router model must be compatible with DD-WRT. You can check your router compatibility here before installing DD-WRT firmware on your router. I’m not responsible in any damage if you installed DD-WRT firmware on incompatible router.
The problem we are facing now is bandwidth control in DD-WRT only available on paid version of firmware. But with some script we can control bandwidth using free version of DD-WRT firmware.
This tutorial will show you how to setup bandwidth control on DD-WRT (Free Version). Note: this tutorial using D-Link DIR-300 rev A1 as wireless router (DD-WRT v24-sp2 rev 13064)
1. Download WRT Script Generator (Freeware)
2. Extract generator.zip and open WRT54SG.exe
3. Change language to English
4. Click Launch Script Wizard (Top Left Button)
5. Enter your Router IP address in local network
6. Enter total download speed
7. Enter total upload speed and click Next (right bottom arrow button)
8. Skip Step 2 – Change Time To Live (TTL) values of packets that are traveling through your computer and click Next
*note: skip this step
9. Add users from your network to the list by click on the column and choose Add new user. In this step I will control internet bandwidth based on IP address range but you can set it per IP address, IP group, MAC Address, Port, Port Range or Layer 7
10. Enter DL Rate (Download Rate), DL Ceil (Maximum Download Rate), UL Rate (Upload Rate), UL Ceil (Maximum Upload Rate), Priority, TCP Limit, and UDP Limit and click Check button and then Next
11. You can add more than one user rules by clicking the column and set it up like step before
12. Click Generate button
13. Script will generated successfully
14. Copy the script
15. Open your router IP address on browser and login to DD-WRT
16. On DD-WRT click Administration > Commands
17. Paste the script on the Text Box and click Save Firewall
18. Reboot router
19. Done, you can test the internet speed using Speedtest