Friday, December 11, 2009

Mysteriously Bad Internet

May 2007 - October 2008, we lived in Kanata and had Rogers cable internet. For unrelated reasons, I hate Rogers, but the quality of the internet was decent. October 2008 - present (December 2009) we live closer to downtown (K1Y 1W6), and we have a Primus phone/internet package. The price is decent ~$70/month (taxes included). The phone quality is good. We've never used more than the allotted long distance minutes. But the internet sucks. Our Primus DSL is unbelievably bad. Here's the add: Triple Value Bundle.

The first problem is that they give you an idiot's install package. When you sign up, they tell you that you have to pay them a sign-up fee. Sounds reasonable. What they don't tell you is that you're buying a useless modem/router device, and that if you thereafter want to use any other device they will refuse to support you. That wouldn't be 100% stupid if the device was a wireless router, but it's not. You can buy such a device from them, but since they don't tell you any of this at sign-up time, it's too late and you're screwed.

So, you get a Thompson SpeedStream modem (which is a DSL modem and wired router combined). They don't tell you your username and password, so you can't connect it to your wireless router (which no doubt you already have unless you've lived in a cave for the last decade and they are your very first internet provider). Solution: call them, get the user/pass for DSL, change the modem to bridged mode, setup your router with the user/pass as PPPoE. But good luck with this as their support staff speak almost no english.

Bridge Mode

TekSavvy provides this article that shows screenshots of how to set the modem to bridged mode. Basically: wired connection to modem >> >> SpeedTouch >> Configuration >> Setup >> Bridge >> 0.35 >> new user/pass >> yes DHCP >> Finished.

Once in bridged mode you won't be able to connect directly to the internet via the modem. You'll have to setup PPPoE on your router and talk only to your router.

Why bridge mode? Well I made a bunch of changes before getting usable internet and this was one of them. The idea is that if both your modem and your router are in "Routed PPPoE" mode then they conflict. Also the idea is that the routing capability on the modem is a flaky add-on.

You access the SpeedTouch modem via:

The original setup was:

Routed PPPoE on 0/35 and 0/33 (modified by user)
Factory Defaults
Configuration modified by CWMP
(UTC+01:00) Amsterdam, Bern, Rome, Stockholm
Web Browsing Interception: Automatic


I've never much cared about speed before. But the Primus DSL would sometimes drop to such an abysmal crawl that I was obliged to get some measurements. You can go to or to measure the speed of your internet connection.

Update July 2018: Consider whose speedtest makes a one-time $0.01 donation to charity.

Kbps = Kilo bits per second
Mbps = Mega bits per second
1 Mbps = 1000 Kbps
KBps = Kilo Bytes per second
X Kbps = X/8 KBps

Wired to the SpeedTouch Primus modem in default (Routed PPPoE) mode: (preferred server: toronto) 1808-2111 Kbps download, 111-127 Kbps upload

Wireless Router PPPoE to SpeedTouch modem in bridge mode: (preferred server: toronto) 1639-1956 Kbps download, 96-152 Kbps upload

One site I found said that average high-speed internet is 1.9 Mbps = 1900 Kbps = 237.5 KBps = 1 GB in 73 min. Which is probably okay.

But from my box at work, the internet is 40x faster: 42,368 Kbps download, 5,932 Kbsp upload, ping 17 ms. 38,392 Kbps download, 12,914 Kbps upload, latency 6 ms.

Primus says you will get up to 7 Mbps = 7,000 Kbps, and I'm getting 1,800 Kbps, so that's 25% of what I might expect. Not terrible. But before all my fixes, I was getting 300 Kbps. That's unbelievably bad.

Wireless Channels

Initially, I had horrible download speeds, so I tried all channels 1-11 on my wireless router. It's true that some of them (2 and 3 in my case) really sucked. But the others were all about the same and didn't give me much improvement over my initial config (ch6). In the end I settled on ch7.

An easy way to test for bad channels is a ping test:
cmd> ping -t
This sends pings directly to my router. My good channels had 0% packet loss and almost all times shorter than 3ms.


I did these things to my laptop before I got usable internet. I'm not sure if all were required, because I didn't do reboot tests in between each.

1. install the latest drivers for the wireless card
2. install the latest management software for the wireless card
3. tell the wireless card to always use full power
4. use WPA instead of WEP at the router (this seems like an all-around good idea)
5. shut off the macbookair


It's possible that our MacBookAir was causing part of the problem. It seemed that when the MacBookAir was powered off, then my ASUS L5GA laptop with Intel Pro Wireless 2200BG card would get ~30,000kbps. But when the MacBookAir was powered on, I would get 600kbps. Although those results weren't very consistent. Perhaps it had nothing to do with it. Perhaps there was some other intermittent interference from other apartments in my building.

Here's some ideas I've gathered:

Current Status

I now run the ASUS always wired with a static IP. The MacBookAir runs wireless with a dynamic IP. When we have internet, it is decent ~2,500kbps. But the router will intermittently become disconnected from PPPoE, which is solved by rebooting the SpeedTouch modem (toggling its power switch) and asking the router to reconnect (via the router's status page at This might not happen for several days, or it might happen several times in a given day. It may be correlated with bad weather. It doesn't seem to be correlated with rate of internet usage. It's a real pain, but it's work-around-able, and I'm not willing to waste more time debugging it.

I think I'll probably just go back to Rogers.

{ "loggedin": false, "owner": false, "avatar": "", "render": "nothing", "trackingID": "UA-36983794-1", "description": "Tips diagnosing intermittent quality problems with DSL internet.", "page": { "blogIds": [ 30 ] }, "domain": "", "base": "\/michael", "url": "https:\/\/\/michael\/", "frameworkFiles": "https:\/\/\/michael\/_framework\/_files.4\/", "commonFiles": "https:\/\/\/michael\/_common\/_files.3\/", "mediaFiles": "https:\/\/\/michael\/media\/_files.3\/", "tmdbUrl": "http:\/\/\/", "tmdbPoster": "http:\/\/\/t\/p\/w342" }