I have been having random problems with the sdr driver for a long time.
The log shows this:
Nov 18 11:02:51 raspberrypi python3[738]: weewx[738] INFO weewx.engine: Starting main packet loop.
Nov 18 11:02:54 raspberrypi python3[738]: weewx[738] INFO weewx.engine: Main loop exiting. Shutting engine down.
Nov 18 11:02:54 raspberrypi python3[738]: weewx[738] INFO user.sdr: shutdown process rtl_433 -q -F json -R 32 -M utc -M level -f 868.3M -Y classic
Nov 18 11:02:54 raspberrypi python3[738]: weewx[738] CRITICAL __main__: Caught WeeWxIOError: rtl_433 process is not running
Nov 18 11:02:54 raspberrypi python3[738]: weewx[738] CRITICAL __main__: **** Waiting 60 seconds then retrying...
Nov 18 11:03:57 raspberrypi python3[738]: weewx[738] ERROR user.sdr: err: [b'rtl_433 version unknown inputs file rtl_tcp RTL-SDR SoapySDR\n', b'Use -h for usage help and see
https://triq.org/ for documentation.\n', b'Trying conf file at "
rtl_433.co>
Nov 18 11:03:57 raspberrypi python3[738]: weewx[738] INFO weewx.engine: Main loop exiting. Shutting engine down.
Nov 18 11:03:57 raspberrypi python3[738]: weewx[738] INFO user.sdr: shutdown process rtl_433 -q -F json -R 32 -M utc -M level -f 868.3M -Y classic
Nov 18 11:03:58 raspberrypi python3[738]: weewx[738] CRITICAL __main__: Caught WeeWxIOError: rtl_433 process is not running
Nov 18 11:03:58 raspberrypi python3[738]: weewx[738] CRITICAL __main__: **** Waiting 60 seconds then retrying...
Nov 18 11:04:58 raspberrypi python3[738]: weewx[738] INFO __main__: retrying...
The problem is that the sdr driver fails to kill the rtl_433 process and when it tries to start it again it finds that the resource is busy and it keeps failing until I stop weewx, kill the process and start weewx again. If I just do restart it doesn't fix the problem for the same reason rtil_433 is running and weewx can't kill the process.
I don't know the reason but it happens often, it can take less than 1 day or take a month.