Speed Up Your (Dad's Satellite) Internet Connection With a Dual-Band Wireless Router

30K339

Intro: Speed Up Your (Dad's Satellite) Internet Connection With a Dual-Band Wireless Router

Hello. Please see https://www.instructables.com/id/How-To-Make-Bath-Bombs/

I'll probably put this info up on a personal blog shortly.

STEP 1: Shop for a Dual-Band Wireless Router

Shortcut: Buy the Netgear WNDR3300 for about $76 plus shipping from buy.com. I like Google Checkout better than giving my credit card info to a bunch of different vendors, and buy.com takes Google Checkout.

If you took the shortcut, you can skip to the next step. Otherwise, here are more details in case you are obsessive about saving a few dollars at the expense of a bunch of your time, kind of like me: Find the cheapest dual-band router that is listed as supported by dd-wrt. I found a pretty good deal at the above link. CNET Reviews also points to CDI as having it for $77. If I wanted to spend over twice as much on hardware and run a testing release of dd-wrt, I'd get the Linksys WRT610N (~$165) since it is supposed to support *simultaneous* 2.4 and 5 Ghz operation, but who knows what is actually happening with both radios with dd-wrt on this hardware -- maybe it's the same. This Netgear also doesn't have gigabit ethernet ports like the Linksys, but you could hang a gigabit switch off of it for $50 or less.

(Added June 12, 2009: Buy.com now has the Trendnet TEW672-GR 300 Mbps dual band wireless router for $67 including shipping. I don't yet know if dd-wrt will work on it, but I'll probably get one and try it out, and update this instructable or start a new one.)

Here is the list of dd-wrt supported hardware, and here is the router "database" where you can type in a few characters of the router's name.

It would be better to use and support open-wrt because of repeated GPL violations by the dd-wrt guy, but I was more certain that this would work with the hardware I was buying, with a comprehensible UI, dual-band, and I need it to work unattended because it's going up a mountain to my Dad's house in North Idaho, a thousand miles from where I live. If the X-wrt or OpenWrt guys come up with something that I can easily figure out, I'll happily switch to one of those. From the main page, I couldn't even tell if those run wifi (they do), let alone support my hardware, and dual-band radios. What I gleaned from the open-wrt web pages are that they're all general-purpose embedded firmware or some such. Abstraction is great, but come on, what does it do? </rant>

STEP 2: Get Your Specific Router's Installation Instructions

Check the dd-wrt wiki for particular instructions for the router you purchased. You'll also want to read the main Installation document.

That document refers to checking the "Supported Devices" list. You might think that starting at the "Supported Devices" list and clicking on the entry for your specific router would take you to a link for specific instructions on installing dd-wrt on that device, but you would be wrong.

In my case, a forum entry, here, was completely necessary -- the stock instructions didn't work. And even the forum instructions didn't describe how to fetch the files they referred to. (But this instructable does, in the next step.)

STEP 3: Download the Firmware

Download the firmware you'll need. I found this to be a particularly poorly documented step. My router, the WNDR3300, needs a two-step download. You start with a particular version that the factory firmware will allow to be loaded, then move on to whatever more full-featured firmware you want to use (i.e., you upgrade the first version of dd-wrt that you have installed.). If you don't want to use any other features, you can just go with the first version you install.

Also, the download page at dd-wrt.com was useless and confusing. Consumer? Professional? What's the difference between v24 and v24-sp1 and why would I care? Where the hell is the version the instructions mentioned?

For the WNDR330, I needed to download http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn11604/dd-wrt.v24-11604_NEWD_mini_wndr3300.chk, and the only way I found that was to infer and reconstruct the URL from the above-listed instructions.

I used curl to (Shortcut here) fetch this:

curl -O http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn11604/dd-wrt.v24-11604_NEWD_mini_wndr3300.chk

(If you are taking the shortcut, skip ahead to the next step). You could also load that binary in your browser and do a "Save As" on that document, or use wget.

By random poking around (ok, binary search), I found that there is also apparently a svn11650 directory, and who knows what else. But this one worked for me.

STEP 4: Prepare for Problems

Shortcut: Skip to the next step.

You should probably also download the instructions to recover from a bad flash and the FAQ and save those locally or in a tab on your browser, since your router will be offline for a bit (forever, if you're really unlucky) and you won't be able to load them easily.

The puppy picture is purely gratuitous.
Photo Credit: Pirate Scott, Creative Commons Attribution-Noncommercial 2.0

STEP 5: Physically Hook Up the Router to Your Computer

Shortcut: Plug it in, log in as admin/password. Skip to the next step.

To prevent any confusion here, it might be a good idea to turn off the wireless interface on your computer now. It probably won't work anyway as soon as your computer thinks you have a spiffy wired connection to the internet (that alas, dead-ends at your new router).

Hook your router up to ONLY your computer, and get logged in to the router. I used the cable that came with the router from my laptop's ethernet connector to the #1 port of the router (don't use the WAN connection, which in this case is yellow). (Factory) Reset the router if you have messed with it before. In my case, I hadn't.

For pretty much the first and only time in my life, I'm going to recommend that you not use Firefox (for just the next few steps). Use Safari on the Mac, or IE on your Windows system. Or who knows, Chrome from Google would probably work too, but Firefox is reported to cause some problems, and it may well have caused problems for me.

Load the admin interface in a browser (not Firefox apparently) by typing the router's IP address in your browser. In my case, I typed "192.168.1.1" in the URL bar and logged in. The username and password for the WNDR3300 from the factory are apparently "admin" and "password".

If you can't get to the admin interface, maybe you need to set your ethernet address to something in the 192.168.1.x range. I just plugged in the router and it assigned 192.168.1.2 to my computer using DHCP, which was fine. Try pinging 192.168.1.1 if you're not sure if you're connected.

STEP 6: Upload the New Firmware, Don't Panic When It Fails

Shortcut: Skip to the next step, where we upload the correct firmware.

Upload the new firmware. Poke around in the router's factory web page until you find the "Upgrade Firmware" button/dialog. Tell it the firmware file you want to upload. I chose the file that the instructions told me to use for the first flash, that I had downloaded earlier, dd-wrt.v24_std-wndr3300.chk. Once you start the flash process, you're not supposed to mess with ANYTHING (router or computer or power for either) for 10 minutes. I did the 10 minute wait, and my router stopped responding to the web interface, although I found that pings to 192.168.1.1 worked, and the power light was flashing green so I figured it wasn't totally bricked.

Also, I eventually noticed that starting some time in 2006, someone noted in some wiki page somewhere that Firefox didn't work to do this. So maybe it was Firefox, maybe it was the wrong binary image.

Don't panic.

STEP 7: Now Upload the Right Firmware

Then I did the research that let me figure out the real version I should have uploaded, dd-wrt.v24-11604_NEWD_mini_wndr3300.chk. If you are working on your only router, you'll need to hook your computer up directly to your internet connection, since your router doesn't work anymore.

This time, I used tftp to upload the firmware, thusly:

macbook:Desktop gentry$ ls dd-wrt.v24*
dd-wrt.v24-11604_NEWD_mini_wndr3300.chk <-- This is the right one
dd-wrt.v24_std-wndr3300.chk <-- This is the one that didn't do anything good.
macbook:Desktop gentry$ tftp 192.168.1.1
tftp> binary
tftp> rexmt 1
tftp> timeout 60
tftp> trace
Packet tracing on.
tftp>

Now power on the router, make sure that you can ping it, power down and get ready to start the "put". As soon as you restart the router, press "enter" after the following command, and with any
luck, something like the following will happen.

tftp> put dd-wrt.v24-11604_NEWD_mini_wndr3300.chk.x
sent WRQ <file=dd-wrt.v24-11604_NEWD_mini_wndr3300.chk.x, mode=octet>
.
.
.
sent WRQ <file=dd-wrt.v24-11604_NEWD_mini_wndr3300.chk.x, mode=octet>
received ACK <block=0>
sent DATA <block=1, 512 bytes>
received ACK <block=1>
sent DATA <block=2, 512 bytes>
.
.
.
sent DATA <block=5657, 58 bytes>
received ACK <block=5657>
Sent 2895930 bytes in 15.6 seconds
tftp>

STEP 8: Success!

After a minute or two, the router became reachable at http://192.168.1.1/ and prompted me to set a non-default username and password. Yay!

If you are in a big fat hurry, you are done. But if you want more crazy features, you can go on to install a more full-featured and possibly less buggy version of dd-wrt. I installed the firmware I fetched from:

curl -O http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn11650/dd-wrt.v24-11650_NEWD_voip.bin

and it seems to work great. Lord only knows what the most recent version actually is or where you can fetch it, but this one seemed to work.

Good luck!

STEP 9: Try It Out a Little

Shortcut: Just mail it out.

I'm not completely sure that this thing is working dual-band, although think it must be because I get pretty good throughput between it and my Macbook Pro that says it has an "AirPort Extreme" wireless card which supports simultaneous dual-band 802.11n.

From 25 feet away with a refrigerator and a wall in the way, I see 2.3 - 2.5 MB/s locally (that's MegaBytes, not MegaBits, so it would be about 20 Mbits/sec), which is about twice as fast as I was seeing with my Linksys WRT-54g. I should probably have benchmarked the WNDR3300 BEFORE I flashed the new firmware. D'oh.

That speed is definitely fast enough for my Dad's home network, given that the satellite link he has is probably 10% of that speed. The other speedup features you got for free are that the router is now running a caching DNS server named DNSmasq (unless you fiddled with the admin interface and disabled it); and, if you leave the wifi channel selection on Auto, it'll pick a channel that isn't being interfered with by a wireless phone or maybe even a microwave oven.

If you are adventurous, you can also turn up the transmit power on the radios (see picture for this step). This doesn't help as much as you might hope. For one thing, just turning up the transmit power on one side won't help packets being sent from the other side (but if you have two high-powered or high-gain endpoints, rock on). Still, it can eliminate half of a packet loss problem. For another, if you overdo it and set the transmit power too high, a) you will get a more distorted signal, and b) you might overheat the radios and let out the magic smoke that makes them work. On my old wrt-54g, nothing over 70mw improved my test results.

There are a bunch of other swell dd-wrt (and open-wrt and x-wrt) features if you poke around.

Now mail it to your Dad up a mountain in Idaho to see how it works there with the noisy microwave oven and super high latency satellite internet connection.

STEP 10: Epilogue: Why This Helps

Here's a timeline of a typical (but super-simple, with no dependent requests like graphics, ads, etc.) web page request before installing a caching DNS server:

0s -- Dad types "www.dadstoday.com" and hits enter on the browser. Browser sends DNS request to satellite/ISP, which does some consultation with the rest of the internet and,
0.5s -- Answer to DNS request comes back: 65.181.158.26.
0.51s -- Browser (ok, TCP stack) sends request to 65.181.158.26
1.1s -- Content starts to arrive at browser. Let the rendering begin.
1.3s -- Content is complete at browser
1.8s -- Browser is done rendering, and the web page is fully displayed.

Here's (a slight lie, but it's simpler) how that would look with a single dropped packet

