Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#865 - Upgrading Firmware is broken on Linksys EA9500 #5845

Closed
openwrt-bot opened this issue Jun 23, 2017 · 6 comments
Closed

FS#865 - Upgrading Firmware is broken on Linksys EA9500 #5845

openwrt-bot opened this issue Jun 23, 2017 · 6 comments
Labels

Comments

@openwrt-bot
Copy link

npcomplete:

I've been building some test builds for EA9500 for testing. and noticed that upgrading is broken some few weeks now.

This can be replicated using trunk as of June-20-2017. I also tried the trunk from today (June-23-2017) - I noticed there were upstream patches related to bcm47xxpart merged. I was hoping it would fix it but it is still broken.

root@LEDE:/# Watchdog handover: fd=3 - watchdog - killall: telnetd: no process killed killall: dropbear: no process killed Sending TERM to remaining processes ... logd rpcd netifd odhcpd tor dnsmasq collectd dnscrypt-proxy ntpd sh sysupgrade ubus ubusd Sending KILL to remaining processes ... Extracted 0x3fffe4 bytes into /tmp/sysupgrade-bcm53xx/kernel Extracted 0xa40000 bytes into /tmp/sysupgrade-bcm53xx/root Unlocking firmware ...

Writing from /tmp/kernel.trx to firmware ...
Switching to ramdisk...
[ 197.085538] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" stops
[ 197.162382] UBIFS (ubi0:1): un-mount UBI device 0
Performing system upgrade...
removing ubiblock0_0
[ 197.290257] block ubiblock0_0: released
ubimkvol: error!: bad volume size: "0"
cannot create rootfs volume
ubiupdatevol: error!: file size must be specified if input is stdin
tar: invalid tar magic

Partition map from latest trunk

[ 1.721173] 5 bcm47xxpart partitions found on MTD device brcmnand.0 [ 1.727451] Creating 5 MTD partitions on "brcmnand.0": [ 1.732608] 0x000000000000-0x000000080000 : "boot" [ 1.738024] 0x000000080000-0x000000180000 : "nvram" [ 1.743484] 0x000000180000-0x000000200000 : "nvram" [ 1.748904] 0x000000200000-0x000001f00000 : "firmware" [ 1.755435] 2 trx partitions found on MTD device firmware [ 1.760873] Creating 2 MTD partitions on "firmware": [ 1.765848] 0x00000000001c-0x000000400000 : "linux" [ 1.771341] 0x000000400000-0x000001d00000 : "ubi" [ 1.776685] 0x000001f00000-0x000008000000 : "failsafe"

The last build I have that worked is from April 20th. I'm not sure when it broke.

root@LEDE:/# Watchdog handover: fd=3 - watchdog - killall: telnetd: no process killed killall: dropbear: no process killed Sending TERM to remaining processes ... logd rpcd netifd odhcpd smbd nmbd ntpd dnsmasq sh sysupgrade ubus ubusd Sending KILL to remaining processes ... Switching to ramdisk... [ 77.348096] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" stops [ 77.397249] UBIFS (ubi0:1): un-mount UBI device 0 [ 77.450323] block ubiblock0_0: released [ 77.454282] ubi0: detaching mtd6 [ 77.457847] ubi0: mtd6 is detached ubiformat: mtd6 (nand), size 26214400 bytes (25.0 MiB), 200 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes libscan: scanning eraseblock 199 -- 100 % complete ubiformat: 200 eraseblocks have valid erase counter, mean value is 0 ubiformat: flashing eraseblock 52 -- 100 % complete ubiformat: formatting eraseb[ 80.952037] ubi0: attaching mtd6 ubiformat: formatting eraseblock 199 -- 100 % complete [ 81.092444] ubi0: scanning is finished [ 81.119116] ubi0: volume 1 ("rootfs_data") re-sized from 9 to 125 LEBs [ 81.126063] ubi0: attached mtd6 (name "ubi", size 25 MiB) [ 81.131515] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes [ 81.138410] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 [ 81.145215] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 [ 81.152194] ubi0: good PEBs: 200, bad PEBs: 0, corrupted PEBs: 0 [ 81.158210] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128 [ 81.165450] ubi0: max/mean erase counter: 3/1, WL threshold: 4096, image sequence number: 1220998339 [ 81.174606] ubi0: available PEBs: 0, total reserved PEBs: 200, PEBs reserved for bad PEB handling: 20 [ 81.183858] ubi0: background thread "ubi_bgt0d" started, PID 2731 UBI device number 0, total 200 LEBs (25395200 bytes, 24.2 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB) sysupgrade successful umount: can't unmount /dev: Resource busy umount: can't unmount /tmp: Resource busy [ 81.381107] reboot: Restarting system

Partition map from April 20th build

