(Warning, long rant ahead) This weekend I dropped SBC and got Charter net access. Turns out my apartment was not on the line assigned to me, which warranted a service call to get it working, but that is outside the scope of this discussion.
I currently use a Linksys WRT54G as my border router, which worked fine with SBC. But when I plugged it into the cable modem, it would not get an IP address. So I plugged my linux laptop in and ran dhcpcd, again, nothing. However, when I plugged in my Windows box, it would get an IP address. Then unplugging the windows box, plugging in the linksys, and cloning the windows box's MAC address would then work. So then I reset my cable modem and we were back to square 1, despite the MAC address still being cloned. A little background about DHCP: "Normal" operation dictates that the client broadcast a Discover packet, then the server sends an Offer directly to the client with the ip address being assigned. The client sends a Request to the server with that offered ip address, and the server responds with an ACK. However, there is a flag in the DHCP packet that can be set that says all communications should be done via broadcast. IE, the Discover, Offer, Request, and ACK packets are all addressed to ff:ff:ff:ff:ff:ff. That's the key. I don't know everything about Charter's network, but this is what I deduce from playing with Ethereal for an hour or so. Charter does "authentication" via DHCP. In an "unauthenticated" state, the only thing that the modem sees is ARPs and DHCP broadcasts. Everything else is filtered. However, once you are "authenticated" by grabbing an IP address, you are able to receive unicast traffic. That makes the broadcast bit in the DHCP packet essential. If the client requests a unicast reply, it will never see it. Looking at Ethereal dumps, it appears that my Linksys box does not set the DHCP broadcast bit. Neither does dhcpcd in its default mode (this can be changed by doing "dhcpcd -B eth0", at which time it works fine with linux). Windows's default mode is to set the DHCP broadcast bit. Unfortunately, it looks like the Linksys box does not have an option to set that bit. But, you may ask (more likely, you've stopped reading by this poing :), why is the linksys box able to get an IP address after the Windows box (or Linux with the -B option set in dhcpcd) gets and IP address first? Well, the "tunnel" is already up; the modem is now receiving unicast packets. The linksys box sends a DHCP Request, requesting a unicast reply. And Charter's DHCP server sends a unicast reply. And all is good. So what does a person like me do given this situation. Several things can be done: 1. Use Windows for the router. 2. Use Linux for the router, specifying the -B option to dhcpcd. 3. Use Linksys for the router, but doing #1 or #2 first to bootstrap the process. 4. Try to get ahold of an engineer at Linksys and suggest the ability to set a config option to specify what mode the dhcp client should use, broadcast or unicast. For now, I'm doing #3 and #4. That being said, what do the rest of you do? Does only the WRT54G do this? Did you just give up on using Linksys products with Charter? Is Charter's behaviour in this manner specific to my segment? Tell me your story, Charter users... Oh, and BTW, the performance seems good. Sunday evening and I'm getting about 750/115 on a 768/128k account, according to dslreports.com. YMMV. RF _______________________________________________ RLUG mailing list [EMAIL PROTECTED] http://www.rlug.org/mailman/listinfo/rlug
