1

The sysupgrade based upgrade instructions suggest the following example for a sysupgrade:

cd /tmp wget http://downloads.openwrt.org/chaos_calmer/15.05/****/generic/filename-of-downloaded-sysupgrade.bin
sysupgrade -v /tmp/filename-of-downloaded-sysupgrade.bin

My router's page on OpenWRT Techdata: Linksys WRT1900ACS v1 suggests that the "Firmware OpenWrt Upgrade URL" is https://downloads.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar -- a tar rather than a bin -- I don't know if this is important - it is not.

Download:

root@OpenWrt:~# wget https://downloads.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar
--2018-02-04 16:23:18--  https://downloads.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar
Resolving downloads.openwrt.org... 2a01:4f8:202:43ea::3, 148.251.78.235
Connecting to downloads.openwrt.org|2a01:4f8:202:43ea::3|:443... failed: Permission denied.
Connecting to downloads.openwrt.org|148.251.78.235|:443... connected.
ERROR: cannot verify downloads.openwrt.org's certificate, issued by 'CN=Let\'s Encrypt Authority X3,O=Let\'s Encrypt,C=US':
  Unable to locally verify the issuer's authority.
To connect to downloads.openwrt.org insecurely, use `--no-check-certificate'.

Looks like The Let's Encrypt cert isn't good :(

root@OpenWrt:~# wget --no-check-certificate https://downloads.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar
--2018-02-04 16:23:28--  https://downloads.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar

Resolving downloads.openwrt.org... 2a01:4f8:202:43ea::3, 148.251.78.235
Connecting to downloads.openwrt.org|2a01:4f8:202:43ea::3|:443... failed: Permission denied.
Connecting to downloads.openwrt.org|148.251.78.235|:443... connected.
WARNING: cannot verify downloads.openwrt.org's certificate, issued by 'CN=Let\'s Encrypt Authority X3,O=Let\'s Encrypt,C=US':
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://archive.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar [following]
--2018-02-04 16:23:28--  https://archive.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar
Resolving archive.openwrt.org... 81.0.124.218
Connecting to archive.openwrt.org|81.0.124.218|:443... connected.
WARNING: cannot verify archive.openwrt.org's certificate, issued by 'CN=Let\'s Encrypt Authority X3,O=Let\'s Encrypt,C=US':
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 OK
Length: 4239360 (4.0M) [application/octet-stream]
Saving to: 'openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar'

openwrt-15.05.1-mvebu-armada-385-linksys-shelby-sq 100%[===============================================================================================================>]   4.04M  3.35MB/s   in 1.2s   

2018-02-04 16:23:29 (3.35 MB/s) - 'openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar' saved [4239360/4239360]

Attempting to upgrade using the tar file

root@OpenWrt:/tmp# sysupgrade -v openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar
Saving config files...
etc/collectd.conf
etc/config/dhcp
etc/config/dropbear
etc/config/firewall
etc/config/luci
etc/config/luci_statistics
etc/config/network
etc/config/openvpn
etc/config/openvpn_recipes
etc/config/pptpd
etc/config/qos
etc/config/rpcd
etc/config/samba
etc/config/system
etc/config/ubootenv
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/crontabs/root
etc/dnsmasq.conf
etc/dropbear/dropbear_dss_host_key
etc/dropbear/dropbear_rsa_host_key
etc/firewall.user
etc/group
etc/hosts
etc/inittab
etc/openvpn/AU Melbourne.ovpn
etc/openvpn/AU Sydney.ovpn
etc/openvpn/Brazil.ovpn
etc/openvpn/CA North York.ovpn
etc/openvpn/CA Toronto.ovpn
etc/openvpn/France.ovpn
etc/openvpn/Germany.ovpn
etc/openvpn/Hong Kong.ovpn
etc/openvpn/Ireland.ovpn
etc/openvpn/Israel.ovpn
etc/openvpn/Italy.ovpn
etc/openvpn/Japan.ovpn
etc/openvpn/Mexico.ovpn
etc/openvpn/Netherlands.ovpn
etc/openvpn/Romania.ovpn
etc/openvpn/Russia.ovpn
etc/openvpn/Singapore.ovpn
etc/openvpn/Sweden.ovpn
etc/openvpn/Switzerland.ovpn
etc/openvpn/Turkey.ovpn
etc/openvpn/UK London.ovpn
etc/openvpn/UK Southampton.ovpn
etc/openvpn/US California.ovpn
etc/openvpn/US East.ovpn
etc/openvpn/US Florida.ovpn
etc/openvpn/US Midwest.ovpn
etc/openvpn/US New York City.ovpn
etc/openvpn/US Seattle.ovpn
etc/openvpn/US Silicon Valley.ovpn
etc/openvpn/US Texas.ovpn
etc/openvpn/US West.ovpn
etc/openvpn/authuser
etc/openvpn/ca.crt
etc/openvpn/crl.pem
etc/openvpn/piageneric.ovpn
etc/opkg.conf
etc/opkg/customfeeds.conf
etc/opkg/keys/53bad1233d4c98c5
etc/passwd
etc/ppp/chap-secrets
etc/ppp/filter
etc/ppp/options
etc/ppp/options.pptpd
etc/pptpd.conf
etc/profile
etc/protocols
etc/rc.local
etc/samba/smb.conf.template
etc/services
etc/shadow
etc/shells
etc/ssl/openssl.cnf
etc/sysctl.conf
etc/sysupgrade.conf
etc/uhttpd.crt
etc/uhttpd.key
etc/uhttpd.key
etc/uhttpd.crt
killall: watchdog: no process killed
Sending TERM to remaining processes ... logd rpcd netifd odhcpd crond uhttpd smbd nmbd collectd ntpd dnsmasq ubusd askfirst 
Sending KILL to remaining processes ... askfirst 
Switching to ramdisk...
Performing system upgrade...
Cannot parse config file: No such file or directory
Cannot parse config file: No such file or directory
Error: environment not initialized
cannot find target partition
@OpenWrt:/tmp# 

It looks like the tar file I'm using is no good. Should there be an alternative bin file? Or what else would you suggest?

Update:

I've tried this again with the Lede details for my router - this time a .bin file...

cd /tmp wget --no-check-certificate https://downloads.lede-project.org/releases/17.01.4/targets/mvebu/generic/lede-17.01.4-mvebu-linksys-wrt1900acs-squashfs-sysupgrade.bin
sysupgrade -v lede-17.01.4-mvebu-linksys-wrt1900acs-squashfs-sysupgrade.bin

I get the same errors at the bottom of the output:

Saving config files...
etc/collectd.conf
etc/config/dhcp
...
etc/uhttpd.crt
killall: watchdog: no process killed
Sending TERM to remaining processes ... logd rpcd netifd odhcpd crond uhttpd 
smbd nmbd collectd ntpd dnsmasq ubusd askfirst 
Sending KILL to remaining processes ... askfirst 
Switching to ramdisk...
Performing system upgrade...
Cannot parse config file: No such file or directory
Cannot parse config file: No such file or directory
Error: environment not initialized
cannot find target partition

Looking further, it's this bit thats failing: Cannot parse config file

And seems to be something thats [been seen before]](https://forum.openwrt.org/viewtopic.php?pid=298046#p298046) to do with my router having a kernel1 and kernel2 in /proc/mtd

Instead of one device "firmware" or "linux" defined in /proc/mtd, in WRT1900AC and WRT1900ACS we have two of them: "kernel1" and "kernel2" which are redundant. When current firmware is running on first, upgrade should be flashed on second. Then there is a possibility to go back if something will go wrong. After flashing it's needed to switch to second flash.

-- from https://forum.openwrt.org/viewtopic.php?pid=298084#p298084

I'm at a loss as to what the next step is for upgrade. Any help or comments are very welcome.

1

1 Answer 1

1

After reading a little more, I updated the system to add the correct config file which was sadly missing:

# from https://github.com/openwrt/openwrt/blob/master/package/boot/uboot-envtools/files/mvebu

touch /etc/config/ubootenv

. /lib/uboot-envtools.sh
. /lib/functions.sh
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x40000"

config_load ubootenv
config_foreach ubootenv_add_app_config ubootenv

reboot

Having done that, I could successfully upgrade to the latest version of LEDE:

root@OpenWrt:/tmp# cd /tmp;  wget --no-check-certificate https://downloads.lede-project.org/releases/17.01.4/targets/mvebu/generic/lede-17.01.4-mvebu-linksys-wrt1900acs-squashfs-sysupgrade.bin
--2018-02-05 11:16:05--  https://downloads.lede-project.org/releases/17.01.4/targets/mvebu/generic/lede-17.01.4-mvebu-linksys-wrt1900acs-squashfs-sysupgrade.bin
Resolving downloads.lede-project.org... 2a01:4f8:202:43ea::3, 148.251.78.235
Connecting to downloads.lede-project.org|2a01:4f8:202:43ea::3|:443... failed: Permission denied.
Connecting to downloads.lede-project.org|148.251.78.235|:443... connected.
WARNING: cannot verify downloads.lede-project.org's certificate, issued by 'CN=Let\'s Encrypt Authority X3,O=Let\'s Encrypt,C=US':
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 OK
Length: 4853942 (4.6M) [application/octet-stream]
Saving to: 'lede-17.01.4-mvebu-linksys-wrt1900acs-squashfs-sysupgrade.bin'

lede-17.01.4-mvebu-linksys-wrt1900acs-squashfs-sys 100%[===============================================================================================================>]   4.63M  2.22MB/s   in 2.1s   

2018-02-05 11:16:08 (2.22 MB/s) - 'lede-17.01.4-mvebu-linksys-wrt1900acs-squashfs-sysupgrade.bin' saved [4853942/4853942]

root@OpenWrt:/tmp# sysupgrade -v lede-17.01.4-mvebu-linksys-wrt1900acs-squashfs-sysupgrade.bin
Saving config files...
etc/collectd.conf
etc/config/dhcp
etc/config/dropbear
etc/config/firewall
etc/config/luci
etc/config/luci_statistics
etc/config/network
etc/config/openvpn
etc/config/openvpn_recipes
etc/config/pptpd
etc/config/qos
etc/config/rpcd
etc/config/samba
etc/config/system
etc/config/ubootenv
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/crontabs/root
etc/dnsmasq.conf
etc/dropbear/dropbear_dss_host_key
etc/dropbear/dropbear_rsa_host_key
etc/firewall.user
etc/fw_env.config
etc/group
etc/hosts
etc/inittab
etc/openvpn/AU Melbourne.ovpn
etc/openvpn/AU Sydney.ovpn
etc/openvpn/Brazil.ovpn
etc/openvpn/CA North York.ovpn
etc/openvpn/CA Toronto.ovpn
etc/openvpn/France.ovpn
etc/openvpn/Germany.ovpn
etc/openvpn/Hong Kong.ovpn
etc/openvpn/Ireland.ovpn
etc/openvpn/Israel.ovpn
etc/openvpn/Italy.ovpn
etc/openvpn/Japan.ovpn
etc/openvpn/Mexico.ovpn
etc/openvpn/Netherlands.ovpn
etc/openvpn/Romania.ovpn
etc/openvpn/Russia.ovpn
etc/openvpn/Singapore.ovpn
etc/openvpn/Sweden.ovpn
etc/openvpn/Switzerland.ovpn
etc/openvpn/Turkey.ovpn
etc/openvpn/UK London.ovpn
etc/openvpn/UK Southampton.ovpn
etc/openvpn/US California.ovpn
etc/openvpn/US East.ovpn
etc/openvpn/US Florida.ovpn
etc/openvpn/US Midwest.ovpn
etc/openvpn/US New York City.ovpn
etc/openvpn/US Seattle.ovpn
etc/openvpn/US Silicon Valley.ovpn
etc/openvpn/US Texas.ovpn
etc/openvpn/US West.ovpn
etc/openvpn/authuser
etc/openvpn/ca.crt
etc/openvpn/crl.pem
etc/openvpn/piageneric.ovpn
etc/opkg.conf
etc/opkg/customfeeds.conf
etc/opkg/keys/53bad1233d4c98c5
etc/passwd
etc/ppp/chap-secrets
etc/ppp/filter
etc/ppp/options
etc/ppp/options.pptpd
etc/pptpd.conf
etc/profile
etc/protocols
etc/rc.local
etc/samba/smb.conf.template
etc/services
etc/shadow
etc/shells
etc/ssl/openssl.cnf
etc/sysctl.conf
etc/sysupgrade.conf
etc/uhttpd.crt
etc/uhttpd.key
etc/uhttpd.key
etc/uhttpd.crt
killall: watchdog: no process killed
Sending TERM to remaining processes ... logd rpcd netifd odhcpd crond uhttpd smbd nmbd collectd ntpd dnsmasq ubusd askfirst 
Sending KILL to remaining processes ... askfirst 
Switching to ramdisk...
Performing system upgrade...
Unlocking kernel1 ...

Writing from <stdin> to kernel1 ...     
ubiattach: error!: cannot attach mtd5
           error 22 (Invalid argument)
ubiformat: mtd5 (nand), size 35651584 bytes (34.0 MiB), 272 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 271 -- 100 % complete  
ubiformat: 85 eraseblocks are supposedly empty
ubiformat: warning!: 187 of 272 eraseblocks contain non-UBI data
ubiformat: warning!: only 0 of 272 eraseblocks have valid erase counter
ubiformat: erase counter 0 will be used for all eraseblocks
ubiformat: note, arbitrary erase counter value may be specified using -e option
ubiformat: use erase counter 0 for all eraseblocks
ubiformat: formatting eraseblock 271 -- 100 % complete  
UBI device number 2, total 272 LEBs (34537472 bytes, 32.9 MiB), available 248 LEBs (31490048 bytes, 30.0 MiB), LEB size 126976 bytes (124.0 KiB)
Volume ID 0, size 22 LEBs (2793472 bytes, 2.7 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1
Set volume size to 28696576
Volume ID 1, size 226 LEBs (28696576 bytes, 27.4 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs_data", alignment 1
sysupgrade successful

On reboot, it shows a successful upgrade:

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|                      lede-project.org
 \        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01.4, r3560-79f57e422d)
    \________\/    -----------------------------------------------------------

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .