Netgear R6120 OpenWRT

February 16, 2021

Get nmrpflash

$ git clone https://github.com/jclehner/nmrpflash.git
$ cd nmrpflash/
$ make

Check interfaces

./nmrpflash -L
enp0s31f6        192.168.1.8      8c:16:45:22:f5:71
wlp2s0           192.168.1.6      74:e5:f9:e7:79:26

For me, enp0s31f6 showed 0.0.0.0 as IP:

enp0s31f6        0.0.0.0.0        8c:16:45:22:f5:71

Flash

Plug LAN cable from computer into LAN port 1 of the router. NOT into the WAN port.

Turn off router.

$ sudo ./nmrpflash -i enp0s31f6 -f ~/downloads/netgear-openwrt/factory/openwrt-ramips-mt76x8-netgear_r6120-squashfs-factory.img
Waiting for physical connection.

Turn on router

Advertising NMRP server on enp0s31f6 ...

Wait for flash to finish, restart router, you should be able to ssh into it like the guide says.


Caveats and bugs

There are some things that somehow fail for me from time to time.

It seems that updating to a newer OpenWRT version by flashing a new sysupgrade file completely breaks any access, both via web and via ssh.

While using nmrpflash, this might happen:

Advertising NMRP server on enp0s31f6 ...
Received configuration request from 00:00:00:00:00:00.
Sending configuration: 10.164.183.252/24.
Received upload request without filename.
Uploading openwrt-ramips-mt76x8-netgear_r6120-squashfs-factory.img ... errno=99
bind: Cannot assign requested address

Also, make sure to really plug into LAN port 1, not any other!

N.b.: The following is wrong imo, better to let the tool use automatic IP:

sudo ./nmrpflash -i enp0s31f6 -f ~/downloads/netgear-openwrt/factory/openwrt-ramips-mt76x8-netgear_r6120-squashfs-factory.img -a 192.168.1.200