No se puede actualizar el sistema OpenWRT en un enrutador Linksys WRT1900ACS

No se puede actualizar el sistema OpenWRT en un enrutador Linksys WRT1900ACS

Elsysupgradeinstrucciones de actualización basadasSugiera el siguiente ejemplo para una actualización del sistema:

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

La página de mi enrutador en OpenWRTDatos técnicos: Linksys WRT1900ACS v1sugiere que la "URL de actualización de firmware OpenWrt" eshttps://downloads.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-sysupgrade.tar-- un taren lugar de un bin--No se si esto es importante- No lo es.

Descargar:

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 el certificado Let's Encrypt no es bueno :(

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]

Intentar actualizar usando elalquitránarchivo

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 el tararchivo que estoy usando no sirve. ¿Debería haber un binarchivo alternativo? ¿O qué más sugerirías?

Actualizar:

He intentado esto de nuevo con elLede detalles para mi enrutador- esta vez un .binarchivo...

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

Recibo los mismos errores en la parte inferior del resultado:

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

Mirando más allá, es esta parte la que falla:Cannot parse config file

Y parece ser algo que [se ha visto antes]](https://forum.openwrt.org/viewtopic.php?pid=298046#p298046) que tiene que ver con que mi enrutador tenga un kernel1y kernel2en/proc/mtd

En lugar de un dispositivo "firmware" o "linux" definido en /proc/mtd, en WRT1900AC y WRT1900ACS tenemos dos: "kernel1" y "kernel2", que son redundantes. Cuando el firmware actual se ejecuta en primer lugar, la actualización debe actualizarse en segundo lugar. Entonces existe la posibilidad de volver atrás si algo sale mal. Después del flasheo es necesario cambiar al segundo flash.

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

No sé cuál es el siguiente paso para la actualización. Cualquier ayuda o comentario es muy bienvenido.

Respuesta1

Después de leer un poco más, actualicé el sistema para agregar el archivo de configuración correcto que lamentablemente faltaba:

# 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

Una vez hecho esto, pude actualizar con éxito a la última versión de 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

Al reiniciar, muestra una actualización exitosa:

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

información relacionada