Having issues with my D-Link DGL-4300 4 Port Gigabit Router with 108Mbps wireless, QoS, etc, and contacting D-Link to arrange for investigation of the issue resulting in replies that aren’t all too useful in helping the problem get resolved, I set about removing the dependance on the D-Link router, and replace it with something a little more.. open, has QoS that works, and won’t drop the WAN connection because a packet decided to rub it the wrong way.
My search ended in our storeroom, a Linksys WRT54GL running DD-WRT, which I had put away after a recent networking test I was undertaking.
I configured the device, and couldn’t get it to play nice.
One of the issues with the DD-WRT firmware is some of the time (and a bit more), you’ll try and get something disabled, or something activated, or something reconfigured, and it just won’t do it properly.
For example, one issue was getting online. I configured the device, gave it a range of settings I assumed would be the ideal for my connection, unfortunately, we couldn’t get online. So, I reset the device to defaults, and configured only the internet connection. It worked!
So, with that running finally, and to get the VoIP calls happening again, I connected the LAN of DGL-4300 to the LAN port of the DD-WRT, and reconfigured the device, giving the internet connection a static IP and disabling all the features in the device that would be made redundant as a result of the new, – but cheaper-, and more superior device. Back online, still got to configure QoS, disable wireless, configure UPnP, port forwarding, and so forth.
Another feature that has issues is wireless. I wanted it disabled, not just the network, but the radio as well. I tried digging through the DD-WRT interface in several areas to turn off that 28mW (changeable to 215mW) wireless radio.
It just couldn’t be found. So I dug around on Google and discovered that the configuration of the wireless from the web interface is done with a command called ‘wl’, which is also the kernel module.
So, logic says, remove the kernel module, no more wireless. Nope, remove the module as ‘rmmod wl’ and you get a orange flashing Power light. So probably OK to leave as that, but rather annoying. I tried: wl radio off, a command to turn the radio off. Worked. For about 30 seconds or so, and it came back on again.
The search was not at an end, I wasn’t going to leave the wireless running, so I worked out a better method, here it is for those with a wireless WRT54GL that they no longer want wireless (for now):
wl radio off
wl down
rmmod wl
And viola, wireless gone. What it does? Turns off wireless radio, takes the wireless driver down, and rmmod wl removes the kernel module for wireless to prevent it from loading (a program would need to insmod wl to get the system to load it, but that would likely spark a reboot, thus causing the reboot script (read below) to kick in and boot it off anyway).
To prevent it from auto starting again in a reboot, simply add the commands above to the Commands interface.
Login to the web interface.
Click Administration
Click Commands
Paste the commands into the box.
Click Save Reboot.
What that will do is when the device is rebooted, those commands are executed, and that nukes wireless capabilities from the device.
The device has a heap of flaws when you look at it from the configuration angle, with reboots and unexpected behaviour, however, for an Open Source effort, this has to be one of the better projects I have seen, it’s Fantastic. A great group of features built into a device. Install yum and some way of dynamically removing and adding modules to the firmware, and of course, network attaching storage to read files and the like, and the device shows itself even more powerful.
Imagine one of those NAS devices that are about, and having enough RAM to run a torrent client for example, or enough room to configure a webserver, and point the files at the NAS device, you would be able to host websites on the router! How cool would that be!
The project has a lot of promise, and has a lot of features under the hood. Essentially, you get a $400+ dollar router, for around $120+, and a bit of time adding the firmware. Oh, and you void your warranty too, so find any issues with the Linksys firmware first, if an issue exists, get it replaced prior to putting the new firmware on.
Documentation is a little on the poor side for any newbie users, who might see the features and run, but a little bit of notepad should fix that.
A heap of features exist under the hood, like:
Local DNS
DHCP Server and DHCP Forwarding
DNSMasq
Supports Daylight savings configurations, and is rather simple.
DynDNS updater that actually checks if the DynDNS needs an update, rather than sending one anyway.
Advanced Routing Features
VLANs (and Tagging!)
Bridging
Wireless Client, Wireless Repeater, Wireless Repeater Bridge, Wireless Access Point, Wireless Client Bridge, and it can also Wireless Adhoc, and it doesn’t stop there…. It also supports WDS!
Radius Auth for wireless, as well as WPA-PSK and WPA2 (-PSK).
SPI Firewall, and it’s configurable to a high degree, as well as turning logging off (something the D-Link falls heaps short on).
It’ll block ActiveX, Cookies, and all that junk.
VPN – It’ll connect PPTP, as well as passthrough.
Access Policies that’ll lock the kids out to next year if you want to.
Port Range Forwarding
Port Forwarding
UPnP
QoS
DMZ
Management has heaps of features, like SSH, Telnet, Cron (no kidding), Remote Access, JFFS2 and CIFS mounting!, Overclocking .. and more.
Wireless Hotspot! – No kidding
It supports Sputnik, ChilliSpot and WiFiDog, as well as HTTP / SMTP redirection!
DHCP Client
Can connect to a remote server for DHCP Server configuration
XBOX Kaid
PPTP Server and PPTP Client
Flow monitoring and Bandwidth monitoring
SNMP
I said SSH, right?
It also has Keep Alive features for checking the connection is alive!
Reboot Schedular, fantastic, ISP can shape you, and you might have to reboot to get unshaped? Well, there you go. Schedule a reboot when you are shaped for the next day you are unshaped, and problem taken care of. Can also use cron to do that.
WDS Watchdog – monitors WDS and regains links to WDS APs
Command shell for executing commands
Here’s a cool feature: WOL. Wake your machines up from a router, handy if your out and about, have remote management on, and a PC Is off. WOL can turn it on, port forwarding gives you the ports you need, and viola.
You can also monitor connections, and view connection attempts (something the D-Link can show as well).
The dynamic Web interface is something that is really fantastic.
Anyway, the D-Link issues I am having are a pain in the rear, as well, the QoS seemed to be confusing at most, with JavaScript used to verify settings are correct, and even it is coded poorly (you select Any), it saves with any, add a new rule after saving with Any, and try and Save, and you get You must have a protocol selected, I do, it’s ANY.
The hardware manufacturers can really learn a Lot from the DD-WRT crew, who have put together a fantastic peice of work, that can only be described as network bliss.
On that note, I’m going to shorten off from here, before this post takes up all the RAM in your PC.
If you are having issues with your router, not happy with performance, or finding VoIP or other technologies fade below after being munched out at by P2P, you need a DD-WRT router. That is, a Linksys WRT54G / GS / GL and a few others now too. Any one of those is fine, get it configured right, and you’ll be as happy as this blog post is.
Fantastic work, from an open source team. Congratulations on such a fine production!