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.