Kasperian Moving Parts

kinda like Batman, but with a wife and 3 kids

Spice Up Your Router (or Charter and Linksys can bite me!)

I had THE most frustrating day yesterday. After a hellish night of not sleeping (darned cold!!), I wake up to find that my internet connection is totally borked. Looked at the router’s status page and it can’t get a DHCP address from my lovely ISP, Charter.net. Spent an hour on the phone with Charter’s completely unhelpful people. The guy actually said “gee, it’s kind of funny that you’re calling in with a Linksys router that isn’t able to get an IP address today–we’ve had a lot of Linksys router users call us today and tell us that.” I asked him if he didn’t think that that might be an indication of a problem in Charter’s setup and that it might be a non-coincidence that today, a bunch of Linksys-router-using people are calling?? He actually had the audacity to tell me that he thought it was Linksys’s fault… that maybe they pushed a firmware update out (HUH?!?! I have to flash my router to upgrade its firmware, dork), or maybe there’s just a bunch of Linksys routers that went belly-up on the same night (again, HUH?!?!?).

He tells me that since we can connect the Powerbook straight to the cable modem and it can get an IP address, that there’s something wrong with the Linksys router and that I will have to call Linksys for help. He says that Charter does not support any of its customers using routers at home. That’s cute. Like, you know… everyone just has one computer at home nowadays… ya dork! Now, I’ve not touched a thing on the cable modem or router in the 2 years that it’s been in my basement working fine with Charter, so I know for certain that I’ve not done anything to change things and that it must be something in Charter’s network that’s changed. The rude little Charter guy insisted that he was as high I could go for technical support and that customers weren’t allowed to talk to the network technicians. I didn’t but should have told him to bite me.

Oh, and the beauty of this is that I have Vonage for our phone provider, which means that the above conversation and the next one happened via cell phone. And the beauty of having a conversation from my house on a cell phone is that I live in the middle of a stinking forest and I get one bar of reception, if I’m lucky. So that makes for a nice, easy to understand phone call, especially when you’re talking… oh, I don’t know… to a very heavily-accented outsourced Indian support person.

