AT&T U-verse 2wire Router and WRT54GL with DD-WRT Problems
I recently moved into my first home about eight months ago and had to choose between Comcast or AT&T for television and internet. You could say I was fortunate to move to an area that has a little bit of competition because for the first time the AT&T U-verse service was available to me. Ultimately, it came down to price and how many HD channels I could get and I decided to go with U-verse because Comcast was slightly more expensive and had far fewer HD channels available in my area… as in I can get basically every channel in HD on AT&T while only getting about 12 HD channels with Comcast.
To date, with the exception of a few aggravating moments of briefly losing some channels due to programmer / carrier disputes between AT&T and different networks, the service has been exceptional. I was, however, persistently running into a problem with the internet connection — specifically with downloading large files. I first noticed the issue every time I tried to download an iPhone firmware update which would generally be over 600 MB for my iPhone 4. The download would simply stop at random points in the download for seemingly no rhyme or reason. Since the servers the files are being hosted on do not support resuming, I would have to start the download all over again. Needless to say, this was becoming a very annoying problem. I also began to realize that YouTube video downloads would also seemingly stop for no reason but I initially just chalked this up to YouTube being flaky as it has a tendency to be sometimes. I was also experiencing intermittent issues with other services, like Xbox Live, FaceTime calls, Skype video calls, etc. Turns out they were all related to a single problem.
First a little information on my setup… when the AT&T technician installed the service, they provided one of the all-in-one 2wire devices that is a modem, router and wifi access point. Since I like to roll my own router in the form of a Linksys WRT54GL running the custom DD-WRT third-party firmware due to all the extra features it offers, I disabled the wifi and placed my own router into “DMZ+” mode (not sure what the plus means) on the 2wire device so it could pull a public IP address and also disabled the 2wire firewall for this device. According to all the articles I had read, this was the correct way to set everything up and, with the exception of this seemingly singular problem, everything seemed to be working fine.
After much searching on the issue and coming up empty-handed for a long time, I was ready to throw in the towel. And then I stumbled across this article. It turns out that the 2wire device only gives a ten minute lease time for the public IP address it gives any devices in DMZ+ mode. It also turns out that the SPI firewall in DD-WRT was blocking the DHCP renewal requests from being returned because apparently the internal IP address it comes from can sometimes be different! This resulted in basically any open connections being terminated when the lease expired at the ten minute mark.
The solution the article offered was very simple and worked perfectly. From the “Administration” tab in DD-WRT, I clicked on “Commands” and entered the following into the text box:
iptables -I INPUT -p udp --sport 67 --dport 68 -j ACCEPT
After entering this, I clicked the “Save Firewall” button and waited a bit for the firewall to reboot itself. I did not end up having to power cycle or reboot my router but apparently you may or may not need to do this.
And that was it! After doing this, I attempted to download the latest iPhone firmware update again via a direct link and it finished the first attempt without any issues. YouTube videos seem to load without issues now and all of my FaceTime and Skype video freezing issues all seem to have disappeared. Thanks again to comprepairgurus.com and their article… without it I’m not sure I would have ever figured out what the problem was or how to fix it. Here is the direct link again: