Networking – How to get Internet speed from the router that comes close to what I get from the modem

internetrouterwireless-networking

I have a pretty standard home Internet setup: Internet comes in via cable, cable modem connects to wireless router, router spreads the goodness among a handful of devices, most wirelessly, one or two via Ethernet cable.

Recently, I called my ISP and upgraded my Internet service from "silver" to "platinum." Supposedly, that means I went from paying for speeds of 15 Mbps downstream and 2 Mbps upstream to speeds of 100 up/20 down. I then got a brand-new DOCSIS 3.0 cable modem that should be capable of handling the increased speed. Indeed, when I connect my computer directly to the cable modem with an Ethernet cable, http://speedtest.net tells me I'm getting roughly 116 Mbps down and 21 Mbps up — all good.

My problem shows up when I add the router back to the equation. Attempting to connect to the Internet using WiFi (802.11n, to be more specific) results in speeds of 20 Mbps down and 0.18 Mbps up. At first, I thought that was due to wireless itself; the router is a single-band 2.4 Ghz model, so even though its box advertises speeds of up to 300 Mbps, I figured there might just be too much interference from the many networks in the area, plus phones, microwaves, &c.

If that were the case, though, the problem would go away when I used the wired connection instead of the wireless. I tried connecting a computer to the router with an Ethernet cable, and only saw marginal speed increases; 22 Mbps up, 0.22 Mbps down. (I suspect the difference would be insignificant if I ran each test multiple times.)

In any case, I think I've tracked the problem down to my router settings (and if something is wrong with my logic above, please let me know). Is there anything I can do software-wise to fix this, or am I stuck with replacing the router? For that matter, would getting a new router even help? How can I achieve 100 Mbps wireless downlink speeds?

Specs:

  • Cisco DPC3010 modem
  • Linksys WRT160N v3 router
  • Tomato v1.28.9054 MIPSR2-beta K26 Mini router firmware
    • Linux kernel 2.6.22.19 and Broadcom Wireless Driver 5.10.147.0 updates

EDIT:
Since asking this, I tried another speed test on wireless, this time in another room. About 15 meters and two drywall walls away, speeds drop to 12 Mbps down and 0.20 up. I'm not sure what to make of that, since the problem is already known to be non-wireless; maybe there are multiple problems?

Also I realized that I asked a question much like this myself a few years ago, but the problems identified there — in short, bad firmware — don't apply here. I've found uncountable other posts about slow Internet as well, but few about problems specifically at the router level. There's one here at SU, and 1 / 2 / 3 / 4 others, none too helpful in my case. There's a lot of "maybe it's the hardware that needs replacing," but without any explanation of what the problem is or how to select replacement hardware that won't have the same issue.

Best Answer

I'm getting roughly 116 Mbps down

This would imply that this is a local gigabit connection between the cable modem and PC.
The WRT160N only has 10/100 Ethernet ports, whereas the Cisco modem does have a gigabit port.
You would need to upgrade to a router with gigabit WAN & LAN ports in order to preserve this downstream rate.

Here's a chart indicating the range of WAN-to-LAN-port performance among various routers. If the measurements are accurate, then even "gigabit" ports are not a guarantee for fast throughput.

ADDENDUM

Because how else could they advertise 300 Mbps wireless speed? Thinking about it again now, I suppose it could be shady advertising with the 300 being for ad hoc network purposes only.

That's not shady advertising at all.
The wireless link is fully buffered from the wired links, so the wireless speed is completely independent of any wired link speed. Each link can transmit & receive at its full speed without regard to the speed of any other link.

Almost all low-cost Ethernet switches employ the store-and-forward (rather than cut-through) method, which also means that each Ethernet frame has to be completely received before transmission can commence to the destination. Routers and switched are computers that have local RAM to buffer/store the Ethernet frames as they are received.

The widespread "weakest link in the chain" analogy applied to throughput is often misinterpreted as if all links get slowed down to the speed of the slowest link of the communication path.
That is not a correct view of the data transfer.
Digital data is almost always transferred in packets or datagrams or frames (rather than streamed as continuous bytes) and these packets/datagrams/frames are almost always fully buffered when received and then forwarded.
So there is no dependency of the speed on one link with another link.

A low average throughput number does not mean that a high-speed link was actually slowed-down by another link in the path.
It's the dead or idle time of the transmission links (and the the processing time spent by the router or switch) that gets averaged into the total time to transmit that causes a lower average throughput number.