I was having a no start problem after upgrading RPi3B running DietPi. I
tried Tom's suggestion and it fixed the problem.
Prior to the "fix" my log file showed:
-- Journal begins at Mon 2024-02-12 11:47:21 AEDT, ends at Mon 2024-02-12
12:40:34 AEDT. --
Feb 12 11:47:23 SystemName systemd[1]: Started WeeWX.
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Initializing weewxd
version 5.0.1
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Command line:
/usr/share/weewx/weewxd.py /etc/weewx/weewx.conf
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Using Python 3.9.2
(default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110]
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Located at
/usr/bin/python3
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Platform
Linux-6.1.21-v8+-aarch64-with-glibc2.31
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Locale: 'en_AU.UTF-8'
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Entry path:
/usr/share/weewx/weewxd.py
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: WEEWX_ROOT:
/etc/weewx
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Configuration file:
/etc/weewx/weewx.conf
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: User module:
/etc/weewx/bin/user
Feb 12 11:47:24 SystemName weewxd[309]: INFO __main__: Debug: 0
Feb 12 11:47:24 SystemName weewxd[309]: INFO weewx.engine: Loading station
type FineOffsetUSB (weewx.drivers.fousb)
Feb 12 11:47:24 SystemName weewxd[309]: INFO weewx.drivers.fousb: driver
version is 1.3
Feb 12 11:47:24 SystemName weewxd[309]: INFO weewx.drivers.fousb: polling
mode is PERIODIC
Feb 12 11:47:24 SystemName weewxd[309]: INFO weewx.drivers.fousb: polling
interval is 60
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.drivers.fousb: found
station on USB bus= device=
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.engine: StdConvert
target unit is 0x11
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.wxservices:
StdWXCalculate will use data binding wx_binding
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.engine: Archive will use
data binding wx_binding
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.engine: Record
generation will be attempted in 'software'
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.engine: Using archive
interval of 300 seconds (software record generation)
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.restx: StationRegistry:
Station will not be registered: no station_url specified.
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.restx: Wunderground-PWS:
Data for station ITEATR7 will be posted
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.restx: PWSWeather: Data
for station THISTLEWIND will be posted
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.restx: CWOP: Posting not
enabled.
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.restx: WOW: Posting not
enabled.
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.restx: AWEKAS: Posting
not enabled.
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.engine: 'pyephem'
detected, extended almanac data is available
Feb 12 11:47:25 SystemName weewxd[309]: INFO __main__: Starting up weewx
version 5.0.1
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.engine: Using binding
'wx_binding' to database 'weewx.sdb'
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.manager: Starting
backfill of daily summaries
Feb 12 11:47:25 SystemName weewxd[309]: INFO weewx.manager: Daily summaries
up to date
Feb 12 11:47:26 SystemName weewxd[309]: INFO weewx.drivers.fousb:
synchronising to the weather station (quality=0)
Feb 12 11:47:57 SystemName weewxd[309]: INFO weewx.drivers.fousb: unstable
read: blocks differ for ptr 0x001380
Feb 12 11:49:44 SystemName weewxd[309]: ERROR weewx.drivers.fousb: invalid
data in get_records at 0x09b0, 2024-02-08T18:19:29
Feb 12 11:49:47 SystemName weewxd[309]:
/usr/lib/python3/dist-packages/gpiozero/devices.py:288: PinFactoryFallback:
Falling back from rpigpio: No module named 'RPi'
Feb 12 11:49:47 SystemName weewxd[309]: warnings.warn(
Feb 12 11:49:47 SystemName weewxd[309]:
/usr/lib/python3/dist-packages/gpiozero/devices.py:288: PinFactoryFallback:
Falling back from lgpio: No module named 'lgpio'
Feb 12 11:49:47 SystemName weewxd[309]: warnings.warn(
Feb 12 11:49:47 SystemName weewxd[309]:
/usr/lib/python3/dist-packages/gpiozero/devices.py:288: PinFactoryFallback:
Falling back from rpio: No module named 'RPIO'
Feb 12 11:49:47 SystemName weewxd[309]: warnings.warn(
Feb 12 11:49:47 SystemName weewxd[309]:
/usr/lib/python3/dist-packages/gpiozero/devices.py:288: PinFactoryFallback:
Falling back from pigpio: No module named 'pigpio'
Feb 12 11:49:47 SystemName weewxd[309]: warnings.warn(
Feb 12 11:49:47 SystemName weewxd[309]:
/usr/lib/python3/dist-packages/gpiozero/devices.py:288: PinFactoryFallback:
Falling back from native: unable to open /dev/gpiomem or /dev/mem; upgrade
your kernel or run as root
Feb 12 11:49:47 SystemName weewxd[309]: warnings.warn(
Feb 12 11:49:47 SystemName weewxd[309]: INFO weewx.engine: Main loop
exiting. Shutting engine down.
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: Caught
unrecoverable exception:
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** Unable
to load any default pin factory!
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
Traceback (most recent call last):
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/share/weewx/weewxd.py", line 166, in main
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
engine.run()
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/share/weewx/weewx/engine.py", line 174, in run
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
self.dispatchEvent(weewx.Event(weewx.STARTUP))
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
callback(event)
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/share/weewx/weewx/engine.py", line 610, in startup
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
self._catchup(self.engine.console.genStartupRecords)
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/share/weewx/weewx/engine.py", line 726, in _catchup
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
callback(event)
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/etc/weewx/bin/user/cputemp.py", line 17, in new_archive_record
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
cpu = CPUTemperature()
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/lib/python3/dist-packages/gpiozero/devices.py", line 108, in __call__
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
self = super(GPIOMeta, cls).__call__(*args, **kwargs)
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/lib/python3/dist-packages/gpiozero/internal_devices.py", line 277, in
__init__
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
super(CPUTemperature, self).__init__(
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/lib/python3/dist-packages/gpiozero/internal_devices.py", line 69, in
__init__
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
super(PolledInternalDevice, self).__init__(pin_factory=pin_factory)
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/lib/python3/dist-packages/gpiozero/internal_devices.py", line 42, in
__init__
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
super(InternalDevice, self).__init__(pin_factory=pin_factory)
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 218, in __init__
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
super(EventsMixin, self).__init__(*args, **kwargs)
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/lib/python3/dist-packages/gpiozero/devices.py", line 250, in __init__
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
Device.pin_factory = Device._default_pin_factory()
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: **** File
"/usr/lib/python3/dist-packages/gpiozero/devices.py", line 291, in
_default_pin_factory
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
raise BadPinFactory('Unable to load any default pin factory!')
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
gpiozero.exc.BadPinFactory: Unable to load any default pin factory!
Feb 12 11:49:47 SystemName weewxd[309]: CRITICAL __main__: ****
Exiting.
Feb 12 11:49:47 SystemName weewxd[309]: Traceback (most recent call last):
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/share/weewx/weewxd.py", line 265, in <module>
Feb 12 11:49:47 SystemName weewxd[309]: main()
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/share/weewx/weewxd.py", line 166, in main
Feb 12 11:49:47 SystemName weewxd[309]: engine.run()
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/share/weewx/weewx/engine.py", line 174, in run
Feb 12 11:49:47 SystemName weewxd[309]:
self.dispatchEvent(weewx.Event(weewx.STARTUP))
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
Feb 12 11:49:47 SystemName weewxd[309]: callback(event)
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/share/weewx/weewx/engine.py", line 610, in startup
Feb 12 11:49:47 SystemName weewxd[309]:
self._catchup(self.engine.console.genStartupRecords)
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/share/weewx/weewx/engine.py", line 726, in _catchup
Feb 12 11:49:47 SystemName weewxd[309]:
self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
Feb 12 11:49:47 SystemName weewxd[309]: callback(event)
Feb 12 11:49:47 SystemName weewxd[309]: File
"/etc/weewx/bin/user/cputemp.py", line 17, in new_archive_record
Feb 12 11:49:47 SystemName weewxd[309]: cpu = CPUTemperature()
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/lib/python3/dist-packages/gpiozero/devices.py", line 108, in __call__
Feb 12 11:49:47 SystemName weewxd[309]: self = super(GPIOMeta,
cls).__call__(*args, **kwargs)
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/lib/python3/dist-packages/gpiozero/internal_devices.py", line 277, in
__init__
Feb 12 11:49:47 SystemName weewxd[309]: super(CPUTemperature,
self).__init__(
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/lib/python3/dist-packages/gpiozero/internal_devices.py", line 69, in
__init__
Feb 12 11:49:47 SystemName weewxd[309]: super(PolledInternalDevice,
self).__init__(pin_factory=pin_factory)
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/lib/python3/dist-packages/gpiozero/internal_devices.py", line 42, in
__init__
Feb 12 11:49:47 SystemName weewxd[309]: super(InternalDevice,
self).__init__(pin_factory=pin_factory)
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 218, in __init__
Feb 12 11:49:47 SystemName weewxd[309]: super(EventsMixin,
self).__init__(*args, **kwargs)
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/lib/python3/dist-packages/gpiozero/devices.py", line 250, in __init__
Feb 12 11:49:47 SystemName weewxd[309]: Device.pin_factory =
Device._default_pin_factory()
Feb 12 11:49:47 SystemName weewxd[309]: File
"/usr/lib/python3/dist-packages/gpiozero/devices.py", line 291, in
_default_pin_factory
Feb 12 11:49:47 SystemName weewxd[309]: raise BadPinFactory('Unable to
load any default pin factory!')
Feb 12 11:49:47 SystemName weewxd[309]: gpiozero.exc.BadPinFactory: Unable
to load any default pin factory!
Feb 12 11:49:47 SystemName systemd[1]: weewx.service: Main process exited,
code=exited, status=1/FAILURE
Feb 12 11:49:47 SystemName systemd[1]: weewx.service: Failed with result
'exit-code'.
Feb 12 11:49:47 SystemName systemd[1]: weewx.service: Consumed 2.701s CPU
time.
On Thursday 8 February 2024 at 2:12:44 am UTC+11 Tom Keffer wrote:
> Something to try: edit the weewx service file and change permissions back
> to root. The service file should be located at
> /lib/systemd/system/weewx.service. Comment out the User and Group lines.
> When you're done, it will look something like this:
>
> [Service]
>
> ExecStart=weewxd /etc/weewx/weewx.conf
>
> StandardOutput=null
>
> StandardError=journal+console
>
> RuntimeDirectory=weewx
>
> RuntimeDirectoryMode=775
>
> # User=weewx
>
> # Group=weewx
>
> Then restart weewxd.
>
> Let us know if that makes a difference.
>
> -tk
>
> On Wed, Feb 7, 2024 at 6:14 AM Rich Strle <[email protected]> wrote:
>
>> Hi Tom, it happens every time. Attached is a log of what happened when I
>> turned off the Pi, restarted the Pi, shut down weewx, and restarted weewx.
>>
>> I running a fresh RasberryPi Debian install. Vantage Pro2 with a
>> WeatherLinkIP attached to a VantagePro2 console.
>>
>> Attached is what happened with my most recent boot and the log file.
>>
>>
>>
>> On Wednesday, February 7, 2024 at 7:54:14 AM UTC-6 Tom Keffer wrote:
>>
>>> Rich,
>>>
>>> One other question: does this happen after a reboot? Or, every time?
>>>
>>> If it's only after a reboot, the problem could be that the network isn't
>>> ready by the time the VP2 needs it.
>>>
>>>
>>> On Tue, Feb 6, 2024 at 7:51 PM Rich Strle <[email protected]> wrote:
>>>
>>>> I've been following the 5.0 issues. I have updated to 5.0.1 and done
>>>> the usermod but I'm still having issues. RaspberryPi 3 B+ My Vantage Pro
>>>> is
>>>> connected via ethernet using the IP adaptor. I appreciate all the work
>>>> that's gone into this free product.
>>>>
>>>> vp2pi@rpivp2:~ $ sudo apt update
>>>> vp2pi@rpivp2:~ $ sudo apt install weewx
>>>>
>>>> vp2pi@rpivp2:~ $ sudo usermod -aG dialout weewx
>>>>
>>>> vp2pi@rpivp2:~ $ sudo systemctl status weewx
>>>> * weewx.service - WeeWX
>>>> Loaded: loaded (/lib/systemd/system/weewx.service; enabled; vendor
>>>> preset: enabled)
>>>> Active: failed (Result: exit-code) since Tue 2024-02-06 21:19:31
>>>> CST; 3min 18s ago
>>>> Docs: https://weewx.com/docs
>>>> Process: 460 ExecStart=weewxd /etc/weewx/weewx.conf (code=exited,
>>>> status=4)
>>>> Main PID: 460 (code=exited, status=4)
>>>> CPU: 966ms
>>>>
>>>> Feb 06 21:19:31 rpivp2 weewxd[460]: CRITICAL weewx.engine: ****
>>>> Vantage.__init__(self, **config_dict[DRIVER_NAME])
>>>> Feb 06 21:19:31 rpivp2 weewxd[460]: CRITICAL weewx.engine: ****
>>>> File "/usr/share/weewx/weewx/drivers/vantage.py", line 536, in __init__
>>>> Feb 06 21:19:31 rpivp2 weewxd[460]: CRITICAL weewx.engine: ****
>>>> self.port.openPort()
>>>> Feb 06 21:19:31 rpivp2 weewxd[460]: CRITICAL weewx.engine: ****
>>>> File "/usr/share/weewx/weewx/drivers/vantage.py", line 359, in openPort
>>>> Feb 06 21:19:31 rpivp2 weewxd[460]: CRITICAL weewx.engine: ****
>>>> raise weewx.WeeWxIOError(ex)
>>>> Feb 06 21:19:31 rpivp2 weewxd[460]: CRITICAL weewx.engine: ****
>>>> weewx.WeeWxIOError: [Errno 101] Network is unreachable
>>>> Feb 06 21:19:31 rpivp2 weewxd[460]: CRITICAL __main__: Unable to load
>>>> driver: [Errno 101] Network is unreachable
>>>> Feb 06 21:19:31 rpivp2 weewxd[460]: CRITICAL __main__: ****
>>>> Exiting...
>>>> Feb 06 21:19:31 rpivp2 systemd[1]: weewx.service: Main process exited,
>>>> code=exited, status=4/NOPERMISSION
>>>> Feb 06 21:19:31 rpivp2 systemd[1]: weewx.service: Failed with result
>>>> 'exit-code'.
>>>> vp2pi@rpivp2:~ $ sudo usermod -aG dialout weewx
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "weewx-user" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/weewx-user/2c3336ab-72b9-49bb-a602-be652a00e531n%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/weewx-user/2c3336ab-72b9-49bb-a602-be652a00e531n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "weewx-user" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>>
> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/weewx-user/e62e3dcb-fc4b-4f2a-a986-99783e3c164fn%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/weewx-user/e62e3dcb-fc4b-4f2a-a986-99783e3c164fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/2d482c50-9445-45ba-8055-c7cf8bac4842n%40googlegroups.com.