1.1s -- Content starts to arrive at browser. Let the rendering begin.
1.3s -- Whoops, wait for a round trip to get the missing packet.
1.8s -- Content is complete at browser
2.3s -- Browser is done rendering and the web page is fully displayed.

In real life, it's actually much worse than this, because most web pages include references to content from other servers, so you have to do more DNS lookups (that can begin only after you have fetched the first page) THEN fetch the referenced content. The good news about this satellite connection is that it's reasonably high-bandwidth, so at least all the ads, graphics, etc., get fetched in parallel, and pretty quickly. Once the web page starts to display, it shows up pretty quickly.

Now, the same simplified timeline with a caching web server (loading a page we have loaded in the not-too-distant past):

0s -- Dad types "www.dadstoday.com" and hits enter on the browser. Browser sends DNS request which is intercepted by our router and answered in a few msec instead of incurring a satellite round-trip.
0.01s -- Answer to DNS request comes back: 65.181.158.26.
0.02s -- Browser (ok, TCP stack) sends request to 65.181.158.26
.51s -- Content starts to arrive at browser. Let the rendering begin.
.71s -- Content is complete at browser
1.2s -- Browser is done rendering, and the web page is fully displayed.

So we've gone from ~1.8s to about 1.2s, and, we're less likely to have packet loss with the modern radios, so what was a 2.3s load is still 1.2s. And in real life, this is compounded by the references the page makes. Pages that used to take 10s to load now take maybe 5s. Still slow, but a big improvement. This is also a great reason to run Adblock Plus in Firefox -- you can cut out pretty much an entire roundtrip of fetching crap you didn't want to see anyway.

