My remarkable is at version 3.12.4.4 and has been stuck there for some time. When I try to upgrade, the process gets stuck in "Checking for update". After SSHing into it and looking at the upgrade processes manually, it seems it's stuck in a persistent state of recovery_status=in_progress, which I suspect is hanging the upgrade process. I'm attaching the output in hopes that someone can clarify how to reset this flag and allow the natural update process to proceed.
reMarkable: ~/ journalctl -u update-engine -f
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: If this causes problems, reconfigure your locale. See the locale(1) manual
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: for more information.
Aug 31 23:48:43 reMarkable systemd[1]: Started Fake Update Engine.
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: bool fakeupdateengine::swupdate::Bootloader::isAwaitingRestart()
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: fakeupdateengine::swupdate::State fakeupdateengine::swupdate::Bootloader::getBootloaderState()
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: Read update_state: 7
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: bool fakeupdateengine::swupdate::Bootloader::isProcessingUpdate()
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: fakeupdateengine::swupdate::State fakeupdateengine::swupdate::Bootloader::getBootloaderState()
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: Read update_state: 7
Aug 31 23:48:43 reMarkable fakeupdateengine_service[1217]: Starting monitor thread
Aug 31 23:59:33 reMarkable fakeupdateengine_service[1217]: Monitoring thread is already running. Update already in progress?
and then looking at boot env vars:
reMarkable: ~/ fw_printenv
active_partition=2
altbootcmd=echo Running from fallback root...; setenv mmcpart ${fallback_partition}; setenv bootargs console=${console},${baudrate} root=/dev/mmcblk2p${fallback_partition} rootwait rootfstype=ext4 rw quiet panic=20 systemd.crash_reboot ${logargs}; run mmcboot;
baudrate=115200
bootcmd=if test ! -e mmc 0:1 uboot.env; then saveenv; fi; run memboot; run mmcargs; setenv mmcpart ${active_partition}; run mmcboot; echo WARN: unable to boot from either RAM or eMMC; setenv upgrade_available 1; saveenv; reset;
bootdelay=0
bootlimit=1
console=ttymxc0
ethprime=eth0
fallback_partition=3
fastboot_dev=mmc0
fdt_addr=0x83000000
fdt_file=/boot/zero-sugar.dtb
fdtcontroladdr=bdf2ac70
image=/boot/zImage
ip_dyn=yes
loadaddr=0x80800000
loadfdt=ext4load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=ext4load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
logargs=systemd.show_status=0 loglevel=0 crashkernel=32M
memboot=echo Booting from memory...; setenv bootargs console=${console},${baudrate} g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" rdinit=/linuxrc; bootz ${loadaddr} ${initrd} ${fdt_addr};
mmcargs=setenv bootargs console=${console},${baudrate} root=/dev/mmcblk2p${active_partition} rootwait rootfstype=ext4 rw quiet panic=20 systemd.crash_reboot ${logargs}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; mmc dev ${mmcdev}; if mmc rescan; then if run loadimage; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else echo WARN: Cannot load the DT; fi; fi; fi;
mmcdev=0
panel=EPD
recovery_status=in_progress
serial#=1748317482986
soc_type=imx7d
update_state=7
vcom=1200
upgrade_available=0
bootcount=0