Page 1 of 1

General network failure requiring a reboot

Posted: Mon 03 Mar 2025 10:47 am
by HansR
Recently I have network issues which result in general failures as you find in the attached fragment of the log - I will not attach the full log because that would not add useful info. I can't read the station, can't send files to the server and it can't send the email that receiving data has stopped. I cannot access my RPi anymore through SSH so it all has blocked. I can't find a reason, the only thing which helps is a reboot which I now do by unplugging/replugging.

Is there any way CMX can now - in the current situation - activate a reboot?

Anybody an idea how to check connections in a script and if they all fail do a reboot?

If I am away I cannot physically unplug/replug the RPi so it has to be automated.
Looking for ideas.

Code: Select all

2025-03-03 10:51:11.068 Reading live data
2025-03-03 10:51:11.085 DoCommand(CMD_GW1000_LIVEDATA): Valid response
2025-03-03 10:51:11.085 Received: FF-FF-27-00-66-01-00-BD-06-38-08-28-3C-09-28-3C-02-00-39-07-57-0A-00-D6-0B-00-09-0C-00-17-15-00-07-90-4A-16-02-1C-17-02-2C-43-1A-00-44-22-60-1B-00-C8-23-37-1C-00-8F-24-4A-62-00-00-00-00-61-67-77-A5-E4-60-08-19-00-32-0E-00-00-10-00-03-11-00-03-12-00-00-00-07-13-00-00-03-C7-0D-00-03-63-00-BC-4D-6C-00-00-69-B0-03
2025-03-03 10:51:11.085 WN34 channel #1 battery OK = 7,7V
2025-03-03 10:51:11.085 LiveData: Wind Decode >> Last=3,2, LastDir=214, Gust=8,3, (MXAvg=9,9)
2025-03-03 10:51:11.085 DoWind: latest=8,3, speed=3,2 - Current: gust=18,0, speed=9,9
2025-03-03 10:51:11.086 DoWind: New: gust=18,0, speed=9,9, latest:3,9
2025-03-03 10:51:15.086 Reading live data
2025-03-03 10:51:17.727 DoCommand(CMD_GW1000_LIVEDATA): Error - Unable to read data from the transport connection: Connection timed out.
2025-03-03 10:51:17.727 Attempting to reopen the TCP port
2025-03-03 10:51:18.730 Ecowitt Gateway Connect attempt 1
2025-03-03 10:51:30.211 Realtime[70]: Start cycle
2025-03-03 10:51:30.212 Realtime[70]: Real time upload files starting
2025-03-03 10:51:30.212 RealtimePHP[70]: Real time file realtime.txt waiting for semaphore [2]
2025-03-03 10:51:30.212 RealtimePHP[70]: Real time file realtime.txt has a semaphore [1]
2025-03-03 10:51:30.212 RealtimePHP[70]: Real time file realtimegauges.txt waiting for semaphore [1]
2025-03-03 10:51:30.212 RealtimePHP[70]: Processing Real time file [0] - realtime.txt to realtime.txt
2025-03-03 10:51:30.212 RealtimePHP[70]: Real time file realtimegauges.txt has a semaphore [0]
2025-03-03 10:51:30.212 RealtimePHP[70]: Extra Files starting
2025-03-03 10:51:30.212 RealtimePHP[70]: Processing Real time file [1] - realtimegauges.txt to realtimegauges.txt
2025-03-03 10:51:30.212 RealtimePHP[70]: Uploading to realtime.txt
2025-03-03 10:51:30.212 RealtimePHP[70]: Extra File utils/airlinkrealtime.txt waiting for semaphore [0]
2025-03-03 10:51:30.212 RealtimePHP[70]: Sending via GET
2025-03-03 10:51:30.214 RealtimePHP[70]: Uploading to realtimegauges.txt
2025-03-03 10:51:30.215 RealtimePHP[70]: Sending via GET
2025-03-03 10:51:30.547 GetAlCurrent: Outdoor - Sending GET current conditions request 1 to AL: http://192.168.178.220/v1/current_conditions ...
2025-03-03 10:51:45.224 RealtimePHP[70]: Timeout uploading to realtime.txt
2025-03-03 10:51:45.224 RealtimePHP[70]: Retrying upload to realtime.txt
2025-03-03 10:51:45.224 RealtimePHP[70]: Timeout uploading to realtimegauges.txt
2025-03-03 10:51:45.224 RealtimePHP[70]: Retrying upload to realtimegauges.txt
2025-03-03 10:51:47.223 RealtimePHP[70]: Sending via GET
2025-03-03 10:51:47.223 RealtimePHP[70]: Sending via GET
2025-03-03 10:52:00.194 ERROR: No data received from the GW1000 for 30 seconds
2025-03-03 10:52:00.195 Using IP address = 192.168.178.10 Port = 45000
2025-03-03 10:52:00.195 Not Connected
2025-03-03 10:52:00.211 GetAlCurrent: Previous update is still running
2025-03-03 10:52:00.217 BlueskyTimedUp: Created variable timed post for: sunrise
2025-03-03 10:52:00.217 BlueskyTimedUp: Created variable timed post for: sunset
2025-03-03 10:52:00.217 ProcessHttpFiles: No files to process at this time
2025-03-03 10:52:00.553 GetAlCurrent: Outdoor - Exception: The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing.
2025-03-03 10:52:01.553 GetAlCurrent: Outdoor - Sending GET current conditions request 2 to AL: http://192.168.178.220/v1/current_conditions ...
2025-03-03 10:52:02.228 RealtimePHP[70]: Timeout uploading to realtimegauges.txt
2025-03-03 10:52:02.228 RealtimePHP[70]: Retrying upload to realtimegauges.txt
2025-03-03 10:52:02.228 RealtimePHP[70]: Timeout uploading to realtime.txt
2025-03-03 10:52:02.228 RealtimePHP[70]: Retrying upload to realtime.txt
2025-03-03 10:52:04.226 RealtimePHP[70]: Sending via GET
2025-03-03 10:52:04.226 RealtimePHP[70]: Sending via GET
2025-03-03 10:52:08.646 GetAlCurrent: Outdoor - Exception: No route to host (192.168.178.220:80)
2025-03-03 10:52:10.210 Current CPU temp = 32,6°C
2025-03-03 10:52:19.227 RealtimePHP[70]]: Timeout uploading to realtimegauges.txt
2025-03-03 10:52:19.227 RealtimePHP[70]]: Timeout uploading to realtime.txt
2025-03-03 10:52:19.228 Alarm (Web Upload): Triggered, value = True, threshold = 0, Message = Timeout uploading to realtime.txt
2025-03-03 10:52:19.228 Alarm (Web Upload): Triggered, value = True, threshold = 0, Message = Timeout uploading to realtime.txt
2025-03-03 10:52:19.231 RealtimePHP[70]: Real time file [1] realtimegauges.txt released semaphore [1]
2025-03-03 10:52:19.231 RealtimePHP[70]: Extra File utils/airlinkrealtime.txt has a semaphore [1]
2025-03-03 10:52:19.231 RealtimePHP[70]: Extra File utils/extrasensorsrealtime.txt waiting for semaphore [1]
2025-03-03 10:52:19.231 RealtimePHP[70]: Extra File utils/extrasensorsrealtime.txt has a semaphore [0]
2025-03-03 10:52:19.231 RealtimePHP[70]: Real time file [0] realtime.txt released semaphore [1]
2025-03-03 10:52:19.231 RealtimePHP[70]: Extra File utils/customlogsrealtime.txt waiting for semaphore [0]
2025-03-03 10:52:19.231 RealtimePHP[70]: Uploading extra web file utils/extrasensorsrealtime.txt to extrasensorsrealtime.txt
2025-03-03 10:52:19.231 RealtimePHP[70]: Uploading extra web file utils/airlinkrealtime.txt to airlinkrealtime.txt
2025-03-03 10:52:19.232 RealtimePHP[70]: Processing extra web file utils/airlinkrealtime.txt
2025-03-03 10:52:19.231 RealtimePHP[70]: Processing extra web file utils/extrasensorsrealtime.txt
2025-03-03 10:52:19.233 RealtimePHP[70]: Uploading to extrasensorsrealtime.txt
2025-03-03 10:52:19.233 RealtimePHP[70]: Sending via GET
2025-03-03 10:52:19.233 RealtimePHP[70]: Uploading to airlinkrealtime.txt
2025-03-03 10:52:19.234 RealtimePHP[70]: Sending via GET
2025-03-03 10:52:19.234 Alarm (Web Upload): Sending email - attempt 1
2025-03-03 10:52:19.234 Alarm (Web Upload): Sending email - attempt 1
2025-03-03 10:52:19.289 SendEmail: Sending email, to [hans.rottier@gmail.com], subject [CMX3: Cumulus MX Alarm - De Wilgen - Wagenborgen (NL)], body [("A Cumulus MX alarm has been triggered.\r\nFTP uploads have stopped.\r\nLast message: " +
    "Timeout uploading to realtime.txt")]
