Editor's Note: Tech Triangulation and Linux
Shades of BrazilIn this week's .comment, Dennis Powell recounts a Linux/cable modem nightmare that I will not even attempt to top. It's a good read, full of the sort of pathos we're all familiar with when it comes to making our beloved Linux machines get along with a world that isn't quite convinced of our legitimacy (or market share). Reading his account, though, took me back to my own broadband tribulations:
I like to collect Linux misinformation. Like the coworker who once told me Linux was an older version of UNIX that crashes if you try to use it to look at graphics, or as a web server.
Tech triangulation is a simple procedure. You just figure out what you want to know, call the support line three times (making sure you get a different technician each time) and ask your questions. If you're lucky, they all agree with each other. If not, go with the majority unless two of them are clearly dim bulbs and the third is a compulsive "Linux mentioner" who's looking for his crack at moving off the help desk by antagonizing random customers with comments like "It's supposed to work that way, but I don't know... I run, uhhh, Linux."
With DSL, the big concern is the protocol your machine uses to talk to the provider. In many cases, the DSL modem just plugs into the wall, you plug your NIC into the modem, and you're golden. Well, as golden as it gets. In other cases, ISP's are going with PPP Over Ethernet (pppoe), in which case it isn't quite as straightforward a proposition: your machine has to negotiate a PPP connection via an ethernet interface using CHAP or PAP for authentication. My ISP uses both at random.
Thanks to the folks at Roaring Penguin, pppoe is fairly well supported under Linux. People with RPM-based distros can download the binary, install it, run a configuration script, and off they go. Others will find compiling from source simple enough, and the RPM is distro agnostic enough that it's a good candidate for alien. Roaring Penguin even provides rudimentary firewalling scripts that are strict enough to keep you safe for a while until you figure out what you're doing.
So I called the tech people at the ISP three times, and found myself thinking of Terry Gilliam's Brazil. The tech support people were the duct maintainers at Central Services, I was Sam, and there were no renegade plumbers coming down on rappelling lines anytime soon.
The first call ended quickly: "If you attempt to run Linux with this, it won't work. You'll forfeit your deposit, too. And your hair will fall out."
The second was a little better: "You can run Linux with our service, but if the installer sees Linux on your machine, he'll leave. You'll forfeit your deposit. Your hair won't fall out, but I can't guarantee that. I wasn't here. I didn't say this."
The third was best: "We have Linux talking to the service in our lab... it works great. You can download a pppoe client for your machine, but you'll have to look it up on Google. The installers don't mind dual-boot machines, but have it booted into Windows in case you get a belligerent one. Oh... I wasn't here. I didn't say this."
So, armed with the knowledge that it could at least work, I placed my order (with a clerk who made me affirm that I had no intention whatsoever of attempting to use the service with anything other than Windows 95 or 98), and waited for the installation.
The day the installer arrived, I was in high spirits. I'd had the box of DSL goodies the ISP had sent out for a week, already installed the NIC that came with it, and had the DSL modem unpacked and ready. At the time, I had a small Windows partition I'd booted into to keep the installer from walking out on me.
Over the course of the two-hour installation, I learned a lot from the installer while I tried to pump him for information about how the service worked once a connection had been negotiated.
Linux, it turns out, is "DHCP based, which is incompatible with TCP." Furthermore, Linux "doesn't have the power to handle the fastest connections." Oh, he allowed, it might cope with a 384k connection, but the 1.5 meg service I'd ordered would slaughter it.
"Funny," I said, "I write about Linux and I was never aware of this limitation."
"Oh, yeah," he replied, "Linux is like that. Of course, it's been about ten years since I used it, but it can't be any better. It's just sorta built like that. You wouldn't be able to surf the web with it anyhow... it can't handle graphics. That's why I'm Microsoft certified now... I'm one of a special group that got to beta test Windows 98 for free!"
"Oh... so, I guess I can't boot into Linux to use the service?"
"Naw. I could make it work for you, but it ain't worth your time. I install it for kids at the university sometimes, but I have no idea what they think they're gonna use it for. It'll just crash when they try to surf the web."
"No browser anyhow, right?"
The software provided to connect under Windows was truly ugly, by the way. A clunky "control panel" that dominated a healthy chunk of the display and seemed to barf and require a reset of the DSL modem the first three times. Furthermore, because the customer might be disturbed at the thought there was something besides a fast dial-up at work, it used on-screen information that implied it was actually dialing a phone.
"There ya go... Lemme show ya!" the installer exclaimed when it was done installing.
He had me point the browser at a download site where I was told to download a Quake demo. It wasn't so fast the first time, but he wasn't going to leave until he'd demonstrated just how fast the connection was. I could have told him to leave, but that would mean that he couldn't complete the special checklist, which would mean if he screwed up the installation I wouldn't get my deposit back and I'd have to pay service charges to fix it. I was in his thrall. I tried to see where on the list it said "Download Quake," but he wouldn't let me look long enough.
Three attempts later, he was happy. I had a Quake demo plus two partial Quake copies to keep me company. Then he installed a graphical traceroute tool to show me how fast the pingtimes were. It locked the box up hard three times, so we sat staring at the computer while it ran checkdisk each time, him refusing to leave until I could see the graphical traceroutes for myself. I breathed a silent prayer of thanks the fourth time, when it worked. It reported Slashdot as being somewhere off the coast of South America... but it worked. I told him Slashdot was run by Brazilians, so he felt comfortable leaving.
After he left, I sat down to the machine, booted into Linux, quietly fdisked the Windows partition and my three Quake downloads into oblivion, and fired up the pppoe client.
Worked out of the box.
I still have all my hair.
Want to discuss this article with other members of the Linux community? Then head over to the Linux Today discussion of this article.