I was recently forced to switch from Comcast to CenturyLink following a move across town. The Comcast agent was no help in retaining me, and I actually got a call back from her manager inquiring at my low rating, but suffice to say Comcast couldn’t even confirm my new address. I won’t be missing that company.
CenturyLink on the other hand has been mostly snappy and surprisingly knowledgeable about their configuration. They had to drop a fiber line down from the utility pole and re-purposed the snipped cable line to get into the house (Comcast had no record of previous business at this address?), but then we were up and running with two proprietary devices of theirs: an Optical Network Terminator (ONT) and a ZyCell combination DSL modem and wireless router. I’d never seen anything like either, and it turns out you don’t need the modem/router if you have your own and are willing to play with some settings.
I’ve used Asus rotuers for years and been fairly pleased with them. All my port forwarding rules were set there, and plus this modem is a $9/month lease. Nevermind that!
Router authentication and wireless bridge
After trying the naive thing of just forwarding every port to my Asus, and then some back-and-forth with the fairly knowledgeable and helpful Salt Lake City call center girls, I found the thing to do was manually configure the router to authenticate with CenturyLink by PPPoE. I could see my username in plaintext in the ZyCell UI but the lady needed to give me my account password. Depending on your firmware, the config in Asus land will look something like this:
The magic step is to then set the ZyCell into “transparent bridge” mode. CenturyLink provides helpful instructions for that. Be careful though! Once you do that the router becomes essentially dead to the world so the UI won’t load, and if you’re like me and didn’t write down your username then you won’t know it now. This led to the somewhat hilarious situation of telling the second call center lady my password, which I had written down, to authenticate me and tell me my username, which I hadn’t.
Bypass the modem
It wasn’t clear what the modem was actually doing at this point. The line from the ONT was ethernet, not DSL, but both the installation technician and the call center told me to hunt for DSL-compatible GPON (fiber) modems if I wanted to buy my own. I wrongly assumed such a thing would be easily found at Fry’s, but that ZyCell is a special breed.
Luckily, it turns out you don’t need it at all! As a transparent bridge, the only thing the modem does is CenturyLink’s custom VLAN tagging. Not knowing what that was, I hunted in vain in my router firmware to find a way to set it. It’s pretty well-known that Asus routers support a lot more functionality than they expose through the stock firmware UI, but third parties maintain modified versions you can use instead; in fact I’ve flashed an older model before to act as a wireless repeater. But not wanting to do that on the newer one, I hunted around on the internet.
A fellow Seattleite had done essentially the same thing I wanted to do and knew the great secret about the VLAN — port 201 for CenturyLink — but he had completely different hardware. Other sites suggested SSHing onto the rotuer to bypass the UI, but that was for a different problem in one of the third-party mods; the stock firmware actually hides the SSH settings behind a display=none CSS class, but even exposing the UI manually through browser development tools wasn’t enabling SSH.
I got on anyhow through telnet because that is a setting in the stock firmware. I followed the instructions here to set values directly into non-volatile RAM, but that was apparently for the BusyBox mod and the settings didn’t seem to do anything.
Nearing desperation that I might need to change my router firmware, I finally happened upon a page with this promising claim:
After scouring the web, I got some clues on how to set the VLAN ID tag… even tonight after speaking to asus support, they said it isn’t supported with Asus firmware. However, it is, and the setting is not where you would expect to find it.
This was discussion about different hardware, but lo and behold my router had the same mystery setting! In IPTV settings of all places, manually set the ISP profile VID (apparently short for VLAN ID… itself short for Virtual Local Area Network IDentification) to the right port, and viola!
With one fewer hop to make the connection seems faster too. Honestly my most difficult and time-costly interaction with CenturyLink so far has been the request to cancel my modem lease and send it back. In fairness, that’s handled by their billing department, and as we all know nothing’s certain but death and taxes.