Technology: August 2010 Archives
Wireless networking and DHCP aren't complicated. They ought to work every time, but they don't.
I recently spent a couple of weeks in what was built as a Residence Inn (separate buildings, with eight suites in each) and is now affiliated with a different national chain. Nice place, good price, quiet, and the staff is friendly.
They provide wireless internet with a DSL modem and a wireless router in each of the buildings, each router with its own SSID. I could usually see four or five when I looked for available networks. I never could connect to the internet through the router in my own building, despite the fact that it was right behind the bed's headboard.
When you connect to the internet via wifi, there are three main things that happen. (This is, of course, an oversimplification.) The first is the computer and the router make a connection on a certain radio frequency using a particular signal protocol (some variety of IEEE 802.11). Once you've made this connection, it's just like you plugged an Ethernet cable into your computer.
The second thing that has to happen is the router has to give your computer an IP (Internet Protocol) address. That's four numbers between 1 and 254, separated by periods, e.g. 192.168.1.55. Without an IP address, you can't do much -- the protocols your computer uses to send web requests and receive web pages (HTTP) and to send and receive email (SMTP, POP, IMAP) all use IP addresses to get data where it needs to go.
Once upon a time, you had to change your IP address manually (and reboot, usually) every time you connected to a new network. (Tools like Netswitcher were a godsend.) Nowadays, when you connect your computer to a network (whether wired or wireless), your computer sends out a request for an IP address and an IP-address-giver-outer (known as a DHCP server; this task is usually handled by the router) responds with an address that isn't already in use. At least that's the way it's supposed to work.
But your computer probably doesn't know the IP addresses for your favorite websites, and that brings us to the third essential step: Getting the IP address of a computer, called a DNS server, that can translate computer names (like www.batesline.com) to numbers. In the early days of the internet, when the number of connected computers were relatively small, each computer on the net had a long file (/etc/hosts) with a list of names and IP addresses, a list that had to be updated by hand every time a new computer was added or an IP address or host name changed. DNS -- Domain Name Service -- was developed to handle all this automatically. When you connect to a network, the router not only assigns your computer an IP address, it tells your computer the IP addresses of two or three DNS servers.
In a dream world, all three things happen automagically behind the scenes, and within seconds of connecting, you're ready to surf. Lately, though, I connect to a wireless network and almost as often as not, I get the dreaded "Limited or no connectivity" error. This means that even though my computer and the router are on speaking terms, the router has not seen fit to give my computer an IP address. Instead, Windows assigns a fake address that does no good.
During my business trips, I connect to a lot of different networks -- at the hotel, at the job site, at coffeehouses and restaurants. I would consistently get an IP address on some networks and would consistently get the "limited or no connectivity" error on others. Lately the problem seems to happen more often than it used to. I've looked for solutions on the internet, but no one seems to know what causes this to occur. The suggested courses of action seem like snake oil or folk remedies. If some tactic did work for someone, nobody can explain why it worked. The problem continues to exist even for Windows 7 users.
As I mentioned, the nearest router at the hotel was behind my headboard, and the front desk gave me their blessing to cycle power and see if that helped. It didn't.
So consider this a cry for help. Few things are more frustrating than getting settled in with a cup of coffee and discovering that you can't connect to the coffeehouse's wifi. Or having to settle for a low-speed, weak, distant connection, because the five-bar signal across the room won't assign an IP address.
I'd welcome any suggestions.