NETGEAR R8000 Nighthawk

Devices with Broadcom WiFi chipsets have limited OpenWrt supportability (due to limited FLOSS driver availability for Broadcom chips). Consider this when choosing a device to buy, or when deciding to flash OpenWrt on your device because it is listed as supported. See Broadcom WiFi for details.

NOTE: The hardware in this device is a bit of an exception to the above: the wireless devices are fully supported by the in-kernel brcmfmac driver and work well.

  • Second data partition (79 MiB) not available in OpenWrt
  • For a proper performance use:
    • radio0 for the higher 5 GHz band (channel 149 or something else, depending on country)
    • radio2 for the lower 5 GHz band (channel 48, or something like that and lower)

For an explanation of different image types, see FAQ before installation.

As of OpenWrt 19.07, OpenWrt can be installed on the Netgear R8000 using the Netgear stock firmware's built-in firmware updater.

  1. Use to download the most recent stable chk OpenWrt image (as of this writing, openwrt-23.05.2-bcm53xx-generic-netgear_r8000-squashfs.chk). You can optionally generate a customized OpenWrt image with different installed packages
  2. Connect your computer to the Wi-Fi router's LAN port using a wired ethernet cable.
  3. Open a web browser and login to the stock Netgear router admin page; Then, navigate to the Firmware Update page.
  4. On the Firmware Update page, upload the OpenWrt .chk file from above, click 'upgrade', wait a couple of minutes.
  5. Navigate to the OpenWrt web UI at in your browser and set up the router as desired.

Needed for usbkey

  • kmod-phy-bcm-ns-usb3 (for usb3 connection)
  • kmod-usb-storage kmod-usb3
  • kmod-fs-ext4
  • block-mount (to mount usbdrive ext4 for example)


for 5 GHz work great load on radio2

  1. set country code to US
  2. set channel 48 to radio2
  3. set channel 149 to radio0→ SAVE → Reboot


see the nmrpflash page for a link to the Netgear flash recovery software

The CPU of this device does not provide VFP support:

# grep "\(model\|Feature\)" /proc/cpuinfo
model name      : ARMv7 Processor rev 0 (v7l)
Features        : half thumb fastmult edsp tls 
model name      : ARMv7 Processor rev 0 (v7l)
Features        : half thumb fastmult edsp tls 

Runnning ARMv6 or ARMv7 targeted Go executables on that platform will result in Illegal instruction errors.

The work-around is to target ARMv5 during compilation:

# export GOOS=linux
# export GOARCH=arm
# export GOARM=5
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/02/12 08:58
  • by