colloqi/pisignage-server

Unable to upgrade player firmware

Opened this issue ยท 17 comments

I am running the latest version of open source server though docker-compose.

It shows as version hash: 85008a, Aug 4 2021

I have a test Pi4 client currently running ver: 2.9.8/buster_10.8_admin_2021-02-25

If I press the upgrade button it shows a dialogue "Do you want to update Software from 2.9.8 to" with no version to upgrade to. Pressing OK shows the upgrading screen on the player display, but it reboots into the same version.

I can see that the player is requesting the file "/releases/piimageundefined-v14.zip".

Looking in the docker volume I can see a number of release files:

-rw-r--r-- 1 root root     711 Aug 21 01:00 package.json
-rw-r--r-- 1 root root 3778087 Jul  9 10:46 piimage2.9.9-v14.zip
-rw-r--r-- 1 root root 3778088 Jul  9 10:46 piimage2.9.9-v6.zip
-rw-r--r-- 1 root root 3778028 Jul  9 10:46 piimage2.9.9.zip
lrwxrwxrwx 1 root root      34 Jul  9 10:46 piimage2-v6.zip -> /data/releases/piimage2.9.9-v6.zip
-rw-r--r-- 1 root root 3778394 Jul 22 01:00 piimage3.0.0-v14.zip
-rw-r--r-- 1 root root 3778393 Jul 22 01:00 piimage3.0.0-v6.zip
-rw-r--r-- 1 root root 3778333 Jul 22 01:00 piimage3.0.0.zip
-rw-r--r-- 1 root root 3778409 Jul 23 01:00 piimage3.0.1-v14.zip
-rw-r--r-- 1 root root 3778406 Jul 23 01:00 piimage3.0.1-v6.zip
-rw-r--r-- 1 root root 3778347 Jul 23 01:00 piimage3.0.1.zip
-rw-r--r-- 1 root root 3778443 Jul 27 01:00 piimage3.0.2-v14.zip
-rw-r--r-- 1 root root 3778440 Jul 27 01:00 piimage3.0.2-v6.zip
-rw-r--r-- 1 root root 3778380 Jul 27 01:00 piimage3.0.2.zip
-rw-r--r-- 1 root root 3778419 Jul 28 01:00 piimage3.0.3-v14.zip
-rw-r--r-- 1 root root 3778420 Jul 28 01:00 piimage3.0.3-v6.zip
-rw-r--r-- 1 root root 3778360 Jul 28 01:00 piimage3.0.3.zip
-rw-r--r-- 1 root root 3779129 Aug 21 01:00 piimage3.0.4-v14.zip
-rw-r--r-- 1 root root 3779127 Aug 21 01:00 piimage3.0.4-v6.zip
-rw-r--r-- 1 root root 3779068 Aug 21 01:00 piimage3.0.4.zip
lrwxrwxrwx 1 root root      34 Aug 21 01:00 piimage3-v6.zip -> /data/releases/piimage3.0.4-v6.zip
lrwxrwxrwx 1 root root      35 Aug 21 01:00 pi-image-v14.zip -> /data/releases/piimage3.0.4-v14.zip
lrwxrwxrwx 1 root root      34 Aug 21 01:00 pi-image-v6.zip -> /data/releases/piimage3.0.4-v6.zip
lrwxrwxrwx 1 root root      31 Aug 21 01:00 pi-image.zip -> /data/releases/piimage3.0.4.zip
-rw-r--r-- 1 root root     711 Sep 10 11:28 server-package.json

I have tried to issue an upgrade command via the api without a version string and it fails in the same way (it looks like it should be picking up the version from a config file), but if I set explicitly set the version to piimage3.0.4.zip it will happily download /releases/piimage3.0.4-v14.zip and perform the upgrade.

Same here, but I don see any update files either. As I set up the pisignage-server today via docker, I think I'm at the current version, am I?

Success... There are two folders data in the docker container, /data and /pisignage-server/data/. I linked all data from /data/releases/ to /pisignage-server/data/releases/ and got the update working. Seems there should be a symbolic link from /data to /pisignage-server/data ;)