2025-03-03 10:52:30.190 ERROR: No data received from the GW1000 for 30 seconds
202

Re: General network failure requiring a reboot

Posted: Mon 03 Mar 2025 11:09 am
by broadstairs
I think this is going to be tricky since a 'shutdown now' or 'reboot' command in Linux requires the root password. If you Google you will find several suggestions on how to achieve this in a crontab entry, and others which remove the need for a password from the shutdown/reboot commands (highly dodgy!). As yet I've not found a solution which I would be happy with but I've not looked for long ;)

Stuart

Re: General network failure requiring a reboot

Posted: Mon 03 Mar 2025 11:24 am
by HansR
What would be wrong with the sudo reboot command in the shell script? I do this already in the crontab
NB: the script would be on a protected RPi, not reachable from outside.

Re: General network failure requiring a reboot

Posted: Mon 03 Mar 2025 11:37 am
by freddie
Nothing if your system does not require a password for sudo commands.

Re: General network failure requiring a reboot

Posted: Mon 03 Mar 2025 11:43 am
by broadstairs
HansR wrote: Mon 03 Mar 2025 11:24 am What would be wrong with the sudo reboot command in the shell script? I do this already in the crontab
NB: the script would be on a protected RPi, not reachable from outside.
Nothing in principle and if you can fire the script from CMX when this error happens it should work. Make sure the CMX user is authorised for sudo.

I don't like sudo but that's a personal thing as anyone with access to that user can do nasty things.

Stuart