9 Comments

Where I live the faster Net connection is via satellite, wildblue specifically.
When I try to watch clips that have both sound and motion, sometimes the pauses are so irritating, and come so close together, that there is no point in trying. This is frustrating, no surprise there.
The nearest cable connection is probably 9 miles away. Seems unlikely that they'll push out this way for some years.
The little I read here so far doesn't look hopeful, but do you have any help for me?
Grab a old Satellite dish that was used for tv. If you can find one the old 80's style 10ft and 20ft dishes would be best. Look up wifi cantenna and wifi dish antenna. Doing this with a little moddification and a Signal amplifier in line will give a great bost
What site are you trying to use? 

It may well just be wildblue isn't providing enough bandwidth for you to watch video.  I know wildblue provides several different tiers of internet service, and a higher tier might solve your problem, but to figure that out, there are a couple of things you could do.

First, I'd make sure the signal strength to the satellite is strong enough.  If it's on a scale of 1 - 100, 70+ is probably OK, unless it is going up and down a bunch.   If the signal strength is below 70, possible fixes include re-aiming the dish, getting a bigger dish, or a new up/downlink box.

Second, I'd make sure that your home network isn't losing packets.  One way to eliminate that for debugging purposes is to use just one computer connected directly to your satellite box.  (Also, if your home network is wired, you are probably OK.)

