Falha ao sysupgrade OpenWRT em um roteador Linksys WRT1900ACS

Falha ao sysupgrade OpenWRT em um roteador Linksys WRT1900ACS

Osysupgradeinstruções de atualização baseadassugira o seguinte exemplo para um 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

A página do meu roteador no OpenWRTDados técnicos: Linksys WRT1900ACS v1sugere que o "URL de atualização do firmware OpenWrt" sejahttps://downloads.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar- um tarem vez de um bin-Não sei se isso é importante- não é.

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'.

Parece que o certificado Let's Encrypt não é bom :(

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]

Tentando atualizar usando oalcatrãoarquivo

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# 

Parece que o tararquivo que estou usando não é bom. Deveria haver um binarquivo alternativo? Ou o que mais você sugeriria?

Atualizar:

Eu tentei isso novamente com oDetalhes Lede para meu roteador- desta vez um .binarquivo...

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

Recebo os mesmos erros na parte inferior da saída:

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

Olhando mais adiante, é esta parte que está falhando:Cannot parse config file

E parece ser algo que já foi visto antes]](https://forum.openwrt.org/viewtopic.php?pid=298046#p298046) relacionado ao fato de meu roteador ter um kernel1e kernel2em/proc/mtd

Em vez de um dispositivo "firmware" ou "linux" definido em /proc/mtd, no WRT1900AC e WRT1900ACS temos dois deles: "kernel1" e "kernel2" que são redundantes. Quando o firmware atual estiver sendo executado primeiro, a atualização deverá ser atualizada no segundo. Então existe a possibilidade de voltar atrás se algo der errado. Depois de piscar é necessário mudar para o segundo flash.

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

Não sei qual é o próximo passo para atualização. Qualquer ajuda ou comentário é muito bem-vindo.

Responder1

Depois de ler um pouco mais, atualizei o sistema para adicionar o arquivo de configuração correto que infelizmente estava faltando:

# 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

Feito isso, consegui atualizar com sucesso para a versão mais recente do 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

Na reinicialização, mostra uma atualização bem-sucedida:

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

informação relacionada