WeeWX error on Trixie during startup

103 views
Skip to first unread message

David Enstrom

unread,
Oct 8, 2025, 10:31:50 AM (8 days ago) Oct 8
to weewx-user
Just installed Trixie on my Raspberry Pi 3. I created a virtual environment and installed Python, required software, and WeeWX using PIP. The weather hardware is from BC Robotics, which has worked beautifully for many years. I wrote the driver many years ago.

My test app runs fine. I can also run WeeWX manually (i.e., activate my weeve virtual environment and then run 'weewxd') and it operates just fine. However, if I start weewx using the command 'sudo systemctl start weewx' and check the system log it does not start properly. I'm very confused by the following error in the log:

Oct 08 08:35:08 raspberrypi systemd[1]: Started weewx.service - WeeWX weather system.
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Initializing weewxd version 5.1.0
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Command line: /home/dave/weeve/lib/python3.13/site-packages/weewxd.py /home/dave/weewx-data/weewx.conf
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Using Python: 3.13.5 (main, Jun 25 2025, 18:55:22) [GCC 14.2.0]
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Located at:   /home/dave/weeve/bin/python3
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Platform:     Linux-6.12.47+rpt-rpi-v8-aarch64-with-glibc2.41
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Locale:       'en_CA.UTF-8'
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Entry path:   /home/dave/weeve/lib/python3.13/site-packages/weewxd.py
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: WEEWX_ROOT:   /home/dave/weewx-data
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Config file:  /home/dave/weewx-data/weewx.conf
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: User module:  /home/dave/weewx-data/bin/user
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Debug:        0
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: User:         dave
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Group:        dave
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO __main__: Groups:       adm dialout cdrom sudo audio video plugdev games users netdev lpadmin gpio i2c spi render input dave
Oct 08 08:35:09 raspberrypi weewxd[4962]: INFO weewx.engine: Loading station type BCRobotics (user.BCRobotics)
Oct 08 08:35:09 raspberrypi python3[4962]: 2025-10-08 08:35:09 xCreatePipe: Can't set permissions (436) for //.lgd-nfy0, No such file or directory
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__: Caught OSError: [Errno 2] No such file or directory: '.lgd-nfy-3'
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****  Traceback (most recent call last):
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/home/dave/weeve/lib/python3.13/site-packages/weewxd.py", line 121, in main
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      engine = weewx.engine.StdEngine(config_dict)
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/home/dave/weeve/lib/python3.13/site-packages/weewx/engine.py", line 80, in __init__
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      self.setupStation(config_dict)
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/home/dave/weeve/lib/python3.13/site-packages/weewx/engine.py", line 104, in setupStation
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      __import__(driver)
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      ~~~~~~~~~~^^^^^^^^
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/home/dave/weewx-data/bin/user/BCRobotics.py", line 29, in <module>
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      import board
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/home/dave/weeve/lib/python3.13/site-packages/board.py", line 51, in <module>
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      from adafruit_blinka.board.raspberrypi.raspi_40pin import *
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/home/dave/weeve/lib/python3.13/site-packages/adafruit_blinka/board/raspberrypi/raspi_40pin.py", line 6, in <module>
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      from adafruit_blinka.microcontroller.bcm283x import pin
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/home/dave/weeve/lib/python3.13/site-packages/adafruit_blinka/microcontroller/bcm283x/pin.py", line 7, in <module>
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      from adafruit_blinka.microcontroller.generic_linux.rpi_gpio_pin import Pin
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/home/dave/weeve/lib/python3.13/site-packages/adafruit_blinka/microcontroller/generic_linux/rpi_gpio_pin.py", line 6, in <module>
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      from RPi import GPIO
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/RPi/GPIO/__init__.py", line 14, in <module>
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      import lgpio
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/lgpio.py", line 562, in <module>
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      _notify_thread = _callback_thread()
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/lgpio.py", line 504, in __init__
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****      self._file = open('.lgd-nfy{}'.format(self._notify), 'rb')
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****  FileNotFoundError: [Errno 2] No such file or directory: '.lgd-nfy-3'
Oct 08 08:35:09 raspberrypi weewxd[4962]: CRITICAL __main__:     ****  Waiting 10 seconds then retrying...

HELP!!

matthew wall

unread,
Oct 8, 2025, 11:40:28 AM (8 days ago) Oct 8
to weewx...@googlegroups.com
hi david,

perhaps others in this forum could help if you post your driver code, but here is a guess:

it looks like your driver is using a file related to gpio (perhaps a socket?) whose location is not explicitly specified, so when you run it as you the file is in a directory in which you have permissions, but when you run it as a daemon (under the control of systemd) the file ends up somewhere that you do *not* have permissions.

take a look at your driver code for details about how you do the gpio, and see if you can specify the location explicitly, e.g., to /var/tmp or /tmp

m
> --
> 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 weewx-user+...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/weewx-user/df68a173-9654-4843-80fb-5b450d76d1cfn%40googlegroups.com.

David Enstrom

unread,
Oct 9, 2025, 3:46:03 PM (6 days ago) Oct 9
to weewx-user
I think something has changed with the WeeWX startup (as daemon) under Trixie. This is the same error, with a solution:


I logged the working directory at start up of WeeWX as a daemon:  Current working directory: /   
This seems rather odd!

So, when I change it to /tmp/ in my BCRobotics.py driver, and it works just fine! (i.e., os.chdir("/tmp/")

I logged the change:
Current working directory: /
New working directory: /tmp

So, it is fixed (WeeWX runs fine), but I am still confused as to the root cause! Trixie?

vince

unread,
Oct 9, 2025, 5:18:27 PM (6 days ago) Oct 9
to weewx-user
If by many years ago you mean you were previously successfully running weewx v4 or earlier (which ran as root) and it broke now using weewx v5 (which runs as a unprivileged user) then that’s the cause. Your unprivileged process tried to write to a privileged location.

If you were previously running weewx v5 and the only change you made was updating your os, then I no ideas here.

David Enstrom

unread,
Oct 9, 2025, 10:37:19 PM (6 days ago) Oct 9
to weewx-user
I was previously running WeeWX V5 with no issues ... really the only change was the OS, to Trixie.

Graham Eddy

unread,
Oct 10, 2025, 1:16:45 AM (6 days ago) Oct 10
to WeeWX User
i upgraded bookworm to trixie with no such issues. it is specific to this installation. i think the clue is all in the error message:
**** FileNotFoundError: [Errno 2] No such file or directory: '.lgd-nfy-3'
⊣GE⊢

David Enstrom

unread,
Oct 12, 2025, 8:36:51 AM (4 days ago) Oct 12
to weewx-user
Clarification: currently running WeeWX V5.0.2 
So something has changed to cause this error: either the OS to Trixie or WeeWX to V5.1.0
Reply all
Reply to author
Forward
0 new messages