Google Fiber with Ubiquity EdgeRouter PoE

I guess, being a new father, I should strive to post more about the baby, but Leslie has so completely outrun me in that regard it’s hard to muster much enthusiasm to compete.

So instead, let me brag about our wicked fast Google Fiber internet that got hooked up just before Xmas.

Google Fiber speed test
As measured this morning. That’s what I call delivering on the promise of gigabit internet!

A few interesting notes on the installation and setup: the fiber strand is run right to the side of your house, where it’s terminated in a little box at a fiber coupling. The installer uses the coupling to connect another piece of fiber that runs into your house to something Google calls a “fiber jack”, which converts from the fiber strand to CAT5 ethernet.

Fiber termination/coupling outside the house
Fiber termination/coupling outside the house
The “fiber jack” that converts from optical fiber to good ol’ CAT5e ethernet cable. Notice the absence of a power cable–it’s powered via ethernet.

I originally planned to have the optical cable fished all the way into my pantry, where the coax cable (now unused) and AT&T Cat5 were terminated. I was sure that these wires had been run after the house was built, and so I would be able to use them to fish the optical cable through, but I learned painfully after crawling around in the space above my living room that they had been installed before the spray-foam insulation that coats the envelope of my house, and so couldn’t be moved nor a new cable run. To his credit, the installer was patient waiting for me to discover this, and had a long-enough fiber run to accommodate my plan ready. In the end, he drilled into the side of the house a small hole through which he ran the fiber and a Cat5 cable, installed the fiber jack, then coupled the Cat5 to one of the existing AT&T Cat5 runs starting outside the house (both unused), so I got my wish of having the network terminate in the pantry. Again, the installer impressed by back filling the hole with silicone and neatly routing all the cables within the boxes and on the outside of the house. I was very impressed.

The fiber jack connects to the “Google Fiber Network Box,” a combination router and WiFi access point (and DVR, if you get TV service). I tried hard to be satisfied with the box, which delivered excellent speeds on hard-wired connections, and had a nice, user-friendly web-based configuration system that Google makes available right from your account page through some sort of hairpin NAT or something.

But, it had several flaws that made me look for something better (although all but the first are self-inflicted by my super-fussy home network setup):

  • Sub-par wireless reception. It replaced an Asus RT-AC66U running Merlin that covered my whole house with pretty-good 5GHz and excellent 2.4GHz reception. In comparison, I struggled to stream video to my laptop two rooms away with the Google Fiber Network Box.
  • Poor support for port-forwarding. Specifically, the external and internal ports of the forwarded services must match, which is a major limitation.
  • No facility for running a local DNS server.

Unfortunately, if I tried to replace the Google Fiber Network Box with my old Asus, I would sacrifice a lot of speed–the Asus just doesn’t have the horsepower to handle all of the througput.

Enter the Ubiquiti EdgeRouter PoE. I had already heard some good things about Ubiquiti’s networking products, which are marketed for commercial applications as alternatives to super-expensive kit from Cisco and the like. They have developed quite a following in the “enthusiast” (i.e. over-the-top unnecessary home networking hobbyist, i.e. me) crowd, and their EdgeRouter line has several models capable of supporting the 1Gbps Google Fiber throughput. Further, I found guides like this one that explained in detail how to configure similar EdgeRouter Lite for use with Google Fiber.

I selected the EdgeRouter PoE instead because it supports powering devices connected to any port via PoE, most importantly the Google “fiber jack”. It also includes hardware switching for three of its ports, which happened to be exactly how many I needed in the pantry to connect all my RJ45 keystones terminated throughout the house.

It's so little, it fits right in my wire dungeon box in the pantry!
It’s so little, it fits right in my wire dungeon box in the pantry!

I used the configuration developed in this Google Fiber support thread and refined in the guide above as a starting point. The really critical piece is that Google Fiber will not give an IP address to an interface unless it is on VLAN 2; my buddy guessed that this may be an intentional stumbling block meant to weed out casual users from replacing their GFNB with their own router. Who knows? I further honed the setup for the EdgeRouter PoE to:

  • Power the fiber jack via 48V PoE.
  • Fix DNS forwarding by advertising the EdgeRouter’s DNS server to DHCP clients and then forwarding to Google’s DNS. This also allows me to inject static host entries for names on the local network.
  • Expose three hardware-switched ports as the LAN interface ‘switch0’

My entire config is posted in this Gist for the curious.

The best part of this whole enterprise was getting to finally cancel my Time Warner cable internet. Word to the wise–when you do this, just bring your cable box / modem directly to their branch them without calling first. The staff in the branches seem not to be trained to give you a hard time when you cancel (it took me 30 seconds), whereas if you call I have heard that they will talk your ear off before actually doing it.

on to the next normal

Today marks the last day of my monthlong stint as a stay-at-home dad (or househusband, as one friend called it). Leslie reminded me that this was a good moment to reflect, so look out, stream of consciousness follows. I was incredibly lucky to have a job that offered enough parental leave that Leslie and I could stitch together four months of leave from our jobs after Anne was born, and lucky again that I got to spend a whole month (the best month, so far) with her at home.

The days with Anne are predictable, sometimes enjoyable, sometimes monotonous. Every now and then, I get a taste of the magic joy that parents talk about: she’s mine! She’s getting older! Look at that smile!

When the month started, Anne was sleeping not-so-well during the day, fully swaddled and with a pacifier. Last night, she slept with her arms free and no pacifier. This kind of progress seems like the definition of banal parenting minutiae, but it still represents the centerpiece of my parenting achievements so far. Taking care of a baby collapses your world down to a very basic, very physical cycle involving sleeping, eating, and taking care of the other end. It’s a kind of meditation–there’s no real trick to it, there’s no automating it, it’s just the same few things happening over and over, changing little by little.

In my professional life, situations like this are, by definition, problematic, targets for optimization. Write new software, create a new process, so that we don’t have to go through the drudgery of repeating this process by hand. Do it at the scale of thousands, millions, or billions of work items; marshall an army of computers to do what humans don’t have the patience or time to do themselves.

But with the baby, it is only me and her, and there’s no way to even change tonight’s diapers this morning to get it out of the way. You just have to change the right-now diaper and be with her, in the moment. I recognize this discipline from dabbling with mindfulness, and even more from raising Sous up from a puppy.

In some ways, it’s a prison of chores. It was this sensation that made it so hard on me to deal with the new responsibilities of getting a dog eight years ago: you mean I have to take her out every day forever? How inconvenient. But of course, once you get used to the rhythm of that responsibility, it becomes a part of you, it forces you to go outside for that walk, to pull your head out of the clouds and check out what the dog is sniffing instead. Already, the same rhythms of Annie’s life are forming their grooves in my brain. Thanks, Sous, for getting all the anxiety out of the way before we had a human baby. You’ll always be our first.

Next week I’ll be back at work, and so will Leslie, and the next “normal” will start. At this very moment, a paid employee of ours is upstairs with Annie reading her a book which means that I can sit down here and type. She’ll watch Annie during the forty-plus hours a week Leslie and I are at our jobs, until we find a day-care and we move on to that. No longer will every one of her cycles belong to Leslie or to me; we’ll be part-time parents like everyone else in the working world.