Track Internet disconnections, provider outages with historical data, and automated speed testing.
For Windows, Linux, ARM64, ARMa7. Learn more by visiting www.outagesio.com
Notice: If you created an account on app.outagesio.com, simply use the same credentials to log in here.
Raspberry Pi new install cannot download binary
-
Okay, so I followed this: https://www.outagesio.com/monitor-your-internet-with-raspberry-pi-nanopi-and-other-arm-devices/
And it fails with the following:
root@pihole:/otm# systemctl status otm.service ● otm.service - Startup of the OutagesIO Internet monitor agent Loaded: loaded (/etc/systemd/system/otm.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2024-09-15 20:09:58 CDT; 20s ago Process: 2633 ExecStartPre=/bin/sleep 30 (code=exited, status=0/SUCCESS) Process: 2634 ExecStartPre=/usr/bin/curl -s https://downloads.echonets.com/scripts/starter.sh -o /otm/starter.sh (code Process: 2636 ExecStartPre=/bin/chmod +x /otm/starter.sh (code=exited, status=0/SUCCESS) Process: 2637 ExecStart=/bin/bash /otm/starter.sh start (code=exited, status=0/SUCCESS) Main PID: 2662 (code=exited, status=2) Sep 15 20:09:15 pihole systemd[1]: Starting Startup of the OutagesIO Internet monitor agent... Sep 15 20:09:46 pihole bash[2637]: => Function: send_starter_version Sep 15 20:09:58 pihole bash[2637]: Starting OTM then exiting this script Sep 15 20:09:58 pihole systemd[1]: Started Startup of the OutagesIO Internet monitor agent. Sep 15 20:09:58 pihole systemd[1]: otm.service: Main process exited, code=exited, status=2/INVALIDARGUMENT Sep 15 20:09:58 pihole systemd[1]: otm.service: Failed with result 'exit-code'. lines 1-15/15 (END) ● otm.service - Startup of the OutagesIO Internet monitor agent Loaded: loaded (/etc/systemd/system/otm.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2024-09-15 20:09:58 CDT; 20s ago Process: 2633 ExecStartPre=/bin/sleep 30 (code=exited, status=0/SUCCESS) Process: 2634 ExecStartPre=/usr/bin/curl -s https://downloads.echonets.com/scripts/starter.sh -o /otm/starter.sh (code=exited, status=0/SUCCESS) Process: 2636 ExecStartPre=/bin/chmod +x /otm/starter.sh (code=exited, status=0/SUCCESS) Process: 2637 ExecStart=/bin/bash /otm/starter.sh start (code=exited, status=0/SUCCESS) Main PID: 2662 (code=exited, status=2) Sep 15 20:09:15 pihole systemd[1]: Starting Startup of the OutagesIO Internet monitor agent... Sep 15 20:09:46 pihole bash[2637]: => Function: send_starter_version Sep 15 20:09:58 pihole bash[2637]: Starting OTM then exiting this script Sep 15 20:09:58 pihole systemd[1]: Started Startup of the OutagesIO Internet monitor agent. Sep 15 20:09:58 pihole systemd[1]: otm.service: Main process exited, code=exited, status=2/INVALIDARGUMENT Sep 15 20:09:58 pihole systemd[1]: otm.service: Failed with result 'exit-code'.
The file is now working for download as shown:
root@pihole:/otm# ls -alhst total 252K 240K -rwxr-xr-x 1 root root 239K Sep 15 20:09 otm_binary 4.0K drwxr-xr-x 2 root root 4.0K Sep 15 20:09 . 4.0K -rwxr-xr-x 1 root root 3.6K Sep 15 20:09 starter.sh 4.0K drwxr-xr-x 23 root root 4.0K Sep 15 20:08 ..
From the log_starter.txt log
root@pihole:/otm# cat /tmp/log_starter.txt => Function: create_empty_log run_curl curl --silent --connect-timeout 15 --max-time 30 --request POST https://www.foxymon.com/receiver/receiver2.php -u SI2VopkqJs:3hCejvzEbaNRsqZ7ySmgV4WLMtcu8wTfr9noHQ6I -F function=send_starter_version -F version=2023-07-21_0930_Phoenix_TZ Wait 5 seconds Attempting execution Answer: 1 CURL executed => Function: check_to_download_new_otm run_curl curl --silent --connect-timeout 15 --max-time 30 --request POST https://www.foxymon.com/receiver/receiver2.php -u SI2VopkqJs:3hCejvzEbaNRsqZ7ySmgV4WLMtcu8wTfr9noHQ6I -F function=receive_binary_location Wait 5 seconds Attempting execution Answer: https://downloads.echonets.com/otm/arm64_otm_1_81_2401 CURL executed https://downloads.echonets.com/otm/arm64_otm_1_81_2401 OTM binaries are different. Downloading the OTM binary. Download successful. Starting OTM binary. OTM binary started with PID 2662
More interesting is what's in the otm.log
root@pihole:/otm# cat /tmp/otm.log /otm/otm_binary: 1: /otm/otm_binary: ELF��n@X�@8: not found /otm/otm_binary: 2: /otm/otm_binary: �@: not found /otm/otm_binary: 3: /otm/otm_binary: T ��: not found /otm/otm_binary: 3: /otm/otm_binary: H���gF M: not found /otm/otm_binary: 5: /otm/otm_binary: �v5�␦�% 8 %����Z����: not found /otm/otm_binary: 7: /otm/otm_binary: �� �: not found /otm/otm_binary: 7: /otm/otm_binary: �������: not found /otm/otm_binary: 1: /otm/otm_binary: Syntax error: word unexpected (expecting ")")
-
Ah, I see that we have to update some articles.
Just follow the steps when creating an agent, don't follow that article please and let me know what happens. -
Okay, so cleared the otm directory completely to allow for a fresh download
root@pihole:/# mkdir otm root@pihole:/# cd /otm root@pihole:/otm# cd ~ root@pihole:~# systemctl daemon-reload root@pihole:~# systemctl start otm.service root@pihole:~# systemctl status otm.service ● otm.service - Startup of the OutagesIO Internet monitor agent Loaded: loaded (/etc/systemd/system/otm.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2024-09-15 20:35:46 CDT; 28s ago Process: 2839 ExecStartPre=/bin/sleep 30 (code=exited, status=0/SUCCESS) Process: 2845 ExecStartPre=/usr/bin/curl -s https://downloads.echonets.com/scripts/starter.sh -o /otm/starter.sh (code=exited, status=0/SUC Process: 2847 ExecStartPre=/bin/chmod +x /otm/starter.sh (code=exited, status=0/SUCCESS) Process: 2848 ExecStart=/bin/bash /otm/starter.sh start (code=exited, status=0/SUCCESS) Main PID: 2874 (code=exited, status=2) Sep 15 20:35:03 pihole systemd[1]: Starting Startup of the OutagesIO Internet monitor agent... Sep 15 20:35:34 pihole bash[2848]: => Function: send_starter_version Sep 15 20:35:46 pihole bash[2848]: Starting OTM then exiting this script Sep 15 20:35:46 pihole systemd[1]: Started Startup of the OutagesIO Internet monitor agent. Sep 15 20:35:46 pihole systemd[1]: otm.service: Main process exited, code=exited, status=2/INVALIDARGUMENT Sep 15 20:35:46 pihole systemd[1]: otm.service: Failed with result 'exit-code'.
Popped into the otm directory, and starter was there:
root@pihole:~# cd otm root@pihole:~/otm# ls starter.sh
I had cleared the otm log, after this above execution, fresh output.
root@pihole:~/otm# cat /tmp/otm.log /otm/otm_binary: 1: /otm/otm_binary: ELF��n@X�@8: not found /otm/otm_binary: 2: /otm/otm_binary: �@: not found /otm/otm_binary: 3: /otm/otm_binary: T ��: not found /otm/otm_binary: 3: /otm/otm_binary: H���gF M: not found /otm/otm_binary: 5: /otm/otm_binary: �v5�␦�% 8 %����Z����: not found /otm/otm_binary: 7: /otm/otm_binary: �� �: not found /otm/otm_binary: 7: /otm/otm_binary: �������: not found /otm/otm_binary: 1: /otm/otm_binary: Syntax error: word unexpected (expecting ")")
-
The reason this is showing us because it is the Linux binary that is being run, not the ARM one.
There might be a bug in the new method we've started using. It seems even when you select Pi, it's giving you the Linux binary.
I can have the developer that works on this look at it tomorrow and fix it. Once it's done, I can update this post.
We appreciate your letting us know because we were not aware of this issue.
-
I'm happy to be your test bed for this fix. I already have a script wrote to wipe both logs and the /otm folder.
-
Thanks for your patience. We'll certainly fix this tomorrow and update you also.
-
Question, what hardware exactly are you using? Which version of Pi, make and model please.
-
We see that everything is fine, the service is downloading the correct binary. We suspect that the hardware is not compatible with the aarch64 ARM binary.
For a test, please download the binary directly, then make it executable, then just run it like ./arm64_otm_1_81_2401
https://downloads.echonets.com/otm/arm64_otm_1_81_2401
Let us know the make/model of the Pi and what happens when you run it manually.
-
Raspberry Pi 3 B+ with 10 / Buster.
240K -rwxr-xr-x 1 root root 239K Sep 11 15:57 arm64_otm_1_81_2401 root@pihole:/otm# ./arm64_otm_1_81_2401 bash: ./arm64_otm_1_81_2401: cannot execute binary file: Exec format error
I can format it to 11 / Bullseye, but if that's still too old I can grab a new one, as I run a pi-hole I'll maintain a raspberry pi for my installation.
-
The Raspberry Pi 3 B+ typically runs a 32bit operating system by default, even though the hardware is 64bit capable.
If you're using a 32bit OS, the binary cannot work.
The binary is compiled as a 64bit executable, it won't run on a 32bit OS, which is likely the cause of the error you're seeing.
Here’s how you can check:
Confirm OS architecture: Run the following command to confirm if your OS is 32bit or 64bit:
uname -m
If the output is armv7l, it’s a 32bit OS. If it’s aarch64, then it’s 64bit.
Try running this against the binary that gets downloaded;
file /otm/otm_binary
-
-
Sorry, I didn't' see your reply before completing mine. Yes, you would need a 64bit OS running on the device for otm to run on this.
Hope this helps to solve the mystery.
-
All good, cleared up for now. Ordered a Pi 5, will be here tomorrow.
-
Great, let us know how that goes. It should work no problem.
-
Alright, we're in business. Purchased a Pi 5 for the PiHole / OTM client, working grand. The Pi 3 was formatted to the latest OS, and brought up as a purely OTM client.
Should I start a new thread about moving licenses and renaming things to let this be as something searchable for others in case they see this themselves?
-
If it's s different topic, best to start a new one otherwise, it gets lost in the thread. If you don't mind :).
-