Issue with mender client 2.4.0 on standalone update

Hi,

I’m facing an issue on meta-mender dunfell that on some sunxi board where I used standalone update successfully on v2.3 in mender v2.4 when I run mender commit I got:

build/src/github.com/mendersoftware/mender/main.go:28 main.doMain() There is nothing to commit   

When checked source seems env variable upgrade_available is not set. When before commit I set it to 1 commit will pass. Am I missing something or something was changed between v2.3 and v2.4? Thanks

Nothing that I am aware of. What is the U-Boot version?

Can you maybe share output of:

mender -install
fw_printenv
reboot
fw_printenv

u-boot version is 2020.01 -> comes from meta-mender dunfell andI verify that env handling working fine. I’ll get more logs and get back. Thanks.

Logs can be found here: https://drive.google.com/file/d/1AzasjIjAcT7kB5-m2DYEvY9Vb-6Gmm-f/view?usp=sharing

Basically upgrade_available + mender_boot_part after mender install are not set. I verity and can set u-boot env variable, reboot and after reboot read it back. Really strange :shushing_face: :thinking:

Restricted access.

Pls try again

Unfortunately the logs do no say much. Everything looks ok from the Mender client side.

But to confirm, does the Mender client 2.3 work in the same environment?

I would otherwise point towards the integration checklist, as this seems to be a problem with the U-Boot enviornment.

Can you also share content of /etc/fw_env.confg ?

I verify integration list and everything seems fine. I debug a mender code a bit and seems I have an issue with setting any u-boot env from code. I saw that for setting it’s used fw_setenv -s - to read from stdin and I verify using shell script fw_setenv -s - <<< echo “mender_boot_part=2” but when read back it’s not updated still. Ideas? Thanks

Marek

Can you try:

echo test_variable=1 | fw_setenv -s -
fw_printenv test_variable

and

echo test_variable 2 | fw_setenv -s -
fw_printenv test_variable

Both runs return

test_variable=

Marek

Can you check what packages provides fw_setenv ? On dunfell I believe it should come from libubootenv, e.g:

oe-pkgdata-util find-path /usr/bin/fw_setenv
libubootenv-bin: /usr/bin/fw_setenv

This is expected to work (verified a new dunfell build today):

root@raspberrypi4:~# echo test_variable=1 | fw_setenv -s -
root@raspberrypi4:~# fw_printenv test_variable
test_variable=1

Yes got the same result but it’s strange it’s not working on my end when in mender code replace WriteEnv by calling fw_setenv individually for all variables it start working. I have libubootenv v0.2 Thanks

BR,

Marek