R7800 -> Flashing openwrt causes bootloop (bad block in kernel area)

Hi! Thanks for this. I was having the same problem. I could only get it to boot lede-17.01.7-ipq806x-R7800-squashfs-factory.img. All other images would send the router into a boot loop.

I had to do a few things differently than what you described, though:

  • Opening the router is pretty easy, but I'd recommend using a credit card (or one of those iFixit opening tools) to pry open the case. I used a flathead screwdriver and managed to leave a few marks on the case :frowning:

  • There's already a pin header soldered to the PCB, but you will have to bend the pins sideways (as shown here) using a pair of needlenose pliers or similar. Otherwise, you won't be able to get the jumper wires onto the header (the top cover is in the way).

  • There's not a lot of room around the pin header, so I used a pair of pliers to connect the jumper wires to the header.

  • Whenever I would execute the bootm command, the router would freeze at Starting kernel. I managed to get it to work by specifying a load address (in this case, 50000000, but you may have to experiment with different values):
    tftpboot 50000000 openwrt-19.07.2-ipq806x-generic-netgear_r7800-initramfs-uImage

  • I had to install additional packages in order for wget to be able to download files over HTTPS:
    mkdir -p /etc/ssl/certs
    export SSL_CERT_DIR=/etc/ssl/certs
    source /etc/profile
    opkg update
    opkg install wget openssl-util ca-certificates ca-bundle libustream-openssl

  • When closing the case, be careful not to bend the pins on the LED slide switch. That is, make sure all of the connectors line up with the holes in the back panel when reassembling the case.

  • I used a "Silicon Labs CP210x USB to UART Bridge" (Vendor ID 10C4; Product ID EA60) which worked out of the box on Windows 10. Device Manager shows its COM port assignment (in my case, COM5).

2 Likes