I am sharing this note hoping that it will be helpful for others.
My R7900 would not work with 22.03.2 even though it had no problem with older versions such as 19.07.10. It would simply freeze after the message “booting the kernel” (many other posts exist around this problem with some solutions I tried without success).
I tried multiple ways to install 22.03 including the ones below but none worked for me:
- Changing the board_id to try to make it a R8000 and hoping that it would then accept the R8000
OpenWrt version (why not?). We have multiple solutions online but none worked.
- Trying to mess-up with OpenWrt and recompile from source hoping that someone missed some
important flags Why not?
The conclusion is that the CFE on the router would not accept an image that has a different board_id than whatever is on the router.
Then I was able to find this tool (https://github.com/jclehner/nmrpflash) that implements the Netgear protocol NMRP and tried it against the router running an older OpenWrt version BUT that did not work.
After some thinking, I realized that the NMRP protocol had to be implemented within the original Netgear version of the R7900 firmware. So I did the following:
- Install the original firmware (R7900-V220.127.116.11_10.0.53.chk) using the traditional TFTP method. This
worked out just fine
- Then rebooted the router and ran nmrpflash using the latest OpenWrt R8000 version (openwrt-
22.03.2-bcm53xx-generic-netgear_r8000-squashfs.chk) and was lucky to get the installation to
The conclusion is that the NMRP protocol bypasses the board_id check that CFE does and since the R7900 is “equivalent” to the R8000 hardware, the OpenWrt R8000 firmware installs just fine on my R7900. So now I have my R7900 running just fine including wifi
The only mystery at this point is why does OpenWrt build the R7900 firmware to start with and why does this firmware hang at boot time when the R8000 firmware works just fine? I am going to leave this mystery for another day.
Hope this helps someone.
PS: installing a serial cable on the R7900 will save you a considerable amount of time.