MeshCentral: MeshCentral Agent doesn't install/has limited functionality on Raspberry Pi 4

Hi,

I was attempting to the agent on my Pi 4 but it either doesn’t install or has limited functionality. Using the install script provided by the website returns this error in the command line:

root@raspberrypi4:/home/pi# (wget "https://[DOMAIN]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh || wget "https://[DOMAIN]/meshagents?script=1" --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo -E ./meshinstall.sh https://[DOMAIN] 'h6fwpKRhaZ4GhGcaGdDYeHuJtRQFi$KKjAkS1t$E2E@nmUrWfiGO$LLMPuI7hvPh' || ./meshinstall.sh https://[DOMAIN] 'h6fwpKRhaZ4GhGcaGdDYeHuJtRQFi$KKjAkS1t$E2E@nmUrWfiGO$LLMPuI7hvPh'
--2022-05-29 20:11:33--  https://[DOMAIN]/meshagents?script=1
Resolving [DOMAIN] ([DOMAIN])... [IP]
Connecting to [DOMAIN] ([DOMAIN])|[IP]|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5466 (5.3K) [application/octet-stream]
Saving to: ‘./meshinstall.sh’

./meshinstall.sh    100%[===================>]   5.34K  --.-KB/s    in 0s      

2022-05-29 20:11:33 (40.1 MB/s) - ‘./meshinstall.sh’ saved [5466/5466]

Downloading agent #26...
--2022-05-29 20:11:33--  https://[DOMAIN]/meshagents?id=26
Resolving [DOMAIN] ([DOMAIN])... [IP]
Connecting to [DOMAIN] ([DOMAIN])|[IP]|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3227888 (3.1M) [application/octet-stream]
Saving to: ‘./meshagent’

./meshagent         100%[===================>]   3.08M  --.-KB/s    in 0.1s    

2022-05-29 20:11:33 (20.6 MB/s) - ‘./meshagent’ saved [3227888/3227888]

Agent downloaded.
--2022-05-29 20:11:33--  https://[DOMAIN]/meshsettings?id=h6fwpKRhaZ4GhGcaGdDYeHuJtRQFi$KKjAkS1t$E2E@nmUrWfiGO$LLMPuI7hvPh
Resolving [DOMAIN] ([DOMAIN])... [IP]
Connecting to [DOMAIN] ([DOMAIN])|[IP]|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24744 (24K) [application/octet-stream]
Saving to: ‘./meshagent.msh’

./meshagent.msh     100%[===================>]  24.16K  --.-KB/s    in 0.001s  

2022-05-29 20:11:33 (30.2 MB/s) - ‘./meshagent.msh’ saved [24744/24744]

./meshinstall.sh: line 174: ./meshagent: No such file or directory
Downloading agent #26...
--2022-05-29 20:11:33--  https://[DOMAIN]/meshagents?id=26
Resolving [DOMAIN] ([DOMAIN])... [IP]
Connecting to [DOMAIN] ([DOMAIN])|[IP]|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3227888 (3.1M) [application/octet-stream]
Saving to: ‘./meshagent’

./meshagent         100%[===================>]   3.08M  20.2MB/s    in 0.2s    

2022-05-29 20:11:33 (20.2 MB/s) - ‘./meshagent’ saved [3227888/3227888]

Agent downloaded.
--2022-05-29 20:11:33--  https://[DOMAIN]/meshsettings?id=h6fwpKRhaZ4GhGcaGdDYeHuJtRQFi$KKjAkS1t$E2E@nmUrWfiGO$LLMPuI7hvPh
Resolving [DOMAIN] ([DOMAIN])... [IP]
Connecting to [DOMAIN] ([DOMAIN])|[IP]|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24744 (24K) [application/octet-stream]
Saving to: ‘./meshagent.msh’

./meshagent.msh     100%[===================>]  24.16K  --.-KB/s    in 0.001s  

2022-05-29 20:11:33 (23.6 MB/s) - ‘./meshagent.msh’ saved [24744/24744]

./meshinstall.sh: line 174: ./meshagent: No such file or directory
root@raspberrypi4:/home/pi# ./meshagent -install
bash: ./meshagent: No such file or directory

Installing the ARM-HF Pi binaries would work and the agent does connect to the server however, this then introduces a new problem where I have limited functionality.

image Options for the Pi 4

image Options for the Pi 3+

As you can see, I’m missing the terminal and remote desktop funtionality of the agent when using a Pi 4.

The agent seems to also fail to identify anything about the Pi 4 as well. image

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 44

Most upvoted comments

Wow, that was an easy fix. So, I found this thread that confirms 32 bit OS has a 64 bit kernel.

The switch to running a 64-bit kernel by default on Pi 4 is intentional. We believe it gives a better experience with few drawbacks.

After flashing Rasperry Pi OS 32 bit, add “arm_64bit=0” to the bottom of config.txt.

Now after boot, you should get a 32 bit kernel

pi@raspberry:~ $ uname -m
armv7l

Now, I can do the non-binary MeshCentral install and all functionality is there. Thank you!!!

@WitekioPhil i was about to submit this exact PR but it doesnt fix the issue

just discovered the is already open issues about this problem

you need to change the pi from 64bit kernel to 32bit kernel if using 32bit os

https://github.com/Ylianst/MeshAgent/issues/183#issuecomment-1566288462

the is even a fix for the agent for future releases - https://github.com/Ylianst/MeshAgent/issues/183#issuecomment-1569076318

I think the takeaway right now is: potential incompatibilities with default 32-bit image provided by 1.7.5 version of RPI Imager as of time of writing.

i dont think this is true as ive just tried it here and it works no problem? flash sd card with default 32bit option (i have settings set in the settings menu for wifi, user, etc), plug in pi, connect over ssh, run command, no issues at all?

I STAND CORRECTED! flashed wrong image on wrong pi ha! now i flashed 32bit os onto my pi 4 then you get the same error!

so its indeed 32bit OS but its showing a 64bit kernel

@si458 thanks for checking. I’m trying the 64-bit lite image now on a 4b.