Bricked, due to "Error relocating /bin/ubus: uloop_run: symbol not found"

Apparently after "opkg upgrade libubox" on my router running a LEDE trunk image, ubus/uloop has become hosed. Even "logread" fails with "logread
Error relocating /sbin/logread: uloop_run: symbol not found".

So I first got into openwrt failsafe mode, and attempted to "sysupgrade" the latest LEDE trunk image. It failed with "Error relocating /bin/ubus: uloop_run: symbol not found".

Then I got into the Netgear WNDR3700 failsafe mode (https://wiki.openwrt.org/toh/netgear/wndr3700#recovery_flash_in_failsafe_mode) and attempted to tftp a new image into.

  • 1st, I mistakenly tried to tftp the latest LEDE trunk image. The tftp transfer went on half way and timed out.
  • 2nd, I managed to tftp successfully a copy of the Netgear firmware I have. However, even though the tftp transfer was successful, the router never seemed to reboot itself. It just remained in the Netgear failsafe mode.
  • 3rd, I tried the Netgear failsafe and tftp the Netgear firmware image again. It again transferred but did not reboot.

Now, I'm back into Openwrt failsafe mode again (which seems to suggest the tftp transferx of the Netgear failsafe didn't take effect). Now I just need a way to replace /bin/ubus and any other binaries that are showstopperss to "sysupgrade".

Just occurred to me that the image for tftp must be initial install image, not ugprade.bin. Giving the tftp method another shot.

Well, managaed to get the latest LEDE trunk image for initial install onto the router via TFTP. The router rebooted itself successfully. However, since the trunk image has next-to-zilch enabled except SSH, and I didn't feel like learning how to enable everything essential via UCI or CLI, I simply copied a copy of my config backup via SCP and restored it via "tar xzvf /path/to/backup.tar.gz". Now, I'm on my way to restoring network service. Holy crow, all because of the libubox.

Restoring a backup is as easy as using sysupgrade :slight_smile:

Sounds like a typical symptom for a case where you have NOT set the fixed IP address for PC. If PC's dhcp client tried to refresh the IP during the TFTP flash, it will fail and will set a link-local 169.254.x.x IP that will break the TFTP transfer.

Yes, you need the"factory" image, just as explained in the wiki article that you linked in the previous message...

Just noting that the WNDR3700 TFTP mode works very well, as you finally noticed. I have used that about a dozen times during the years.

Very likely a simple solution for you would have been "firstboot" command in the Openwrt/LEDE failsafe mode. That should reset the router be removing all changes from the /overlay partition (all new packages, settings etc.). That would clean the router to be just after a clean flash. (I am not 100% sure that it would work in the failsafe mode in your case, but possibly yes.

If you want a polished LEDE trunk image with LuCI & all necessary basic tweak for WNDR3700, just use my community build: