Sunday morning, my connection through Comcast was still down. Since I hadn't started talking to anybody yet, I figured that it was a good time to move the cell phone connection over to the router/NAT laptop so that all my machines could share the cell phone connection, instead of having to fire up what's nominally my work laptop (it belongs to me but I use it for work things) which doesn't have all my usual clients installed on it.
Windows used to be able to open a terminal window and show you everything that happened with a modem as it was dialing in to make a PPP connection. Well, with XP, there are checkboxes for terminal windows in two different places. One will show you everything that happens after the modem connects; the other will show you everything that happens before it sends the dial command. This is very frustrating if you're trying to see the dial command itself. The phone number for the Nextel is "S=2" and "ATDTS=2" sounds a bit off as a dial command. I gave up on that and decided to just try it and see.
On the router/NAT laptop I set up a pppd script and a chat script. Unfortunately, they wouldn't talk to the phone. At all. I dug out my LED serial breakout box and discovered that, lo and behold, there were no signals coming from the serial port on the docking station. For comparison, I hooked the cell phone back up to the work laptop and observed the expected LED behavior. At that point, I said to myself, "Nothing about this docking station has worked except the power supply. Maybe I should just ditch the docking station." I started down that path, then realized that the laptop's power connector is Unlike Anything Else In The Known World, and I didn't have a brick for it.
All right, I said. I'll just move everything over to the TI laptop. I know the serial port on it works. So I dissected the Thinkpad, removing the Compact Flash "hard disk", and put it into the TI. I plugged the TI in, pressed the power switch, and... nothing happened. I knew that the brick was supplying power, the TI's batteries have LED displays on the front and they said that the batteries were charging. But nothing continued to happened when I pressed the power button, no matter how many times I pressed it or how long I held it down.
That was probably the point at which I started bleeding from the ears.
OK, I said. Fine. The router/NAT doesn't have to be a laptop, right? I just wanted something that runs cool, and I used a laptop because it was handy and seemed like a cool idea. I can just grab one of the low-profile Dell desktops out of my closet, throw in a second ethernet card, and use that. Right? Right.
Procured said Dell desktop. Hooked it up. First problem: I can't get into the BIOS to turn off unneeded onboard peripherals. I couldn't tell whether it was because I was misremembering the setup key, or because the funky wireless keyboard was unable to transmit a multi-key combo including Insert (which requires holding down a Fn key a la a laptop) properly, and of course I couldn't look it up without a net connection. OK, fine, they probably won't cause a problem anyway. After moving the "hard disk" yet again, it booted fine on the Dell.
Procured an ISA ethernet card from the closet. The connection to the cable modem doesn't really need more than ten megabits. I picked a nice old Digital DE201; they have very large buffers and are fast cards.
They also aren't supported in the NetBSD GENERIC kernel, and I can't compile a custom kernel until I get the fileserver up.
Fine. Picked a different ISA ethernet card. This one was supported. However, it has three connectors (coax, AUI, and twisted pair) but the driver only supports switching between coax and AUI. Luckily, when set to AUI, the card will autosense when a twisted-pair connection is made and switch to it. Finally.
OK. After a few more config file tweaks, I was at the point where the new machine was equivalent to the old machine. Now it was time to try adding the cell phone again. First, I wanted to see if I could just make a terminal connection to the phone and do an AT and get an OK back. Sadly, Unixes still don't come with a real terminal emulator like Kermit, which meant that I had to set up tip, which is about as crude as it gets. After perusing the man page, I was able to create a config file for it. I tried connecting to my laptop first, but Hyperterminal is retarded and can't really deal with a direct machine-to-machine connection, so I gave up on that and just tried talking to the phone. Somewhere around there I discovered that one of the serial cables I was using was secretly a null modem cable, which wasn't helping anything.
Anyway, I finally was able to talk to the phone. I tried the suspicious ATDTS=2 and amazingly enough it started giving me PPP connection attempts, so as dodgy as it looked it was obviously the correct dialing command. Tried cranking up pppd again, and it... connected! The world was mine! I created a NAT config file for the cell phone connection and plugged it in, and the world was shared!
Shut pppd down, came back a few minutes later, and it wouldn't connect anymore. It kept complaining that the modem was hanging up on it, and through the LED breakout box I could see that CD was going low. Weird, that, and I had no idea why it hadn't happened the first time. A bit of poking through the pppd man page revealed unto me the "local" config command, which causes pppd to ignore the modem control lines. Put that in and now it connected every time.
And that, boys and girls, is the story of how Auntie Chandra became able to switch on the fly between Comcast and Nextel. It's nowhere near as cool as tugrik's Stompbox, but it was good enough for me. I celebrated by having breakfast.