Updating OpenWRT was weird. Installing extroot caused brick?

Hi, I decided to update my OpenWRT on WDR4300 (I guess it's v1) from 15.05 to 19.07.5. So I went to LuCi, unchecked option to keep config, choose file with latest update and flashed it. The site was saying it's flashing and to not turn off device. It went for an hour. I couldn't connect to router so I decided to screw it and I just turned off router and than turned it back on. I don't remember exactly but I think at first I couldn't connect to it but maybe like one or two restarts later it worked. LuCi was under my password and it stated 15.05. So I gave it another shot. I tried to update once again. After looking at "flashing" screen for 10mins I restarted router. I had to restart it many times. After one attempt I left it on for a little longer and... it worked :smiley: No password and 19.07.5.
I did the basic configuration. I noticed that my WiFi was fine but after some time 5g was magically "disconnected" but I thought I'll figure it out later. It was time for extroot. I didn't remember how I've done it few years ago so I decided to follow tutorial on openwrt.org. Everything was looking fine until I typed "reboot" and pressed enter. After that I wasn't able to connect to my router. Doesn't matter if usb is plugged or not. LEDs are looking normal. I think when I was first installing OpenWRT a few years back I also had some issues like endless flashing so I wonder if maybe my firmware is faulty now and I have to wipe it and install fresh instead of update.

Anyway I'd like to have OpenWRT 19.07.5 up and running. What's the best way to do this now?



Here is what I typed in SSH:
root@OpenWrt:~# opkg update
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/  packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/  packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/  kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/  kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/bas  e/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/bas  e/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/fre  ifunk/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_freifunk
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/fre  ifunk/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/luc  i/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/luc  i/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/pac  kages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/pac  kages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/rou  ting/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/rou  ting/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/tel  ephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/tel  ephony/Packages.sig
Signature check passed.
root@OpenWrt:~# opkg install block-mount
Installing block-mount (2020-05-12-84269037-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/  packages/block-mount_2020-05-12-84269037-1_mips_24kc.ipk
Configuring block-mount.
root@OpenWrt:~# opkg install e2fsprogs
Installing e2fsprogs (1.44.5-2) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/bas  e/e2fsprogs_1.44.5-2_mips_24kc.ipk
Installing librt (1.1.24-2) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/  packages/librt_1.1.24-2_mips_24kc.ipk
Installing libuuid1 (2.34-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/bas  e/libuuid1_2.34-1_mips_24kc.ipk
Installing libblkid1 (2.34-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/bas  e/libblkid1_2.34-1_mips_24kc.ipk
Installing libcomerr0 (1.44.5-2) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/bas  e/libcomerr0_1.44.5-2_mips_24kc.ipk
Installing libss2 (1.44.5-2) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/bas  e/libss2_1.44.5-2_mips_24kc.ipk
Installing libext2fs2 (1.44.5-2) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/bas  e/libext2fs2_1.44.5-2_mips_24kc.ipk
Configuring librt.
Configuring libuuid1.
Configuring libblkid1.
Configuring libcomerr0.
Configuring libss2.
Configuring libext2fs2.
Configuring e2fsprogs.
root@OpenWrt:~# opkg install kmod-fs-ext4
Installing kmod-fs-ext4 (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-fs-ext4_4.14.209-1_mips_24kc.ipk
Installing kmod-lib-crc16 (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-lib-crc16_4.14.209-1_mips_24kc.ipk
Installing kmod-crypto-hash (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-crypto-hash_4.14.209-1_mips_24kc.ipk
Installing kmod-crypto-crc32c (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-crypto-crc32c_4.14.209-1_mips_24kc.ipk
Configuring kmod-crypto-hash.
Configuring kmod-lib-crc16.
Configuring kmod-crypto-crc32c.
Configuring kmod-fs-ext4.
root@OpenWrt:~# opkg install kmod-usb-storage
Installing kmod-usb-storage (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-usb-storage_4.14.209-1_mips_24kc.ipk
Installing kmod-scsi-core (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-scsi-core_4.14.209-1_mips_24kc.ipk
Configuring kmod-scsi-core.
Configuring kmod-usb-storage.
root@OpenWrt:~# opkg install kmod-usb2
Package kmod-usb2 (4.14.209-1) installed in root is up to date.
root@OpenWrt:~# opkg install kmod-usb3
Installing kmod-usb3 (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-usb3_4.14.209-1_mips_24kc.ipk
Configuring kmod-usb3.
root@OpenWrt:~#


root@OpenWrt:~# ls -al /dev/sd*
ls: /dev/sd*: No such file or directory
root@OpenWrt:~# ls -al /dev/sd*
brw-------    1 root     root        8,   0 Jan 14 01:35 /dev/sda
brw-------    1 root     root        8,   1 Jan 14 01:35 /dev/sda1
root@OpenWrt:~#


root@OpenWrt:~# mkfs.ext4 /dev/sda1
mke2fs 1.44.5 (15-Dec-2018)
/dev/sda1 contains a vfat file system
Proceed anyway? (y,N) y
Creating filesystem with 977408 4k blocks and 244800 inodes
Filesystem UUID: 859e44ff-9567-4ace-99a3-4f464964c200
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
root@OpenWrt:~#


root@OpenWrt:~# block detect | uci import fstab


root@OpenWrt:~# uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].an
on_mount='1' && uci commit fstab


root@OpenWrt:~# /etc/init.d/fstab boot


=======================================================================


root@OpenWrt:~# opkg update && opkg install block-mount kmod-fs-ext4 kmod-usb-stora
ge kmod-usb-ohci kmod-usb-uhci e2fsprogs fdisk
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/base/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/freifunk/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_freifunk
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/freifunk/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/luci/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/routing/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/telephony/Packages.sig
Signature check passed.
Package block-mount (2020-05-12-84269037-1) installed in root is up to date.
Package kmod-fs-ext4 (4.14.209-1) installed in root is up to date.
Package kmod-usb-storage (4.14.209-1) installed in root is up to date.
Installing kmod-usb-ohci (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-usb-ohci_4.14.209-1_mips_24kc.ipk
Installing kmod-usb-uhci (4.14.209-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/kmod-usb-uhci_4.14.209-1_mips_24kc.ipk
Package e2fsprogs (1.44.5-2) installed in root is up to date.
Installing fdisk (2.34-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/base/fdisk_2.34-1_mips_24kc.ipk
Installing libsmartcols1 (2.34-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/base/libsmartcols1_2.34-1_mips_24kc.ipk
Installing libfdisk1 (2.34-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/base/libfdisk1_2.34-1_mips_24kc.ipk
Installing terminfo (6.1-5) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/base/terminfo_6.1-5_mips_24kc.ipk
Installing libncurses6 (6.1-5) to root...
Downloading http://downloads.openwrt.org/releases/19.07.5/packages/mips_24kc/base/libncurses6_6.1-5_mips_24kc.ipk
Configuring terminfo.
Configuring libsmartcols1.
Configuring kmod-usb-ohci.
Configuring libfdisk1.
Configuring libncurses6.
Configuring fdisk.
Configuring kmod-usb-uhci.
root@OpenWrt:~#


root@OpenWrt:~# cat /etc/config/fstab

config global
        option anon_swap '0'
        option auto_swap '1'
        option auto_mount '1'
        option delay_root '5'
        option check_fs '0'
        option anon_mount '1'

config mount
        option target '/mnt/sda1'
        option uuid '859e44ff-9567-4ace-99a3-4f464964c200'
        option enabled '1'

root@OpenWrt:~# grep -e rootfs_data /proc/mtd
mtd4: 003e0000 00010000 "rootfs_data"
root@OpenWrt:~# DEVICE="$(sed -n -e "/\s\/overlay\s.*$/s///p" /etc/mtab)"
root@OpenWrt:~# uci -q delete fstab.rwm
root@OpenWrt:~# uci set fstab.rwm="mount"
root@OpenWrt:~# uci set fstab.rwm.device="${DEVICE}"
root@OpenWrt:~# uci set fstab.rwm.target="/rwm"
root@OpenWrt:~# uci commit fstab
root@OpenWrt:~#


root@OpenWrt:~# block info
/dev/mtdblock3: UUID="97ad7144-3ada329f-3b51b3d2-e4e33126" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/mtdblock4: MOUNT="/overlay" TYPE="jffs2"
/dev/sda1: UUID="859e44ff-9567-4ace-99a3-4f464964c200" VERSION="1.0" MOUNT="/mnt/sda1" TYPE="ext4"


root@OpenWrt:~# DEVICE="/dev/sda1"
root@OpenWrt:~# eval $(block info "${DEVICE}" | grep -o -e "UUID=\S*")
root@OpenWrt:~# uci -q delete fstab.overlay
root@OpenWrt:~# uci set fstab.overlay="mount"
root@OpenWrt:~# uci set fstab.overlay.uuid="${UUID}"
root@OpenWrt:~# uci set fstab.overlay.target="/overlay"
root@OpenWrt:~# uci commit fstab
root@OpenWrt:~#


root@OpenWrt:~# mount /dev/sda1 /mnt
root@OpenWrt:~# cp -f -a /overlay/. /mnt
root@OpenWrt:~# umount /mnt


root@OpenWrt:~# reboot

extroot adds a certain complexity, I'd suggest to ensure that the basics are working first, before looking at it (and probably to avoid it altogether, if you can).

Personally I've kept my tl-wdr4300 upgraded all the time since I bought it in early 2013(?), albeit in much more gradual steps. While I don't use it that much anymore (in favour of 802.11ac capable devices), I often turn to it for weird experimenting before deploying the configuration on my 'production' network - it's generally working for me.

2 Likes

I see your point. Maybe I should've taken care of that 5G first and ensure firmware is working fine. As for extroot itself I think I'll need that. 8MB is not a whole lot. Anyway when it'll be daytime I'll try failsafe mode and hope it works. How can I reinstall firmware to be sure it's clean 100% working? I guess I can't use LuCi for that (I don't want endless flashing). I think I'll use SSH and sysupgrade with -n option but is it enough?

So I've managed to unbrick WDR4300 using TFTP. Failsafe mode didn't work for me. LEDs were looking like it is in this mode but there was no connection. Haven't tried extroot yet but basic configuration I made seems to work. For some reason tutorial on openwrt.org on TFTP recovery didn't work for me. I did some digging and it's working now. Here is simple tutorial I wrote:

  1. Download OpenWRT openwrt-19.07.5-ath79-generic-tplink_tl-wdr4300-v1-squashfs-factory.bin (FACTORY NOT SYSUPGRADE)
  2. Download tftp server and unzip it (portable) http://tftpd32.jounin.net/tftpd32_download.html
  3. Connect PC to WDR4300 LAN1 port
  4. Copy ...squashfs-factory.bin to tftp folder and change it's name to "wdr4300v1_tp_recovery.bin"
  5. Disable wifi and change IP of PC to 192.168.0.66 (255.255.255.0)
  6. Run tftpd64.exe and check if there is a correct file and change "server interface" to 192.168.0.66
  7. On WDR4300 hold "reset/wps" button and while holding press "power" once. Once WPS LED (furtherest to the right of power LED) lights up you can let go of "reset".
  8. You should see tftp uploading the file. Give router 4-5 minutes to install firmware.
  9. After this time change PC IP back to original state, enable wifi and you are done! Connect to 192.168.1.1

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.