R7800: from unboxing to LEDE

Once I got the Netgear R7800 I wanted, I needed to set it up. It went something like this, and took several hours. I didn’t have a checklist for most steps, so I had to figure them out as I went.

But if you’re anything like me, you can use this one and be done sooner:

Unboxing the R7800

The Netgear R7800 comes in a nice box, with four directional antennae that screw on to the router. Screw them in to the holes that match their numbers, turn the router on, set it up using the Netgear firmware it came with to make sure it’s not dead on arrival.

This takes a while. It’s actually a pretty smooth process, although it makes you reboot your cable modem; it works with WiFi and handles DHCP conflicts automatically (!). I type in a silly password, since I won’t be running this for very long, and make sure WiFi works on 2.4 GHz and 5 GHz. Then I go looking for the firmware upgrade page in the Netgear firmware.

It asks for an image URL or file.

Factory Install

Now it’s time to start working through the LEDE Factory Install steps.

You will need an Ethernet connection to the R7800 to configure it. If your computer doesn’t have an Ethernet port of its own, get a compatible Ethernet to USB adapter before going any further.

I download the .img file from the R7800’s Table of Hardware page and try installing it to the Netgear. It takes a few tries, but eventually succeeds. Once it reboots, I don’t have WiFi anymore and go looking for the config page.

Unlike the Netgear OEM firmware, LEDE doesn’t handle DHCP conflicts or activate WiFi automatically. I twiddle the DHCP config for the router I have it plugged into at my desk, reboot it, and go looking for an Ethernet-to-USB adapter at the office.

I come back, plug it in, and find the admin interface at I click through, come up with a strong password, and key into the device.

Initial configuration

The “Overview” page I land on doesn’t have way to make changes; it’s status only. So I start looking. Status won’t be interesting until I’m actually trying to do something.


Wireless is easy to find: Network > Wireless in the top menu. LEDE surfaces a lot of details in the user interface, compared to other routers I’ve worked with. It’s logical if you’re thinking in terms of the config files a Linux system uses; I’m not sure it would make sense otherwise.

I create settings for radio1, and see that I only have a 2.4 GHz network, and then realize I need to set up radio0 too.

Once I do that, a 5 GHz network appears too and I’m happy. I connect to it, unplug the Ethernet adapter from my computer, and confirm I can reach the Internet on WiFi.

I can’t find a place to type in custom configuration, so I assume that I’ll need to do that after logging in through SSH.


I realize that I haven’t done anything to set up DNS, and that my router will be using my ISP’s DNS servers. The last time I tried them they returned redirects to a parking page rather than NXDOMAIN, and I don’t want this. It makes debugging hard when everything “resolves.”

I can’t figure out how to do this after a minute looking at Networking > DHCP and DNS, so I search and find Redirect DNS requests with OpenWRT. It offers an option to bypass OpenWRT’s built-in DNS server, and an option to customize it, and I choose to customize it. I’m used to having a DNS cache on my network, and don’t want to change that just yet.

I set the WAN and WAN6 interfaces to use my favorite DNS servers – I work for Google, and use Google Public DNS – and confirmed that I get NXDOMAIN responses when I dig for nonexistent hosts on my laptop.


I have a smartcard with an ECDSA SSH key on it, so I turn on Dropbear in System > Administration and add the ECDSA public key to the SSH-Keys field. I try logging in and get Permission Denied.

I remember having a similar issue when I was setting up WiFi routers at my last job on Google Fiber, and sure enough a Web search turns up a feature request, FS#786, to enable ECDSA support in LEDE.

So I make an RSA public key, add it to my Keychain, and replace the ECDSA key with an RSA key. This works and I’m able to log in.


I look around on the command line for a bit, and realize this is a natural stopping point; the router is working well, and I’ll need to read up on LEDE’s UCI before I’m able to make changes comfortably.

It doesn’t seem too complex, but it’s still a good idea to be prepared when you’re going to be logged in as root