Friday, May 16, 2014

Using your own router with CenturyLink/Qwest fibre

CenturyLink recently started offering FTTP-based Internet connections in our part of Seattle. The network is GPON (a type of passive optical network). Prices are $30 for 40/5 Mbit, $50 for 100/50 Mbit, $60 for 1000/1000 Mbit (the last one is actually a really good price). The first price is introductory, only for the first 12 months (no word on what it is going to be afterwards) but the other prices will supposedly stay. No word on data limits. $50 installation fee.

The connection from ONT (Optical Network Terminal, the termination device on the optical network) to the socket in my wall is Ethernet which is nice. But nothing is too simple, this is still CenturyLink, so there are two problems:

  • Your router has to use PPPoE to connect to the ONT. Your traffic goes through this tunnel.
  • Your router has to support VLAN and tag Ethernet frames going to ONT with VLAN tag 201.
The requirement for VLAN tagging seems to come from the ONT vendor (Calix?), I found it in their deployment guide but lost the link since. PPPoE seems to be supported on most modern router but VLAN tagging seems to be very rare. Of course except for the CenturyLink-branded router (ZyXel FR1000Z) which CenturyLink will happily lend you for a paltry $7/month. Thanks, but no thanks.

My router, TP-Link TL-WDR3600 does support PPPoE but unfortunately doesn't support VLANs. This was promptly solved by flashing OpenWrt which (mostly) supports VLAN and setting VLAN to 201. There are two ways this VLAN support works. First, there is a hardware switch which can be controlled with swconfig command. I couldn't get this to work. I made it work by naming the WLAN interface on the router (the one used to connect to the ONT) "eth0.201". See screenshot below. This apparently causes the Linux network stack to mark frames with VLAN tag 201. Without this, the ONT refuses to talk to the router.


And that's all there is to it. Setting up PPPoE is simple.

Update May 2016: I've moved and my new location luckily has CL Fibre too. It turns out that installation is free if you sign up for a PrismTV trial so I did. I've promptly disconnected their router and connected mine. It's interesting that no authentication is required if your ONT is marked for Prism! You just choose dynamic DHCP on your WAN and you're ready. No VLAN tagging, no PPPoE authN.

7 comments:

  1. Am I able to do this with the Archer C9?

    ReplyDelete
  2. Am I able to do this with the Archer C9?

    ReplyDelete
    Replies
    1. VLAN support seems to be totally random in part because some switches simply do not support VLAN tags even if the software does. I ended up having to connect a managed switch to add a VLAN tag to the outbound WAN port on my router. So ONT <-> managed switch <-> Router WAN

      Later I got a WRT1900ac which natively supports VLAN tags and can connect direct to the WAN port on the router.

      Delete
  3. I own the WRT1900ac, and can't get above 500mbps on speed tests. It only real world downloads at 20MB/s.

    The Centurylink C2100T speed tests at 950mbps, and real world downloads at 60MB/s.

    Do you get the full speed using the WRT1900ac? If so, what firmware are you using?

    ReplyDelete
    Replies
    1. I have only 40/5 Mbps line from CL so I didn't have an opportunity to test that. I'm using OpenWRT 12.09 Attitude Adjustment.

      Delete
    2. I am using Linksys version 1.1.10.167514 on my wrt1900. I have the 100 / 50 connection. I have seen my down speed as high as 150mbps.

      Note I did run into a bug on the wrt1900 which for whatever reason made both the wired and wifi connection crawl to ~1.5mbps. Rebooting did not help, disabling the wifi, rebooting, re-enabling the wifi seem to fix it.


      Keep in mind CenturyLink is supposedly asymmetrical gig. So 500mbps up and 500bbps down. How you are seeing 950mbps i'm not sure, unless they are offering something new or their device is doing some speed boot trickery. What are you testing the speed against?

      Also OpenWrt

      Also make sure your MTU setting is 1492. If it is set to something else you will run into issues.

      Delete