Success... There are two folders data in the docker container, /data and /pisignage-server/data/. I linked all data from /data/releases/ to /piimage-server/data/releases/ and got the update working. Seems there should be a symbolc link from /data to /piimange-server/data ;)

@udo1toni: Hi Udo, can you explain me how you do that?
@colloqi : Is that an error in the pisignage-server?

Any one getting this error should also check the forever.log file to find low-level errors. In my case, I am using SSL and somehow my intermediate certificate file line in server.js was commented out which caused the same behavior that the original post is taking about. I removed the comment for the line and everything is working again.

The specific error I was getting the the forever.log file was:

Connecting to signage.mydomain.com (signage.mydomain.com)|192.168.0.10 :3000... connected. ERROR: The certificate of 'signage.mydomain.com' is not trusted. ERROR: The certificate of 'signage.mydomain.com' hasn't got a known issuer. wget could not get the release file Instead of exit, reboot

The same SSL issue is there in the older image, I was having a 2.9.2 image handy, after writing this image on the player, the SSL issue is gone.

@udo1toni: Hi Udo, can you explain me how you do that?

Er... I just logged into the container and symlinked the files to the correct folder. After that, I succesfully upgraded the player through the server interface.

@udo1toni i dont find or have the pisignage-server/data/ folder. Which pisignage server version do you use?

Sorry for late response...

I did create the last Container on 2021-10-16, so it's a bit older. This is from container console:

bash-5.0# ls -l /data/releases/
total 59746
-rw-r--r--    1 root     root           711 Dec  1 00:00 package.json
lrwxrwxrwx    1 root     root            35 Dec  1 00:00 pi-image-v14.zip -> /data/releases/piimage3.1.1-v14.zip
lrwxrwxrwx    1 root     root            34 Dec  1 00:00 pi-image-v6.zip -> /data/releases/piimage3.1.1-v6.zip
lrwxrwxrwx    1 root     root            31 Dec  1 00:00 pi-image.zip -> /data/releases/piimage3.1.1.zip
-rw-r--r--    1 root     root       2308966 Oct  3 11:10 piimage1.2.6.zip
-rw-r--r--    1 root     root       2355150 Oct  3 11:10 piimage1.4.1.zip
lrwxrwxrwx    1 root     root            34 Dec  1 00:00 piimage3-v6.zip -> /data/releases/piimage3.1.1-v6.zip
-rw-r--r--    1 root     root       3779132 Sep 10 12:37 piimage3.0.4-v14.zip
-rw-r--r--    1 root     root       3779130 Sep 10 12:37 piimage3.0.4-v6.zip
-rw-r--r--    1 root     root       3779071 Sep 10 12:37 piimage3.0.4.zip
-rw-r--r--    1 root     root       3779129 Oct 14 00:00 piimage3.0.5-v14.zip
-rw-r--r--    1 root     root       3779128 Oct 14 00:00 piimage3.0.5-v6.zip
-rw-r--r--    1 root     root       3779068 Oct 14 00:00 piimage3.0.5.zip
-rw-r--r--    1 root     root       3779259 Nov  8 00:01 piimage3.0.6-v14.zip
-rw-r--r--    1 root     root       3779259 Nov  8 00:01 piimage3.0.6-v6.zip
-rw-r--r--    1 root     root       3779200 Nov  8 00:00 piimage3.0.6.zip
-rw-r--r--    1 root     root       3849013 Nov 25 00:00 piimage3.1.0-v14.zip
-rw-r--r--    1 root     root       3849012 Nov 25 00:00 piimage3.1.0-v6.zip
-rw-r--r--    1 root     root       3848953 Nov 25 00:00 piimage3.1.0.zip
-rw-r--r--    1 root     root       3849192 Dec  1 00:00 piimage3.1.1-v14.zip
-rw-r--r--    1 root     root       3849191 Dec  1 00:00 piimage3.1.1-v6.zip
-rw-r--r--    1 root     root       3849129 Dec  1 00:00 piimage3.1.1.zip
-rw-r--r--    1 root     root           711 Dec  3 00:00 server-package.json
bash-5.0# ls -l data/releases/
total 4558
-rw-r--r--    1 root     root       2308966 Aug  4 04:32 piimage1.2.6.zip
-rw-r--r--    1 root     root       2355150 Aug  4 04:32 piimage1.4.1.zip
bash-5.0#