So I hang up from the stupid Charter guy (I really hate Charter… did I mention that?) and call Linksys’s technical support number and start talking with a very heavily-accented outsourced Indian support person over my 1-bar cell phone connection in the middle of a stinking forest. She has a nice chat with me for a good half hour and asks me all kinds of questions about my home network and how many computers I have and how many of them are Windows (0), Mac (1), and Linux (5). Then she tells me that because my router is so old, she’s going to have to charge me $33 for helping me with it because it’s no longer covered under free technical support. So… just to clarify… because I paid $80 for a WRT54GS router 5 years ago and it’s still kicking strong, instead of… oh, I don’t know… a note of thanks or congratulations, I get a bill for $33 for her to help me get it working with Charter again. I told her that there’s no way in hell that I’m going to pay $33 for her help, which quickly led to the conclusion of that waste of a phone call. Unfortunately, seeing such amazingly awesome customer service by the likes of Moleskine and even Apple makes such patently horrific customer service as this really stand out. =:( Nice work, Linksys. I’ll be thinking more than twice about purchasing one of your products in the future.

Meanwhile, it’s like noon now and I’ve not yet been able to start work. That’s nice.

So after showering, eating, etc. I run up to the nearest Circuit City and plop down $49 for a new Linksys WRT54G2 wireless-G router, get it home, and connect it–foolishly thinking that it’ll work. Nope, same thing. About 10 minutes into my “Serenity now!!!” mental breakdown, I tried using the “MAC address clone” trick on the router. Sure enough, I entered in my Powerbook’s en0 MAC address and like magic, the new router is able to get an IP address from Charter’s DHCP servers. I run downstairs, pull the new router out, put the old WRT54GS back in, spend the next 10 minutes reconfiguring it and tell it to use the Powerbook’s MAC address, and sure enough, now it is able to get an IP address too. Needless to say, I’m taking the new router back and sticking with my old WRT54GS, thank you very much.

Gee, isn’t that a coincidence. Yep, there just must be a lot of people whose Linksys routers have died on them in the same day, ya moron.

What I think happened is that Charter rolled something out 2 nights ago so that their DHCP servers would stop handing out IP addresses to Linksys routers. Of course, Charter won’t admit to that.

So, now that I’ve officially been told by Linksys that they’re not going to lift a finger to help me if I have any problems with their router, I find this little lifehacker page that talks about upgrading your $60 router to a $600 router. I’d looked at the DD-WRT project before, but I was always a little nervous about bricking my router and having to go buy another one. With that fear now nicely removed, I figured that now’s a good time to see what DD-WRT can do. And DANG, I’m glad I did. There is so much more that I can configure with the DD-WRT interface than I ever could with the old Linksys interface. And the Web UI is so much more responsive! I’m totally impressed with it.

So, to sum up:

  • Charter: you can totally bite me. As soon as I find another internet provider, you’re dumped like last week’s trash.
  • Linksys: your products used to be totally awesome and then you outsourced your customer support, which means you might be saving money, but your customers are getting much less desirable support, at least as far as I’m concerned. You can sort of bite me.
  • DD-WRT project: you guys totally rock.
  • Forest that I live in: you rock except for making living with cell phones not fun.
  • Not being able to start work until 4:30 pm because of all this: you TOTALLY suck. =:(

60 Replies to “Spice Up Your Router (or Charter and Linksys can bite me!)”

  • Charter actually works fine with Linksys routers. Unfortunately, they blacklist routers that try to connect too often.

    You could try upgrading to a DPC3010, or you could use a third-party firmware like dd-wrt and manually correect the settings listed below.

    Obviously, you shouldn’t *have* to do that. I’m not defending Charter’s policy of 5 attempts/3 minutes. I’m simply trying to give people a resolution if they run into this problem.

    Details:
    The root cause of the problem is that Charter’s DHCP server stops communicating with any DHCP client that attempts 5 communications in a 3 minute window. Once blacklisted, devices are not able to communicate with the DHCP server until there has been 3 minutes of inactivity. However, Tomato’s default behavior is to try 5 communications per attempt, and to try more frequently than every 3 minutes to connect.

    When making the connection, some cable modems appear to establish the upstream connection before the downstream is fully established. This allows packets to travel FROM the router but not back TO the router. When the Tomato router attempts to get its IP address, the packets TO the DHCP server are received, but the responses are not. This causes Tomato to retry over and over, getting itself blacklisted. Once blacklisted, Tomato attempts often enough to stay blacklisted.

    When power is applied simultaneously (power comes back) to the cablemodem and router, certain cable modems startup at the same time as the Tomato router. This means that Tomato has a timing condition where (after a power outage), it gets itself blacklisted and will not obtain internet access without manual intervention. However, other cable modem models appear to startup much more quickly (or establish upload/download at the same time), and are not affected by the issue.

    From a Charter Rep:
    The amount of time that it takes to reestablish a connection makes me think we could have a DHCP denial issue. This is where something from the customer’s end is requesting an IP address from our DHCP servers more than 5 times in 3 minutes. The culprit of these issues is a router about 95% of the time. When this happens, your service is temporarily blocked. To fix it, the server has to be clear of all requests for 3 minutes. We usually accomplish this by unplugging modem and router for that time.

    Fix:
    The fix is to reconfigure udhcpc to try fewer times and to wait longer between attempts. This prevents the router from being blacklisted. This is achieved by passing “–retries=2 –timeout=5 –tryagain=310” to udhcpc.

    Workaround:
    The issue can be worked around by unplugging the Tomato router for 5 minutes, and then plugging it back in. Alternatively, you can power on the cable modem fully before starting the router.

    Reproduced this issue on a WRT54GL with the following cablemodems:
    Motorola SB 5100
    Ambit U10C018.80

    Issue did not exist with a WRT54GL the following cablemodems:
    Cisco DPC3010

  • Mr Kaspar has a way with words! Enjoyed the read!

    I have two WRT54 routers, a v1.1 flashed to an old beta of DD-WRT, and a v3 running stock. Just today yesterday got a Charter connection, with a loaned / rented Ambit U10CO80.60 modem until I get something to replace it – a cheap Moto SB5100 was unable to connect during the initial setup for the tech, so he left me the Ambit.

    Tried hooking both WRT’s WAN port to the Ambit, but no dice. Am looking to solve it.

  • john karns:

    Did you see my comment? Both of those modems have known timing issues with Tomato (and likely dd-wrt, since they both use busybox’s dhcpc).

    You can either:
    1) Power up the modem first, giving it a couple minutes to come online, THEN power up the router OR
    2) Reconfigure dhcpc as described in my post above.

    (my post on Jan 8 describes exactly why you’re having issues)

  • Yes, in fact I did see your comment about the issue. I may yet get around to trying one or both of your suggestions, but my first try was to clone the laptop MAC address on the Linksys, which was suggested in a posted comment, and it worked like a charm!

  • Lothsahn wrote:
    The fix is to reconfigure udhcpc to try fewer times and to wait longer between attempts. This prevents the router from being blacklisted. This is achieved by passing “–retries=2 –timeout=5 –tryagain=310″ to udhcpc.

    OK – for us non-software types, how do I pass those parameters on to udhcpc? I’ve been trying to find what the commands are and the proper syntax, but the FAQ’s don’t seem to go over any of this. I see where I can execute scripts – if this is the correct place to pass these parameters, would you mind writing out what the command line looks like?

    Thanks!

  • Rich:

    Are you using dd-wrt or Tomato? For tomato, you do the following:
    1) Upgrade to Tomato 1.28 (preferably tomato-usb). There is a DHCP fix in Tomato 1.28 that is essential with regards to DHCP broadcast packets.
    2) Login to Tomato
    3) Go to advanced
    4) Go to DHCP / DNS
    5) Under DHCPC Options, put the following:
    –retries=2 –timeout=5 –tryagain=310
    (Note: this causes the router to only try to get an address twice, timeout after 5 seconds, and wait 5 minutes between attempts. On Charter, you could lower the –tryagain to 3 minutes, if you wanted, but I’ve set it to 5 to be safe)
    6) Click save

  • Lothsahn:

    I am running Tomato 1.28 on a Linksys WRT54G, version 1.1

    I went to the DHCP/DNS area under Advanced, but do not see any DHCPC options.

    There is a text entry box for Dnsmasq – the only place that I can “type in” parameters. Is this the proper place, or am I missing something?

    Thanks,

    Rich

  • Rich,

    WARNING: DO NOT INSTALL TOMATO-USB ON YOUR ROUTER. IT WILL BRICK A WRT54Gv1.1.

    No, you’re missing something. Apparently tomato-usb adds the DHCPC options, but they’re not in tomato stock. Without that box, you’re going to have a very hard time resolving this issue…

    I just checked stock tomato and that option is definitely not present.

    Now, as for bricking your router–tomato-usb uses the broadcom ND (new driver). This driver fixes a number of issues, but it requires later versions of the WRT54G. Version 1.1 is a very old version, and it will likely brick your router.

    I believe I can help you get it fixed, but it will involve disabling DHCP and scripting it manually through the startup scripts in Tomato. It shouldn’t be terribly hard, but I’d like to walk you through it over the phone.

    Please contact me at my email address. It’s my forum name at yahoo. I’ll give you a call and we can try to resolve it.

  • By any chance you could tell me what options you have changed for your linksys ddwrt to work with Charter?

    I know You have to changed to Automatic DCHP or whatever it is called which is on the front page of 192.168.1.1 page.
    I know you have to clone Mac Address.

    After that I am not sure what other options to pick. Can you send me msg if I am missing any, thanks.

    Alex

  • Alex:

    To make it work, you need to send the following settings to udhcpc in ddwrt:
    –retries=2 –timeout=5 –tryagain=310

    I don’t know what menus or command line things would have to change to make that happen, but those are the options that udhcpc needs to have on startup in order to work properly with Charter.

    Another option would be to purchase a Cisco DPC3010 cable modem and the problem will likely go away.

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.