Back in October I finally squeezed gigabit speeds out of my AT&T Fiber connection by switching from my old OpenWRT-based TP-Link Archer C7 routers to an Ubiquiti EdgeRouter Lite (ERL). The Archer hardware could not keep up with gigabit speeds but the ERL can.
I love the ERL! It’s only about $100 but it’s a very powerful device! Previous versions of the firmware were a bit cryptic (at least in the UI area) but the latest one provides a lot of functionality (and wizards).
I had followed one such wizard to do my initial setup with the ERL back in October, after upgrading it from version 1.9.1 of EdgeOS to EdgeOSv1.9.7+hotfix.4. All seemed to work … except for it properly pulling a DHCP address from AT&T. See, I have bypassed AT&T’s PACE router in favor of my own and the ERL now does everything but the initial 802.1x authentication that opens the port on AT&T’s switch.
Why do you need to use DHCP on your AT&T link? You can put a static IP on your end of the link but AT&T offers DHCP leases of 14 days and expects you to use them. If your box (i.e., my ERL) doesn’t renew its IP near the end of those 14 days, AT&T considers the link to be dead and shuts down the connection. At this point, the only way you’ll get it going again is to reconnect the AT&T router and let it do its 802.1x authentication again. This is a pain, so avoiding it is very useful.
So, I was bopping along with a static IP address and all seemed good until two weeks later when my (invisible) DHCP lease expired. I’d switch back to the AT&T router and be going again only to have it die again in another 14 days. It was getting frustrating.
When it hit me again last night, I decided to use some of my holiday time to troubleshoot and fix it. After poking at it practically the entire day, I have determined that there is a bug in the DHCP client shipped with the new EdgeOSv1.9.7+hotfix.4 firmware. The included Internet Systems Consortium DHCP Client 4.1-ESV-R7 will happily ask for an IP assignment and AT&T’s server will happily provide one but the DHCP client stupidly ignores it. It acts as if it didn’t hear it and continues to request an IP.
I got smart and found the documentation that explains how to add a Debian repository to the ERL. Using the DHCP client I installed from Debian I could magically get an IP assignment.
Bingo! Problem solved (or at least worked around).
I plan to report the issue to Ubiquiti tomorrow so that it can be fixed in future releases. For now, though, if you have an EdgeRouter that won’t accept an DHCP address, try loading a new DHCP client on the ERL.
In spite of the hours I spent tracking this down today, I’m still insanely happy with my EdgeRouter Lite!