Netgear R7000

From DD-WRT Wiki

Revision as of 18:16, 23 June 2022 by Duxa (Talk | contribs)
Jump to: navigation, search

Contents

R7000 Category

Find more R7000 articles here

Hardware Specifications

FCC ID PY313200233
Industry Canada ID 4054A-13200233
Power 12 VDC, 3.5 A
CPU / SoC Broadcom BCM4709A0 @1 GHz
CPU Architecture ARM Cortex A9 (2 cores)
Flash / RAM 128 MiB / 256 MiB @ 800Mhz
WI1 & WI2 chip Broadcom BCM4360
WI1/WI2 protocols an+ac / bgn
Wireless MIMO config 3x3:3
Antenna connector U.FL, RP-SMA
Ethernet & Switch Broadcom BCM4709A0
WAN / LAN ports 1 / 4 (up to 1 Gb/s)
USB ports 1x USB 3.0, 1x USB 2.0
Serial 4-pin header, internal, 3.3V TTL
Pin layout: [3v3, GND, Tx, Rx]
Baud rate: 115200

Performance

Netgear r7000 employs various NAT Acceleration techniques in order to facilitate faster downlink speeds. Without them gigabit speeds on WAN port would be impossible with 1Ghz dual core CPU.

Stock Netgear firmware implements Broadcom's proprietary CTF (Cut Through Forwarding), it comes as a binary blob, no one outside of Broadcom knows how it operates.

SFE is an open source answer to CTF. It is not as efficient as CTF; however it can be updated and has no reliance on Broadcom. SFE accelerated NAT was added to DD-WRT in build 08-03-2017-r33006 (kernel 3.10+), which Kong tested at 900 Mb/s throughput (download and upload).

Both options are available from Setup -> Basic Setup menu. NOTE: After a factory clean or initial boot after flash, perform a reboot for the options to show up.

Additionally ddwrt implemented Broadcom's Flow Acceleration, this utilizes hardware in the Broadcom chip to facilitate level 2 NAT acceleration.

SFE: Options are [Off, SFE, CTF] provide Level 1 NAT Acceleration. They help overcome physical limitations of the router.
Flow Acceleration: Options are [Off, CTF, CTF&FA] provide Level 2 NAT Acceleration. They help overcome data layer limitations of the router.

NOTE: Services like speedtest.net are not a good representation for throttling due to CPU. In many cases where speedtest.net will show full Gigabit speeds, once download of 10GB+ files is initialized the CPU will be saturated and speed will slow down. A more representative test is to initiate a large download (for example a 20GB+ game on Steam or Epic stores). Or a Torrent download of a large Linux ISO. In all cases ensure that the download is capable of maxing out your bandwidth.

The dual core ARM CPU runs at 1Ghz. It is saturated when load exceeds 2.0

Sample benchmark of 2 minute download on Steam with various configurations on 300Megabit connection:

Acceleration CTF+FA Megabit CPU Load Extrapolated to 1 Gigabit*
All Off Off 300 0.80 (40%) 2.67 (133%) Throttled**
SFE Off 300 0.45 (22.5%) 1.5 (75%)
CTF Off 300 0.03 (2%) 0.10 (5%)
Off FA+CTF 300 1.0 (50%) 3.33 (167%) Throttled**
SFE FA+CTF 300 0.40 (20%) 1.33 (67%)
CTF FA+CTF 300 0.05 (3%) 0.17 (8%)

*Extrapolation does not account for overhead. Therefore is likely to represent base case scenario.
**Throttled means it is unlikely to reach 1 Gigabit speeds with these settings.


Conclusion: It is advisable to select SFE and FA+CTF in most cases (due to updates and ipv6 compatibility); however, CTF and FA+CTF is also a good option. Note of caution with using CTF (from the SFE section) is that it could have issues with ipv6, as well as potential issues due to being a static blob that never gets updated. As DD-WRT kernels get updated the CTF blob may break compatibility. It is advisable to monitor the router for any stability issues if using CTF and FA+CTF.


Temperatures: r7000 appears to fare better when air gapped on the bottom. Rubber feet on the bottom do not provide enough elevation for best cooling. While temperatures are heavily dependent on individual environments, as a sample it was observed that when sitting horizontally on a wooden shelf CPU was idling at around 75C. Once router was air gapped on the bottom (2 cm) and hung vertically temperatures dropped to 64C in the same environment. Generally temperatures under 80C are considered to be normal.

Features

  • Linux kernel 3.10.25
  • Supports CPU overclocking: 1200MHz and 1400MHz possible (be very cautious)
  • OpenVPN and PPTP VPN server support
  • Ad blocking with Privoxy
  • Other: lighttpd + php

How to install

Brainslayer build links can be found in the Firmware FAQ. They are compiled from the DD-WRT trac SVN. Kong retired from working on DD-WRT in 2019, therefore his builds are considered outdated and should not be used.

It is advised to use the latest beta build (all ddwrt builds are beta builds due to constant development) from https://download1.dd-wrt.com/dd-wrtv2/downloads/betas/

Flash from OEM

GUI reset then download and flash the factory-to-dd-wrt.chk file using the Netgear web interface.

NOTE:Newer Netgear firmware (1.0.9.64_10.2.64 and newer) prevents GUI downgrades, preventing DD-WRT installation (K3_R7000, build from 9/23/18 file has a lower version number, 1.0.5* that Netgear disallows). Until a new Kong .chk image is available, use this mod version which provides a larger version number (thanks to @jclehner)

  • Alternatively, use the TFTP installation method

Upgrade from DD-WRT

Use the DD-WRT GUI or other installation Methods to flash the netgear-r7000-webflash.bin file from the GUI Administration -> Firmware Update section.

Documentation

Some generic DD-WRT documentation is applicable to the R7000, but much is outdated and little refers to ARM builds.

<Kong> has written some documentation relevant to his builds [now via archive.org]:

Also see: Kong R7000 Configuration Best Practices or Working Solutions

TFTP at boot for de-bricking

See here, and also this post which then references here.

Disable LEDs

Disable lights at boot: go to Administration>Commands, paste the code below and click Save Startup Script.

for i in 2 3 8 9 12 13 17 18 ; do gpio enable $i ; done
for i in 14 15 ; do gpio disable $i ; done
et robowr 0x0 0x18 0x1ff
et robowr 0x0 0x18 0x0
et robowr 0x0 0x1a 0x0