# Mender 2.2 Problem with mender-wait-for-timesync

**URL:** <https://hub.mender.io/t/mender-2-2-problem-with-mender-wait-for-timesync/1653>\
**Category:** General Discussions\
**Tags:** yocto, raspberry-pi-3\
**Created:** [March 18, 2020, 3:24pm UTC](https://hub.mender.io/t/mender-2-2-problem-with-mender-wait-for-timesync/1653 "2020-03-18T15:24:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![markus4dev](https://avatars.discourse-cdn.com/v4/letter/m/dec6dc/32.png) [@markus4dev](https://hub.mender.io/u/markus4dev)\
**Post date:** [March 18, 2020, 3:24pm UTC](https://hub.mender.io/t/mender-2-2-problem-with-mender-wait-for-timesync/1653/1 "2020-03-18T15:24:45Z")

</div>

Hi community!

My first post here, I appreciate the discussions here, very informative!

My problem is that I can’t do any updates anymore after moving from Mender 1.7 to Mender 2.2 due to the time-sync problem on raspberrypi when not having network directly. This was never an issue before, since mender-wait-for-timesync solved this perfectly.

I have not migrated client and server from 1.7 → 2.2. I started from scratch on 2.2 and added my own layers back to the yocto build.

> IMAGE\_INSTALL\_append = " … mender-wait-for-timesync"

I have the following polling variables

> MENDER\_UPDATE\_POLL\_INTERVAL\_SECONDS = “180”  
> MENDER\_INVENTORY\_POLL\_INTERVAL\_SECONDS = “180”  
> MENDER\_RETRY\_POLL\_INTERVAL\_SECONDS = “240”

(still in the **mender\_%.bbappend** file, not moved to mender.conf yet)

I am not sure why **mender-wait-for-timesync** doesn’t work anymore for updates. Is this correct?

I have noticed that mender-state-scripts functionality will do the trick. But I don’t know where to place it so it follows along with the mender artifact file after the yocto build. I would need some guidance here!

I read this post but it didn’t help me all the way.  
[https://hub.mender.io/t/mender-2-0-update-failure-because-wifi-network-not-immediately-available/711](https://hub.mender.io/t/mender-2-0-update-failure-because-wifi-network-not-immediately-available/711)

Thanks,  
Markus

Below is the log from the failed update:

> **Error log**
>
> > 2020-03-18 12:47:30 +0000 UTC info: Running Mender version 2.2.0  
> > 2020-03-18 12:47:30 +0000 UTC debug: handle update fetch state  
> > 2020-03-18 12:47:30 +0000 UTC debug: status reported, response 204 No Content  
> > 2020-03-18 12:47:30 +0000 UTC debug: Received fetch update response &{200 OK 200 HTTP/1.1 1 1 map[Accept-Ranges:[bytes] Connection:[keep-alive] Content-Length:[125207552] Content-Security-Policy:[block-all-mixed-content] Content-Type:[application/vnd.mender-artifact] Date:[Wed, 18 Mar 2020 12:47:30 GMT] Etag:[“8a2acc6c14ad93b6ff6b21b37ace8929”] Last-Modified:[Wed, 18 Mar 2020 12:46:52 GMT] Server:[openresty/1.13.6.2] Strict-Transport-Security:[max-age=63072000; includeSubdomains; preload] Vary:[Origin] X-Amz-Request-Id:[15FD66C7765EFD4D] X-Content-Type-Options:[nosniff] X-Frame-Options:[DENY] X-Xss-Protection:[1; mode=block]] 0x1b797a0 125207552 false false map 0x18a2e80 0x19aa420}+  
> > 2020-03-18 12:47:30 +0000 UTC info: State transition: update-fetch [Download\_Enter] → update-store [Download\_Enter]  
> > 2020-03-18 12:47:30 +0000 UTC debug: handle update install state  
> > 2020-03-18 12:47:31 +0000 UTC debug: status reported, response 204 No Content  
> > 2020-03-18 12:47:31 +0000 UTC debug: Read data from device manifest file: device\_type=raspberrypi3  
> > 2020-03-18 12:47:31 +0000 UTC debug: Current manifest data: raspberrypi3  
> > 2020-03-18 12:47:31 +0000 UTC info: no public key was provided for authenticating the artifact  
> > 2020-03-18 12:47:31 +0000 UTC info: Update Module path “/usr/share/mender/modules/v3” could not be opened (open /usr/share/mender/modules/v3: no such file or directory). Update modules will not be available  
> > 2020-03-18 12:47:31 +0000 UTC debug: checking if device [raspberrypi3] is on compatible device list: [raspberrypi3]  
> > 2020-03-18 12:47:31 +0000 UTC debug: installer: processing script: ArtifactCommit\_Enter\_10\_wait-for-timesync  
> > 2020-03-18 12:47:31 +0000 UTC debug: installer: processing script: ArtifactCommit\_Enter\_10\_migrate-configuration  
> > 2020-03-18 12:47:31 +0000 UTC debug: installer: successfully read artifact [name: yocto-vfb-warrior-lte-biz-3; version: 3; compatible devices: [raspberrypi3]]  
> > 2020-03-18 12:47:31 +0000 UTC debug: Active partition: /dev/mmcblk0p2  
> > 2020-03-18 12:47:31 +0000 UTC debug: Detected inactive partition /dev/mmcblk0p3, based on active partition /dev/mmcblk0p2  
> > 2020-03-18 12:47:31 +0000 UTC info: opening device /dev/mmcblk0p3 for writing  
> > 2020-03-18 12:47:31 +0000 UTC debug: Open block-device for installing update of size: 767557632  
> > 2020-03-18 12:47:31 +0000 UTC debug: Device: /dev/mmcblk0p3 is a ubi device: false  
> > 2020-03-18 12:47:31 +0000 UTC info: native sector size of block device /dev/mmcblk0p3 is 512, we will write in chunks of 1048576  
> > 2020-03-18 12:47:31 +0000 UTC debug: Opening device: /dev/mmcblk0p3 for writing with flag: 2  
> > 2020-03-18 12:51:26 +0000 UTC info: 0 bytes remaining to be written  
> > 2020-03-18 12:51:26 +0000 UTC info: The optimized block-device writer wrote a total of 733 frames, where 193 frames did need to be rewritten  
> > 2020-03-18 12:51:27 +0000 UTC info: Wrote 767557632/767557632 bytes to the inactive partition  
> > 2020-03-18 12:51:27 +0000 UTC debug: status reported, response 204 No Content  
> > 2020-03-18 12:51:27 +0000 UTC info: State transition: update-store [Download\_Enter] → update-after-store [Download\_Leave]  
> > 2020-03-18 12:51:27 +0000 UTC info: State transition: update-after-store [Download\_Leave] → update-install [ArtifactInstall]  
> > 2020-03-18 12:51:27 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:27 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:27 +0000 UTC debug: status reported, response 204 No Content  
> > 2020-03-18 12:51:27 +0000 UTC debug: Inactive partition: /dev/mmcblk0p3  
> > 2020-03-18 12:51:27 +0000 UTC debug: Marking inactive partition (/dev/mmcblk0p3) as the new boot candidate.  
> > 2020-03-18 12:51:27 +0000 UTC info: Enabling partition with new image installed to be a boot candidate: 3  
> > 2020-03-18 12:51:27 +0000 UTC debug: Have U-Boot variable: mender\_check\_saveenv\_canary=1  
> > 2020-03-18 12:51:27 +0000 UTC debug: List of U-Boot variables:map[mender\_check\_saveenv\_canary:1]  
> > 2020-03-18 12:51:27 +0000 UTC debug: Have U-Boot variable: mender\_saveenv\_canary=1  
> > 2020-03-18 12:51:27 +0000 UTC debug: List of U-Boot variables:map[mender\_saveenv\_canary:1]  
> > 2020-03-18 12:51:27 +0000 UTC debug: Marking inactive partition as a boot candidate successful.  
> > 2020-03-18 12:51:27 +0000 UTC info: State transition: update-install [ArtifactInstall] → reboot [ArtifactReboot\_Enter]  
> > 2020-03-18 12:51:27 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:27 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:27 +0000 UTC debug: handling reboot state  
> > 2020-03-18 12:51:27 +0000 UTC debug: status reported, response 204 No Content  
> > 2020-03-18 12:51:27 +0000 UTC info: rebooting device(s)  
> > 2020-03-18 12:51:27 +0000 UTC info: Mender rebooting from active partition: /dev/mmcblk0p2  
> > 1970-01-01 00:00:19 +0000 UTC info: Running Mender version 2.2.0  
> > 1970-01-01 00:00:19 +0000 UTC info: Update Module path “/usr/share/mender/modules/v3” could not be opened (open /usr/share/mender/modules/v3: no such file or directory). Update modules will not be available  
> > 1970-01-01 00:00:19 +0000 UTC info: State transition: init [none] → after-reboot [ArtifactReboot\_Leave]  
> > 1970-01-01 00:00:19 +0000 UTC debug: Have U-Boot variable: mender\_check\_saveenv\_canary=1  
> > 1970-01-01 00:00:19 +0000 UTC debug: List of U-Boot variables:map[mender\_check\_saveenv\_canary:1]  
> > 1970-01-01 00:00:19 +0000 UTC debug: Have U-Boot variable: mender\_saveenv\_canary=1  
> > 1970-01-01 00:00:19 +0000 UTC debug: List of U-Boot variables:map[mender\_saveenv\_canary:1]  
> > 1970-01-01 00:00:19 +0000 UTC debug: Have U-Boot variable: upgrade\_available=1  
> > 1970-01-01 00:00:19 +0000 UTC debug: List of U-Boot variables:map[upgrade\_available:1]  
> > 1970-01-01 00:00:19 +0000 UTC info: State transition: after-reboot [ArtifactReboot\_Leave] → after-reboot [ArtifactReboot\_Leave]  
> > 1970-01-01 00:00:19 +0000 UTC debug: handling state after reboot  
> > 1970-01-01 00:00:19 +0000 UTC info: State transition: after-reboot [ArtifactReboot\_Leave] → update-commit [ArtifactCommit\_Enter]  
> > 1970-01-01 00:00:19 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 1970-01-01 00:00:19 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 1970-01-01 00:00:19 +0000 UTC debug: start executing script: ArtifactCommit\_Enter\_10\_migrate-configuration  
> > 1970-01-01 00:00:19 +0000 UTC error: failed to report status: Put https:///api/devices/v1/deployments/device/deployments/69e7388a-d210-4042-bc9f-98c2e8f3dd7c/status: dial tcp: lookup on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable  
> > 1970-01-01 00:00:19 +0000 UTC error: statescript: can not send start status to server: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/69e7388a-d210-4042-bc9f-98c2e8f3dd7c/status: dial tcp: lookup on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable  
> > 1970-01-01 00:00:19 +0000 UTC error: failed to report status: Put https:///api/devices/v1/deployments/device/deployments/69e7388a-d210-4042-bc9f-98c2e8f3dd7c/status: dial tcp: lookup on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable  
> > 1970-01-01 00:00:19 +0000 UTC error: statescript: can not send finished status to server: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/69e7388a-d210-4042-bc9f-98c2e8f3dd7c/status: dial tcp: lookup on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable  
> > 1970-01-01 00:00:19 +0000 UTC error: transient error: error calling enter script for (error) update-commit state: error running enter state script(s) for ArtifactCommit\_Enter state: statescript: error executing ‘ArtifactCommit\_Enter\_10\_migrate-configuration’: 1 : exit status 1  
> > 1970-01-01 00:00:19 +0000 UTC info: State transition: update-commit [ArtifactCommit\_Enter] → rollback [ArtifactRollback]  
> > 1970-01-01 00:00:19 +0000 UTC debug: transitioning to error state  
> > 1970-01-01 00:00:19 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 1970-01-01 00:00:19 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 1970-01-01 00:00:19 +0000 UTC info: performing rollback  
> > 1970-01-01 00:00:19 +0000 UTC debug: Have U-Boot variable: mender\_check\_saveenv\_canary=1  
> > 1970-01-01 00:00:19 +0000 UTC debug: List of U-Boot variables:map[mender\_check\_saveenv\_canary:1]  
> > 1970-01-01 00:00:19 +0000 UTC debug: Have U-Boot variable: mender\_saveenv\_canary=1  
> > 1970-01-01 00:00:19 +0000 UTC debug: List of U-Boot variables:map[mender\_saveenv\_canary:1]  
> > 1970-01-01 00:00:19 +0000 UTC debug: Have U-Boot variable: upgrade\_available=1  
> > 1970-01-01 00:00:19 +0000 UTC debug: List of U-Boot variables:map[upgrade\_available:1]  
> > 1970-01-01 00:00:19 +0000 UTC debug: Active partition: /dev/mmcblk0p3  
> > 1970-01-01 00:00:19 +0000 UTC debug: Detected inactive partition /dev/mmcblk0p2, based on active partition /dev/mmcblk0p3  
> > 1970-01-01 00:00:19 +0000 UTC debug: Marking inactive partition (/dev/mmcblk0p2) as the new boot candidate.  
> > 1970-01-01 00:00:19 +0000 UTC info: setting partition for rollback: 2  
> > 1970-01-01 00:00:19 +0000 UTC debug: Have U-Boot variable: mender\_check\_saveenv\_canary=1  
> > 1970-01-01 00:00:19 +0000 UTC debug: List of U-Boot variables:map[mender\_check\_saveenv\_canary:1]  
> > 1970-01-01 00:00:19 +0000 UTC debug: Have U-Boot variable: mender\_saveenv\_canary=1  
> > 1970-01-01 00:00:19 +0000 UTC debug: List of U-Boot variables:map[mender\_saveenv\_canary:1]  
> > 1970-01-01 00:00:19 +0000 UTC debug: Marking inactive partition as a boot candidate successful.  
> > 1970-01-01 00:00:19 +0000 UTC debug: will try to rollback reboot the device  
> > 1970-01-01 00:00:19 +0000 UTC info: State transition: rollback [ArtifactRollback] → rollback-reboot [ArtifactRollbackReboot\_Enter]  
> > 1970-01-01 00:00:19 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 1970-01-01 00:00:19 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 1970-01-01 00:00:19 +0000 UTC info: rebooting device(s) after rollback  
> > 1970-01-01 00:00:19 +0000 UTC info: Mender rebooting from inactive partition: /dev/mmcblk0p3  
> > 2020-03-18 12:51:36 +0000 UTC info: Running Mender version 2.2.0  
> > 2020-03-18 12:51:36 +0000 UTC info: Update was interrupted in state: rollback-reboot  
> > 2020-03-18 12:51:37 +0000 UTC info: Update Module path “/usr/share/mender/modules/v3” could not be opened (open /usr/share/mender/modules/v3: no such file or directory). Update modules will not be available  
> > 2020-03-18 12:51:37 +0000 UTC info: State transition: init [none] → verify-rollback-reboot [ArtifactRollbackReboot\_Leave]  
> > 2020-03-18 12:51:37 +0000 UTC debug: transitioning to error state  
> > 2020-03-18 12:51:37 +0000 UTC debug: Have U-Boot variable: mender\_check\_saveenv\_canary=1  
> > 2020-03-18 12:51:37 +0000 UTC debug: List of U-Boot variables:map[mender\_check\_saveenv\_canary:1]  
> > 2020-03-18 12:51:37 +0000 UTC debug: Have U-Boot variable: mender\_saveenv\_canary=1  
> > 2020-03-18 12:51:37 +0000 UTC debug: List of U-Boot variables:map[mender\_saveenv\_canary:1]  
> > 2020-03-18 12:51:37 +0000 UTC debug: Have U-Boot variable: upgrade\_available=0  
> > 2020-03-18 12:51:37 +0000 UTC debug: List of U-Boot variables:map[upgrade\_available:0]  
> > 2020-03-18 12:51:37 +0000 UTC info: State transition: verify-rollback-reboot [ArtifactRollbackReboot\_Leave] → after-rollback-reboot [ArtifactRollbackReboot\_Leave]  
> > 2020-03-18 12:51:37 +0000 UTC debug: handling state after rollback reboot  
> > 2020-03-18 12:51:37 +0000 UTC info: State transition: after-rollback-reboot [ArtifactRollbackReboot\_Leave] → update-error [ArtifactFailure]  
> > 2020-03-18 12:51:37 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:37 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:37 +0000 UTC debug: handle update error state  
> > 2020-03-18 12:51:37 +0000 UTC info: State transition: update-error [ArtifactFailure] → cleanup [Error]  
> > 2020-03-18 12:51:37 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:37 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:37 +0000 UTC debug: Handling Cleanup state  
> > 2020-03-18 12:51:37 +0000 UTC info: State transition: cleanup [Error] → update-status-report [none]  
> > 2020-03-18 12:51:37 +0000 UTC debug: statescript: timeout for executing scripts is not defined; using default of 1h0m0s seconds  
> > 2020-03-18 12:51:37 +0000 UTC debug: handle update status report state  
> > 2020-03-18 12:51:37 +0000 UTC error: failed to report status: Put https:///api/devices/v1/deployments/device/deployments/69e7388a-d210-4042-bc9f-98c2e8f3dd7c/status: dial tcp: lookup on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable  
> > 2020-03-18 12:51:37 +0000 UTC error: error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/69e7388a-d210-4042-bc9f-98c2e8f3dd7c/status: dial tcp: lookup on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable  
> > 2020-03-18 12:51:37 +0000 UTC error: failed to send status to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/69e7388a-d210-4042-bc9f-98c2e8f3dd7c/status: dial tcp: lookup on [2001:4860:4860::8888]:53: dial udp [2001:4860:4860::8888]:53: connect: network is unreachable  
> > 2020-03-18 12:51:37 +0000 UTC info: State transition: update-status-report [none] → update-retry-report [none]  
> > 2020-03-18 12:53:04 +0000 UTC debug: wait complete  
> > 2020-03-18 12:53:04 +0000 UTC info: State transition: update-retry-report [none] → update-status-report [none]  
> > 2020-03-18 12:53:04 +0000 UTC debug: handle update status report state  
> > 2020-03-18 12:53:05 +0000 UTC debug: status reported, response 204 No Content  
> > 2020-03-18 12:53:05 +0000 UTC debug: attempting to upload deployment logs for failed

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [March 18, 2020, 4:01pm UTC](https://hub.mender.io/t/mender-2-2-problem-with-mender-wait-for-timesync/1653/2 "2020-03-18T16:01:50Z")

</div>

Hi @markus4dev welcome to the discussions. Glad you find this info useful.

I don’t see any logs indicating that the wait-for-timesync state script is executing. I do see it running your ArtifactCommit\_Enter\_10\_migrate-configuration script which returns a value of 1 that indicates failure causing a rollback. I think that is the issue here and if you resolve that, then Mender will call the timesync script as usual.

Drew

---

<div class="post-metadata">

**Author:** ![markus4dev](https://avatars.discourse-cdn.com/v4/letter/m/dec6dc/32.png) [@markus4dev](https://hub.mender.io/u/markus4dev)\
**Post date:** [March 18, 2020, 8:06pm UTC](https://hub.mender.io/t/mender-2-2-problem-with-mender-wait-for-timesync/1653/3 "2020-03-18T20:06:19Z")

</div>

Thanks Drew! You put me on the right track! It was a dirty tmp folder where old migration script was in the mender-state-script folder.

/Markus
