Posted by Scott Laird
Wed, 27 Jul 2005 04:07:57 GMT
I was complaining to someone yesterday about my DSL bill, since I’m paying $80/month for 1.5/384 service. Out of curiosity, I took a look on Verizon’s business DSL website and noticed that they don’t sell 1.5/384 in my area anymore; the default is now 3.0/768 for the same price as before. So I called them up this morning and they’re doubling my line speed for free. It’ll take a day or two before it takes effect, but in a day or two I’ll either be:
- Happy with my new, fast service.
- Yelling at Verizon for completely screwing up my upgrade and knocking me off the net.
Anyone want to take bets on which one it’ll be?
Update: Well, I got my answer. I found this in the logs this morning:
Jul 27 00:22:35 guam kernel: wanpipe1: ADSL starting training 0x2 ...
Jul 27 00:22:35 guam kernel: wanpipe1: GP_LINK_DOWN, Training State
Jul 27 00:22:51 guam kernel: wanpipe1: Cell Delination successful
Jul 27 00:22:51 guam kernel: wanpipe1: GP_LINK_UP, State Trained
Jul 27 00:22:51 guam kernel: wanpipe1: ADSL Link connected (Down 3360 kbps, Up 704 kbps)
Jul 27 00:22:59 guam kernel: wanpipe1: Link connected!
There was also a “congratulations on your upgrade” email in my inbox. So it looks like the speed upgrade went through without a hitch. I have to say, this is the first really nice experience I’ve had with Verizon DSL in years. I’m feeling a lot better about them then I used to–six months ago I was getting 768/128, now I’m getting 3.0/768 for the same price. I’m not feeling ripped-off any more.
A quick download test verifies that the speed really is faster–I’m getting 298 KB/sec from ftp-mirror.internap.com. Smokeping shows that my link’s lower-bound latency dropped overnight, and this morning’s latency graph is much less noisy then it was yesterday. Both of those are good for VoIP.
Update: I did a quick comparison with my old speeds. I was getting 1792/442, now I’m getting 3360/704. That’s an 88% increase in downloads and a 59% increase in uploads. Not quite the 2x boost that you’d expect, but still quite nice.
Posted in Computer Networking | Tags business, dsl, speed, upgrade, verizon | 11 comments
Posted by Scott Laird
Sat, 05 Feb 2005 01:44:18 GMT
It all started on Wednesday night, when I discovered that my Asterisk VoIP server couldn’t make long-distance phone calls any more. I could dial, and the phone would ring, but as soon as the other end answered, the line went dead and the logs started filling up with error messages:
Feb 2 20:24:03 WARNING[-1250968656]: Huh? An ilbc frame that isn't a multiple of 50 bytes long from IAX2 (16)?
That’s kind of weird looking. Google wasn’t particularly helpful, so I decided that this was probably a VoIP provider problem and sent mail to NuFone’s support people. Historically, NuFone’s support department has a reputation of being a bit spotty–either they handle your problem right off the bat, or you never hear from them again, but that was probably a combination of broken email servers and staffing shortages due to rapid growth. In this case, I got a response back from NuFone’s president first thing in the morning. We’ve exchanged a bit of mail in the past, and in this case he agreed that it was a weird error, and the first thing to try was upgrading. I was running Asterisk 1.0.2, while the current version is 1.0.5. He suggested that I might be happier with checking a development version of out CVS–they’ve been more stable for him, anyway, and there are a ton of new features and bug fixes that aren’t in 1.0.5.
What the heck, I said. Sounds like fun.
So, I checked a copy of Asterisk and several of its supporting libraries and drivers out of CVS, built them, installed them, and tried restarting Asterisk. First problem: I’d built my kernel without support for module unloading, somehow. So, I had to reboot to upgrade the drivers for my two PCI VoIP cards. Grumble, grumble. Oh well, I’d been meaning to shut it down and add more RAM anyway; the RAM was sitting right there, and it shouldn’t take long to slide the server out from under its desk and install the RAM. Five minutes later, the box was booting back up with the new drivers and twice as much memory.
Problem 2: As soon as I started Asterisk, I discovered that the X101P PCI card that handles my regular POTS line was reporting a ‘red alarm’ on the line, suggesting that it wasn’t connected right. I crawled under the desk, unplugged the phone line, wiggled connectors, and tested it with a $10 phone that I keep on hand for situations like this. I got a dial tone just fine with the phone, so I plugged the line back into the PC and crawled back out from under the desk to discover…
Problem 3: the server locked up while I was fiddling with the phone line. So I rebooted it, only to discover…
Problem 4: it couldn’t load the drivers for the PCI card anymore. The driver spit out a number of weird errors:
kernel: wcfxo: Out of space to write register 06 with e0
kernel: wcfxo: Out of space to write register 0f with 00
That’s ugly. I developed a new theory: the card wasn’t getting reset right on reboot. So, I powered the box completely down, pulled the power cord for a minute, and then tried again. It worked this time; everything came up right, and I was able to verify that everything was working correctly. Incoming calls worked right, and outgoing calls worked, via both POTS and VoIP.
So fast-forward a few hours. I try to call out, and nothing happens–I just get a dead line. Checking Asterisk’s console, it looks like it dialed out on the POTS line, but I wasn’t hearing ringing or anything. The driver for the X101P PCI card had apparently choked again. I tried stopping and restarting Asterisk, but it didn’t help. I didn’t worry too much, though–incoming calls on my POTS line get forwarded to VoIP after about 15 seconds worth of ringing. Somewhere in the middle of this, a couple calls came in from family members, but I wasn’t close enough to a phone to answer them, so I let them go to voice mail. Except neither call left a message. That seemed strange (my family is big on leaving messages), so I called back, and they said that the line had went dead right after it answered–they never heard the “leave a message” message.
Problem 5: incoming VoIP calls weren’t working, either. The connection died in the middle of a Playback instruction. I tried changing codecs, restarting Asterisk, and even rebooting, all without success. My frustration level was rising. Quickly. At this point, almost nothing was working right–POTS was dead, and incoming VoIP calls only worked right if I answered the phone. I took a break, put the kids to bed, and resisted the urge to scream. I mean, I debug problems like this for a living, which means that I really hate to do it at home.
So I spent a minute thinking–it was really weird that rebooting didn’t fix the VoIP Voicemail problem. I’d tested it earlier in the day, and it had worked after the upgrade to CVS Asterisk. And I hadn’t changed any other software since then. I rebooted again, and this time the X101P PCI VoIP card disappeared completely. Asterisk wouldn’t even start now–my config files are sprinkled with references to this card, and Asterisk was aborting with “can’t find card” errors. So I thought a bit more and came up with a new theory–when I’d pulled the box out to install more RAM, maybe I’d pulled on the phone cable that goes into the X101P a bit too hard, and the card had popped partway out of the slot. It’s easy to test, so I shut the server down again, slid it out from under the desk, popped the PCI card out, checked it for obvious problems, and put it back in firmly. I then plugged everything back in, rebooted, and discovered that everything was working perfectly. POTS worked, incoming voicemail worked via POTS or VoIP, outgoing VoIP calls worked.
I checked again this morning, and everything’s still working fine.
So, did I really pull the card halfway out, or was yesterday’s Asterisk CVS tree just really unstable? And what sort of person goes through this just to save $15 per month on phone calls? And speaking of that–if I’d had a second VoIP provider set up, then I could have shunted calls to them when outgoing calls to NuFone failed, and I would have been able to avoid part of the mess. Hey, yeah, and I still need to finish the Asterisk-caller-ID-on-MythTV project, so I can see who’s calling on the TV while I’m watching movies. Oohh, and my shiny new internal PCI ADSL card is supposed to ship soon. And I need to mod an Xbox so I can run MythTV on it downstairs…
I guess that should answer the “what sort of person” question. A person with incurable gadget lust. I’m getting better. Really.
Posted in Asterisk | Tags asterisk, broken, ilbc, nufone, upgrade | 3 comments
Posted by Scott Laird
Sat, 22 Jan 2005 16:22:18 GMT
I feel like I’m finally entering the third act of my DSL upgrade drama. This started over a year ago when I realized that I really wanted faster service then the 768/128 link that I’m paying $80/month for right now. Last June, I asked Verizon to turn up my DSL’s speed, with predictable results–they ran around in circles for over a month, with different departments giving me different answers, ranging from “we already turned it up” to “we lost the order” to “we can’t do that, you need to cancel DSL, wait for it to go dead, and then re-order.”
Amazingly enough, the “you need to cancel” camp was correct–Verizon is unable to increase the speed of my current DSL setup. I played as many cards as I could, pulled the few strings that I have inside of Verizon, had off-the-record conversations with installers, and concluded that I had three choices:
- Put up with my current service, as slow and expensive as it it.
- Cancel DSL, wait two weeks, and re-order.
- Order a second phone line, wait for them to install it, then order DSL on it, then cancel the old line and DSL.
I looked into cable modems, but there’s no way to get a static IP address out of Comcast around here, and I need to run a number of servers. I considered moving my mail, web, and Asterisk servers off onto a hosted system somewhere–that’d let me use Comcast with a dynamic IP, but the cost and complexity of it all just makes it impractical.
So, yesterday, I finally decided to go with plan #3. I ordered a new phone line. It ends up costing me $29 to get it installed and $20/month. Hopefully I won’t have to carry both lines for more then a month. It’s supposed to be up on February 2nd; as soon as that happens, I’m ordering new 1.5/384 DSL service on the line. I’ll cancel the old DSL the same day that the new one comes up–I just need to swing DNS over to the new IP and then wait for a few short timeouts. So, hopefully, this whole saga won’t cost me more then $100 up front. The nice thing is that it’ll end up saving me a few bucks in the long term–with 3x the upstream bandwidth, I can move more phone services over to VoIP, so I can turn off more features on the phone line. That could save me almost $10/month. It’s not a lot of money, but every bit helps sometimes. Besides, it’s mostly the principle of the thing.
Posted in Computer Networking | Tags dsl, home, upgrade, verizon | no comments
Posted by Scott Laird
Wed, 01 Sep 2004 16:27:00 GMT
I installed Movable Type when I first started this blog, but I’ve been itching to change for months. A small part of that itch is Movable Type’s new pricing model, but it’s really more then that. I have a number of needs that MT isn’t really filling, and I’d like to move to something that works better for me.
The big problem is that I can’t find anything that’s quite right. I looked at Drupal for a while, but there are a few things with it that I just couldn’t cope with:
- It’s a much bigger system then I really need, with a lot of complexity.
- It’s written in PHP. If I could treat it as a black box, I wouldn’t really care, but I couldn’t because…
- It’s essentially hard-coded to need MySQL. In theory, it’ll work with PostgreSQL, but I fought with it for days without actually getting it to work. There were a number of deeply-embedded MySQLisms in the code that I just couldn’t fix, even after digging into the code for a while.
- PHP’s SQL code is too scary to look at. While the core of Drupal goes to great lengths to prevent SQL injection attacks, a number of add-in modules looked pretty clueless. In addition, all of the SQL code is built up using
command = 'insert into foo (a,b) values ("'+value1+'","'+value2'");'-style commands, which are inherently ugly and prone to problems. I really prefer the Perl (and Ruby) DBI version: insert into foo (a,b) values (?,?), where you provide value1 and value2 as parameters to the DBI execute function.
- Template modifications are a royal pain compared to MT. Out of the box, all of the templates used HTML tables, unlike MT’s clean CSS-only templates.
Now, if I was setting up a big community site, none of these would really matter to me. I could spend a couple weeks on templates. Heck, I’d expect to spend a while tweaking things until they worked right for me. If I was doing this from a corporate perspective, I could just hire someone with experience in Drupal, like Bryght. But I’m not building a big community site, and I’m not willing to pay someone to do it for me. I’m largely doing this for the fun of it, and Drupal doesn’t seem to be a lot of fun.
So I’m back looking again. MT has cleaned up their prices, so I could just install MT 3.1 and be done with it. It wouldn’t be a lot of work to upgrade, and there’d be a handful of benefits, but it still wouldn’t give me an HTML photo gallery or a decent interface for static non-blog pages.
I’m fighting off the urge to use Rails to write a blogging system for myself. Hopefully, if I fight off the urge long enough, then someone else will do it for me, and I can just take their framework and adapt it to my needs. One can always hope :-).
Posted in Blog stuff | Tags blog, broken, drupal, movabletype, rails, upgrade