Third, older computers often just can't play full screen video without hiccups.  If you have a big video file locally (on, your desktop, for example), does that play OK?

I have been thinking of pulling my own fiber from the nearest cable point, but like you, it's at least a few miles away.  If we had line-of-sight to someplace with a good net connection, I'd consider setting up a so-called long-range wireless link

What part of the country do you live in?


Thank you for answering. Wow! Lots of new ideas and options, love that.
I live just east of I-25 in S. Colorado. Is high plains, with slow rolling hills.
Radio reception to the nearest town (10 miles or so) is poor, t.v. reception is lousy w/o satellite....  I did have dial-up but found it Intolerable!!
Even my fairly new (2005) car's radio doesn't get decent reception on the FM channels I like. So the Web and Pandora are popular in this house.
My home 'puter is just this one, hard-wired to satellite dish. If I had the money I'd buy a new and faster computer, but then I'd just need to buy a new one in 3 years or so....
I can't play DVDs, lost the codex in an earlier repair off-site, and the ones I've downloaded don't work with the commercial disks. So I can't answer about playing from my desktop. Some of the Utubes got right along, but like clip from Waterloo, obviously a very rich source,  just kept buffering.
I hate feeling so ignorant and incompetent.
I see one problem in your explanation of parts. If you have a Gigabit switch after you router the only thing that would do is give the Intranet of those machines a gig connection. the Internet coming into the switch is still at 100mps. if you want a gig internet connection you need gig hardware through out the entire network.
Also the first commenter is correct on it not speeding up the Internet. All it does it reduced signal loss and connection issues due to that. Also even if you do bump up the transmit power you may not see much difference unless you have a direct near line of sight to the router. WiFi is bounced and absorbed by the walls in your house. The increase in power will help but it will be minimal. Also you would need to a cooling mod to prevent damage to the router.
https://www.instructables.com/id/Unleash-the-Power-of-Your-Router/

https://www.instructables.com/id/The-Making-of-a-Beast-WRT54G-Mods-Part-One/

I have done a few of the things the second one has done. And it a very powerful router.
I also do networking and there is only one best way to speed connections may it be intranet or internet and that is Hardwire. Wireless is nice but there shall always be latency that will slow the connection.
i work in networking...so i've just got to nitpick... none of this will speed up your internet connection (semantics).....one may speed up your computer's connection to the internet gateway (your modem, router, satellite etc) and the other will make it LOOK as though pages are loading faster (though anything with dynamic content...i.e. most of the internet....will show stale information) none of these will make a crappy internet connection move faster than it already does (if you've got 56k dialup this won't make it move any faster than 56k)
Right, clearly, you're never going to pump more (random/already compressed) bits per second through the link from your router to the ISP than the ISP allows. But you can effectively speed up a high-latency Internet connection by not sending so many serial round-trip requests. I'll add a section above to explain. Also, I'm not sure what else you'd call the entire switched-packet connection from my Dad's computer to the internet server he is using, except an internet connection. In this discussion, I'll call it the entire route, but "Speed up your entire internet route" sounds pretty weird. Also, hell, there aren't really any connections at all. They're just a bunch of packet switches. So yes, it does speed up your internet connection, if your internet connection is measured from your computer to the internet site you are using. That's how a user, i.e., my Dad, would measure it, anyway. I probably didn't make this totally clear either, but it does also make the internet connection faster by reducing packet retransmission. With a high-latency connection, dropped packets on just one segment of the route are particularly painful. The receiver notices (after a while) that it needs to NAK a missing packet, so it does that and waits for the retransmit, which incurs a round-trip delay over the entire route, not just the link that dropped the packet. The content delivery isn't finished until all the packets, including the retransmitted ones, have arrived. This project makes dropped packets less likely in at least two ways, maybe three. 1. It's using two radio bands instead of one, and is adaptive to interference (maybe even using 802.11n, I'm not sure), 2. It has better radios and antennas than the antique router my Dad is currently using, and 3. You can turn up the transmit power of the radios using dd-wrt. (I'll add an explanation of boosting the xmit power. Adam Pash does this in his lifehacker article on this that got me started and which I should and will reference/credit above.) No, it won't show stale information. The caching DNS server that comes with dd-wrt, DNSMasq, respects the TTL of DNS entries by default. We're only talking about caching DNS entries, not the content. But it still cuts more-or-less half the time off loading most web pages. (Exceptions include sites with really short DNS entry TTLs.) I'll add an explanation of how that works in an "epilogue" section of this instructable. Thanks for the feedback!