I like reading The Boston Diaries–my friend Conman’s blog (damn, I still hate that word!)–but find that a lot of the more technical information in it is way over my head. This owes largely to the fact that Conman is a highly experienced and very talented programmer and network architect; because I hope to absorb even a tiny bit of his vast network experience, I read all of his articles and exercise my brain muscle.
Conman once told me that he doesn’t necessarily post because his articles are interesting to his readers; rather, his articles are more or less a reference notebook for himself–that just so happens to come in the shape of a Blog. Some people use a Moleskine. Conman uses a Blog. Makes sense. Plus, you can’t Google a Moleskine. Yet.
Sometimes Conman’s more technical entries serve to guide other developers and network administrators, because Comnan is always tackling some very obscure problem or another. Conman also posts his problems, and their subsequent solutions, in very great detail–which is perfect for those who search the vast Intrawebs for the solutions to obscure problems. That Conman writes very well and has a sharp wit is a very big plus.
Anyway, I hope the search spiders pick this article up too, because this problem really drove me bananas until I figured out what was going on.
My home network consists of several PCs and computing devices, representing today’s modern family: A Windows 2003 Server, acting as Domain Controller, serving up files, DNS, and DHCP; a desktop and laptop for me, a family PC in the kitchen, a Wi-Fi laptop for my daughter, and, when he’s home from college, a Wi-Fi laptop for my teenage stepson. Additionally, we have an XBOX 360 for my teenage stepson (when he’s home from college), and a Nintendo Wii for everyone else, both of which connect to the LAN via Wi-Fi. Two recent additions are an old–but serviceable–Dell desktop in the bedroom that is destined to be a home-theater media server,and my BlackBerry Storm 2. Lastly, I have an HP OfficeJet 6500 Wi-Fi all-in-one paper handler to round out the network.
Recently, I switched from AT&T DSL to Comcast Cable Broadband. I used to have a Westell VersaLink Residential DSL gateway/router/Wi-Fi Access Point, but replaced it with my Motorola SurfBoard SB5101 Cable Modem, coupled to a Netgear WGT624 v3 broadband Wi-Fi switching router, which I happened to have from a previous address when I had cable broadband before, downstream.
Netgear WGT624 v3
The WGT624 v3 is a pretty nice little access point; however, the last time I’d employed it, it was in a small apartment, and then only had my desktop wired to it, and my laptop WI-Fi’d to it. My network has grown quite a bit since then.
The VersaLink from AT&T handled everything just fine and then some. It was as customizable as I needed it to be, even when I did fancy stuff like route VNC to my desktop at home so I could use it remotely. The WGT624 is no different and handles custom routing easily. But the one little gotcha that had me up for two days tearing my hair out was DHCP.
(click here for a newbie’s introduction to DHCP)
The little micro DHCP servers typically found in home broadband routers only serve up three things: IP addresses, gateways and DNS. Because I have a Windows Active Directory domain at home, I prefer to use my own server for DHCP and DNS; this gives me far greater flexibility over stuff like lease times, DNS servers (Windows Active Directory is heavily dependent on DNS, particularly a local DNS server), NTP servers, and WINS servers (yes, I still use WINS; if you use Windows, WINS is a sad fact of life).
On my Westell VersaLink, this was not a problem; I simply disabled its DHCP server and was on my merry way. However, when I attempted the same thing on my WGT624 v3 broadband router, I exposed a flaw in the unit’s firmware.
Out of the many devices I have on my network, only three are actually wired to it–the rest are all wireless clients. When I sunset my VersaLink and put up the WGT624 in its place, I was careful to keep the SSID, encryption, and passphrase all the same so that I wouldn’t have to run around the house reconfiguring everybody.
While the two wired DHCP client PCs were getting IP address leases from my Windows 2003 DHCP server, none of my wireless clients were.
I tried everything to troubleshoot the problem. I updated the router’s firmware. I turned off wireless encryption. I changed channels. I changed fragmentation thresholds and preamble settings. No matter what I tried, when the WGT624’s internal DHCP server was on, it would pass out addresses to my wireless clients. When it was disabled, none of my wireless clients were getting address leases from my normal DHCP server. If I hard-coded IP information into my wireless clients, they’d work perfectly–which meant that they were connected to the access point just fine. They just weren’t getting an IP address.
It was as if the router were simply not passing the DHCP broadcasts to the rest of the LAN–but that was impossible; this would be the first Wi-Fi access point switch in my years of networking experience that flatly refused to pass along DHCP requests to the rest of the LAN segment.
Out of ideas, I started this thread on the Netgear forums, hoping another Netgear user may have encountered this rather bizarre issue before me.
I finally stumbled across this page on Netgear’s site that has nothing to do with DHCP as it relates to the WGT624, but rather with using the WGT624 as a plain ol’ Wi-Fi access point on an existing Ethernet segment. It says, in little text as a footnote to the article:
DHCP configuration may not work reliably because the wireless router/access point may not correctly relay DHCP information from the router. Workaround: Use static IPs on the wireless PCs.
You’ve got to be kidding.
Then the thread bore fruit: one of the contributors hypothesized with me that it must be an unresolved bug in the firmware.
So rather than fix the problem, Netgear decided rather to fix the WGT624 DHCP problem the military way: “work around it instead of work through it.” What network administrator in their right mind is going to put up with hard-coding IP information for wireless clients!? Especially given how very inexpensive and competitive Wi-Fi access point/broadband routers have become?
Here’s how I solved the problem: I bought a Linksys WRT54G2 Wireless-G Broadband Router. It was less than fifty bucks, and it passes DHCP requests like a champ.
Also, as part of the solution, I will consider carefully buying another Netgear product in the future.