Recently, I moved into a new place with several of my friends from college. Of
course, one of the first things we set about doing was getting the best internet connect that we could find. We really only had two options for ISPs in our area: Time Warner and AT&T. Time Warner ended up having the best pricing for the speeds offered. They also did not have a bandwidth cap, which I consider to be a necessity for an ISP. As such, we ordered a tech to come out and give us some internet. The pricing included a cable modem/wireless router combo that we are renting from TW. From there, everything should have been awesome and without hassle, but of course, it wasn't.
The Problem
After about a week, we noticed that occasionally, in the evening, when all of us were using the connection, we would all get really terrible speeds as well as high latency. This was a huge problem when playing any games, as it made it incredibly difficult to react to anything going on on screen. It would not happen all the time and it would not necessarily happen when we were doing bandwidth intensive activities. We finally had someone out to look at the problem and he removed a noise filter from the cable connection citing that sometimes they go bad and cause problems. He indicated that the purpose of that piece was to prevent TV signals from interfering with the internet connection.
The cableworker's fix did help, in that it reduced the frequency of the problem's occurrence, but it did not completely go away. After thinking about it some, we decided that it might be the router that we were renting. Its CPU might not be able to handle the amount of traffic and connections that we were putting through it. We decided that we would get a new router to handle our wireless network.
The Router
I decided that I wanted to get a wireless router that both supported 802.11n as well as could support 3rd party firmwares such as DD-WRT or Tomato. The one that I ended up buying was a Cisco E4200. It was nice, until I tried to install 3rd party firmware on it. As it turns out, there are 2 models of the E4200 and the two models have different processors. The version that I got, the E4200v2, did not have the correct architecture to run any 3rd party firmware. Fortunately, there are checks for that, so I did not brick the router. Anyway, although the router probably would have worked for our purposes, I ended up returning it.
After doing some more research on routers, I purchased an Asus RT-N66U. According to reviews, this is one of the top consumer routers that you can buy and install 3rd party firmware on. I was successfully able to install TomatoUSB on it, although it was a little difficult. There are five or more forks of the Tomato Firmware project.
- Tomato -- The original. Only runs on Linksys WRT54G. No longer developed.
- TomatoUSB -- A fork of Tomato that runs on a larger number of routers. No longer developed.
- TomatoUSB Toastman -- A fork of TomatoUSB by Toastman that is currently being updated.
- TomatoUSB Shibby -- Same as above, but by Shibby.
There are many others that you can see at the Wikipedia Page.
I will detail the installation process in a future post.
Firmware Configuration
The first thing that I did when setting up the firmware was to try to set up QoS settings such that we could download files and play games without impacting anyone's activities. This did not end up going as planned. After several days, we noticed that YouTube videos were loading slowly and sometimes webpages were loading slowly. We determined that the router and its settings were at fault. In the end, I ended up reverting it to stock firmware. That seems to be good enough for us most of the time. We are not having as much trouble with latency while gaming, although a call to TimeWarner might have had something to do with that.
The Moral
I suppose if I were to sum up what I have learned from this experience, I would do so thusly: Cable Company routers are probably not powerful enough to deal with multiple power users and QoS is difficult to set up correctly.