@udo1toni I'm getting a similar issue however i don't seem to have a /piimage-server/ folder. Did you create it then symlink?
The forever.log states an undefined image. I'm puzzled!

check .problem directory
get the new server release file
using "DejaVu Sans Mono-16", pixelsize=16.67 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
PING www.pisignage.com (54.254.73.173) 56(84) bytes of data.

--- www.pisignage.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 43ms

rm: cannot remove 'piimageundefined-v14.zip': No such file or directory
--2022-03-31 14:58:19-- http://10.110.30.7:3000/releases/piimageundefined-v14.zip
Connecting to 10.110.30.7:3000... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authentication selected: Basic realm="Secure Area"
Reusing existing connection to 10.110.30.7:3000.
HTTP request sent, awaiting response... 404 Not Found
2022-03-31 14:58:19 ERROR 404: Not Found.

wget could not get the release file
Instead of exit, reboot

Screenshot 2022-04-01 at 1 40 23 pm copy

My bad. I guess I had a typo in my posting, path should be /pisignage-server/data/ so please try
ln -s /data/releases/ /pisignage-server/data/releases (but first move all files from /pisignage-server/data/releases to /data/releases/ and remove /pisignage-server/data/releases/

Kaibu commented

Sadly doesn't work for me, created the symlink but still no version in the popup.
How did you create the post request to update via that ?

My bad. I guess I had a typo in my posting, path should be /pisignage-server/data/ so please try ln -s /data/releases/ /pisignage-server/data/releases (but first move all files from /pisignage-server/data/releases to /data/releases/ and remove /pisignage-server/data/releases/

Reviving an old post . . . Having issues here in 2023.

Just to make sure I understand . . .

  • Create /data/releases/ in the home folder (home/YourUser/data/releases/)
  • Move the contents of pisignage-server/data/releases/ to home/YourUser/data/releases/
  • Delete the /releases/ folder located in pisignage-server/data/
  • Create a symlink between home/YourUser/data/releases/ and pisignage-server/data/releases/

Is that correct?

I never wrote about a home directory There is no such folder in the container. There is a folder
/pisignage-server/data/releases/ and a folder /data/releases/.
The latter is the volume where new releases are downloaded to, the former is the folder which is used to present available updates to the pisignage clients, so you have to link the content from the latter to the former, or put the whole content of the former to the latter, then delete the former and link the latter folder to be used as the former. >screwed up< ๐Ÿ‘ฏโ€โ™‚๏ธ

I never wrote about a home directory There is no such folder in the container. There is a folder /pisignage-server/data/releases/ and a folder /data/releases/. The latter is the volume where new releases are downloaded to, the former is the folder which is used to present available updates to the pisignage clients, so you have to link the content from the latter to the former, or put the whole content of the former to the latter, then delete the former and link the latter folder to be used as the former. >screwed up< ๐Ÿ‘ฏโ€โ™‚๏ธ

Let me try rephrasing things so you understand . . . I am not running a Docker container btw. I am running the server on Ubuntu.

You're saying to move the contents of ROOT/pisignage-server/data/releases/ to ROOT/data/releases/?

Server needs internet connection to fetch release files, do you see files like piimage3.2.8-v14.zip in ROOT/pisignage-server/data/releases/ ?

Server needs internet connection to fetch release files, do you see files like piimage3.2.8-v14.zip in ROOT/pisignage-server/data/releases/ ?

Yes, I see many. 3.2.8-v14 is what I should try?

node -v in player gives node version

if it is 14.x.x then that is the file, else piimage3.2.8-v6.zip

Will there be any issues if node is newer than 14.x.x? I think the current LTS is 18.x.x.