[ 1.807011] 7 bcm47xxpart partitions found on MTD device brcmnand.0
[ 1.813298] Creating 7 MTD partitions on "brcmnand.0":
[ 1.818447] 0x000000000000-0x000000080000 : "boot"
[ 1.823906] 0x000000080000-0x000000180000 : "nvram"
[ 1.829334] 0x000000180000-0x000000200000 : "nvram"
[ 1.834857] 0x000000200000-0x000001f00000 : "firmware"
[ 1.841054] 0x000001f00000-0x000008000000 : "failsafe"
[ 1.847092] 0x00000020001c-0x000000600000 : "linux"
[ 1.852594] 0x000000600000-0x000001f00000 : "ubi"

@openwrt-bot
Copy link
Author

monokoo:

I have the same issue when I test the BCM53XX for my router.

The ttl log shows below:
root@LEDE:/# Watchdog handover: fd=3

  • watchdog -
    killall: telnetd: no process killed
    killall: dropbear: no process killed
    Sending TERM to remaining processes ... logd rpcd netifd odhcpd crond hd-idle dbus-daemon smbd nmbd blockd dnsmasq device_online.s sleep sh sysupgrade ubus shellinaboxd shellinaboxd ubusd
    [ 919.193846] device br-lan left promiscuous mode
    Sending KILL to remaining processes ... dnsc
    Extracted 0x3fffe4 bytes into /tmp/sysupgrade-bcm53xx/kernel
    Extracted 0x1e60000 bytes into /tmp/sysupgrade-bcm53xx/root
    Unlocking firmware ...

Writing from /tmp/kernel.trx to firmware ...
Switching to ramdisk...
[ 926.699953] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" stops
[ 926.802945] UBIFS (ubi0:1): un-mount UBI device 0
Performing system upgrade...
removing ubiblock0_0
[ 926.952099] block ubiblock0_0: released
ubimkvol: error!: bad volume size: "0"
cannot create rootfs volume
ubiupdatevol: error!: file size must be specified if input is stdin
tar: invalid tar magic
sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
[ 927.292174] reboot: Restarting system

@openwrt-bot
Copy link
Author

monokoo:

The last build I have that worked is before April 30th. And I'm sure that this happens because of sysupgrade scripte update on the date of April 30th.

@openwrt-bot
Copy link
Author

NeoRaider:

I have pushed a few commits that might fix this issue to the "sysupgrade-fixes" branch in my staging tree at https://git.lede-project.org/?p=lede/neoraider/staging.git;a=summary . I don't have a BCM53xx test device, so the fix is untested.

@openwrt-bot
Copy link
Author

npcomplete:

After building your source I get this. Thanks!

Sending TERM to remaining processes ... logd rpcd netifd odhcpd smbd nmbd ntpclient collectd dnsmasq dnscrypt-proxy ntpd sh sy supgrade ubus ubusd Sending KILL to remaining processes ... Extracted 0x3fffe4 bytes into /tmp/sysupgrade-bcm53xx/kernel Extracted 0xb20000 bytes into /tmp/sysupgrade-bcm53xx/root Unlocking firmware ...

Writing from /tmp/kernel.trx to firmware ...
Switching to ramdisk...
/lib/upgrade/stage2: line 142: /bin/mount: not found
/lib/upgrade/stage2: line 142: /bin/mount: not found
/lib/upgrade/stage2: line 142: /bin/mount: not found
/lib/upgrade/stage2: line 142: /bin/mount: not found
/lib/upgrade/stage2: line 142: /bin/umount: not found
/lib/upgrade/stage2: line 142: /bin/mount: not found
/lib/upgrade/stage2: line 142: /bin/umount: not found
Performing system upgrade...
cat: can't open '/tmp/sysinfo/board_name': No such file or directory
ubiattach: error!: UBI is not present in the system
libmtd: error!: cannot open "/dev/mtd5"
error 2 (No such file or directory)
libmtd: MTD subsystem is old and does not support sysfs, so MTD character device nodes have to exist
libmtd: error!: "/dev/mtd5" is not a character device
ubiformat: error!: cannot get information about "/dev/mtd5"
error 22 (Invalid argument)
ubiattach: error!: UBI is not present in the system
ubimkvol: error!: bad volume size: "0"
cannot create rootfs volume
ubiupdatevol: error!: file size must be specified if input is stdin
tar: /tmp/root.ubi: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
sysupgrade successful
umount: /mnt/dev: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
umount: /mnt: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
umount: /mnt/tmp: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
[ 104.542844] reboot: Restarting system

root@LEDE:/# cat /proc/mtd dev: size erasesize name mtd0: 00080000 00020000 "boot" mtd1: 00100000 00020000 "nvram" mtd2: 00080000 00020000 "nvram" mtd3: 01d00000 00020000 "firmware" mtd4: 003fffe4 00020000 "linux" mtd5: 01900000 00020000 "ubi" mtd6: 06100000 00020000 "failsafe"

@openwrt-bot
Copy link
Author

NeoRaider:

Updated my branch again, now it should really work.

@openwrt-bot
Copy link
Author

npcomplete:

I can confirm that your latest changes work!

Thanks for fixing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant