Install of WeeWX 5.0.2 on RPI 5 Failed

98 views
Skip to first unread message

Dave McCreath

unread,
Feb 21, 2024, 7:38:36 AMFeb 21
to weewx-user
Recently acquired an RPi 5 and decided this morning to migrate WeeWX over to it from an up to date RPi 4.

Three attempts, all failed with the same errors.  I have tried with both the USB serial connector inserted and without.  I'm running the RPi headless over VNC and nothing else plugged into it at all apart from the power lead.

Log:

 2024-02-21T12:15:44.944885+00:00 WeeWX weectl[2869]: INFO weectllib: Initializing weectl version 5.0.2
2024-02-21T12:15:44.945066+00:00 WeeWX weectl[2869]: INFO weectllib: Command line: /usr/share/weewx/weectl.py station reconfigure --config=/etc/weewx/weewx.conf --driver=weewx.drivers.vantage --units=metric --location=Leverington --latitude=52.693 --longitude=0.147 --altitude=3,meter --register=y --station-url=https://www.wunderground.com/dashboard/pws/ICAMBSLE2 --no-prompt --no-backup
2024-02-21T12:15:44.945101+00:00 WeeWX weectl[2869]: ERROR weeutil.startup: Cannot load user extensions: No module named 'user'
2024-02-21T12:15:44.974672+00:00 WeeWX weectl[2869]: INFO weectl-station: Using Vantage version 3.6.2 (weewx.drivers.vantage)
2024-02-21T12:15:45.030191+00:00 WeeWX systemd[1]: Reloading.
2024-02-21T12:15:45.848292+00:00 WeeWX systemd[1]: Reloading.
2024-02-21T12:15:46.281844+00:00 WeeWX systemd[1]: Started weewx.service - WeeWX.
2024-02-21T12:15:46.362945+00:00 WeeWX weewxd[3153]: INFO __main__: Initializing weewxd version 5.0.2
2024-02-21T12:15:46.363060+00:00 WeeWX weewxd[3153]: INFO __main__: Command line: /usr/share/weewx/weewxd.py /etc/weewx/weewx.conf
2024-02-21T12:15:46.371965+00:00 WeeWX weewxd[3153]: INFO __main__: Using Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0]
2024-02-21T12:15:46.372032+00:00 WeeWX weewxd[3153]: INFO __main__: Located at /usr/bin/python3
2024-02-21T12:15:46.374175+00:00 WeeWX weewxd[3153]: INFO __main__: Platform Linux-6.1.0-rpi8-rpi-2712-aarch64-with-glibc2.36
2024-02-21T12:15:46.374268+00:00 WeeWX weewxd[3153]: INFO __main__: Locale: 'en_GB.UTF-8'
2024-02-21T12:15:46.374299+00:00 WeeWX weewxd[3153]: INFO __main__: Entry path: /usr/share/weewx/weewxd.py
2024-02-21T12:15:46.374324+00:00 WeeWX weewxd[3153]: INFO __main__: WEEWX_ROOT: /etc/weewx
2024-02-21T12:15:46.374352+00:00 WeeWX weewxd[3153]: INFO __main__: Configuration file: /etc/weewx/weewx.conf
2024-02-21T12:15:46.374376+00:00 WeeWX weewxd[3153]: INFO __main__: User module: /etc/weewx/bin/user
2024-02-21T12:15:46.374401+00:00 WeeWX weewxd[3153]: INFO __main__: Debug: 0
2024-02-21T12:15:46.374584+00:00 WeeWX weewxd[3153]: INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
2024-02-21T12:15:46.379577+00:00 WeeWX weewxd[3153]: ERROR weewx.engine: Import of driver failed: [Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0' (<class 'serial.serialutil.SerialException'>)
2024-02-21T12:15:46.382885+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****  Traceback (most recent call last):
2024-02-21T12:15:46.384033+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 322, in open
2024-02-21T12:15:46.384085+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
2024-02-21T12:15:46.384112+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-21T12:15:46.384136+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****  FileNotFoundError: [Errno 2] No such file or directory: '/dev/ttyUSB0'
2024-02-21T12:15:46.384173+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****  
2024-02-21T12:15:46.384196+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****  During handling of the above exception, another exception occurred:
2024-02-21T12:15:46.384219+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****  
2024-02-21T12:15:46.384240+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****  Traceback (most recent call last):
2024-02-21T12:15:46.384261+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/engine.py", line 115, in setupStation
2024-02-21T12:15:46.384285+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      self.console = loader_function(config_dict, self)
2024-02-21T12:15:46.384311+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-21T12:15:46.384339+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py", line 32, in loader
2024-02-21T12:15:46.384367+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      return VantageService(engine, config_dict)
2024-02-21T12:15:46.384391+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-21T12:15:46.384417+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py", line 2046, in __init__
2024-02-21T12:15:46.384448+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      Vantage.__init__(self, **config_dict[DRIVER_NAME])
2024-02-21T12:15:46.384477+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py", line 536, in __init__
2024-02-21T12:15:46.384504+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      self.port.openPort()
2024-02-21T12:15:46.384528+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py", line 319, in openPort
2024-02-21T12:15:46.384556+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      self.serial_port = serial.Serial(self.port, self.baudrate, timeout=self.timeout)
2024-02-21T12:15:46.384577+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-02-21T12:15:46.384607+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 244, in __init__
2024-02-21T12:15:46.384633+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      self.open()
2024-02-21T12:15:46.384660+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 325, in open
2024-02-21T12:15:46.384691+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
2024-02-21T12:15:46.384732+00:00 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****  serial.serialutil.SerialException: [Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0'
2024-02-21T12:15:46.384766+00:00 WeeWX weewxd[3153]: CRITICAL __main__: Unable to load driver: [Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0'
2024-02-21T12:15:46.384797+00:00 WeeWX weewxd[3153]: CRITICAL __main__:     ****  Exiting...
2024-02-21T12:15:46.418049+00:00 WeeWX systemd[1]: weewx.service: Main process exited, code=exited, status=4/NOPERMISSION
2024-02-21T12:15:46.418151+00:00 WeeWX systemd[1]: weewx.service: Failed with result 'exit-code'.
2024-02-21T12:17:01.034563+00:00 WeeWX CRON[3176]: (root) CMD (cd / && run-parts --report /etc/cron.hourly)

Output of weewx status:

weewx.service - WeeWX
     Loaded: loaded (/lib/systemd/system/weewx.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Wed 2024-02-21 12:15:46 GMT; 22s ago
   Duration: 136ms
       Docs: https://weewx.com/docs
    Process: 3153 ExecStart=weewxd /etc/weewx/weewx.conf (code=exited, status=4)
   Main PID: 3153 (code=exited, status=4)
        CPU: 127ms

Feb 21 12:15:46 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 21 12:15:46 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 244, in __init__
Feb 21 12:15:46 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      self.open()
Feb 21 12:15:46 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****    File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 325, in open
Feb 21 12:15:46 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****      raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
Feb 21 12:15:46 WeeWX weewxd[3153]: CRITICAL weewx.engine:     ****  serial.serialutil.SerialException: [Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0'
Feb 21 12:15:46 WeeWX weewxd[3153]: CRITICAL __main__: Unable to load driver: [Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0'
Feb 21 12:15:46 WeeWX weewxd[3153]: CRITICAL __main__:     ****  Exiting...
Feb 21 12:15:46 WeeWX systemd[1]: weewx.service: Main process exited, code=exited, status=4/NOPERMISSION
Feb 21 12:15:46 WeeWX systemd[1]: weewx.service: Failed with result 'exit-code'.

ENDS

From what I can see from very limited experience, it looks like a fault with the serial USB connection (that is now back working fine on the RPi4).

Any help much appreciated.

Dave


Neil B

unread,
Feb 21, 2024, 7:47:22 AMFeb 21
to weewx-user
I've just had a similar issue with the VANTAGE on Ethernet. All was fine with me on a Raspberry Pi 4, but I updated to a full Debian Bookwork mini PC over the weekend and now Weewx won't start. In a previous post Tom and others helped by putting in a file to allow the network to start before Weewx kicked in. However, on a fresh install on vanilla Debian, the directories/files don't exist as they did on the PI. This is my error log:

Feb 21 12:40:25 SCADA systemd[1]: Started weewx.service - WeeWX.
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Initializing weewxd version 5.0.2
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Command line: /usr/share/weewx/weewxd.py /etc/weewx/weewx.conf
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Using Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0]
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Located at /usr/bin/python3
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Platform Linux-6.1.0-18-amd64-x86_64-with-glibc2.36
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Locale: 'en_GB.UTF-8'
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Entry path: /usr/share/weewx/weewxd.py
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: WEEWX_ROOT: /etc/weewx
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Configuration file: /etc/weewx/weewx.conf
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: User module: /etc/weewx/bin/user
Feb 21 12:40:26 SCADA weewxd[520]: INFO __main__: Debug: 1
Feb 21 12:40:26 SCADA weewxd[520]: DEBUG __main__: Initializing engine
Feb 21 12:40:26 SCADA weewxd[520]: INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Feb 21 12:40:26 SCADA weewxd[520]: DEBUG weewx.drivers.vantage: Driver version is 3.6.2
Feb 21 12:40:26 SCADA weewxd[520]: DEBUG weewx.drivers.vantage: Option loop_request=1
Feb 21 12:40:26 SCADA weewxd[520]: ERROR weewx.drivers.vantage: Socket error while opening port 22222 to ethernet host >
Feb 21 12:40:26 SCADA weewxd[520]: ERROR weewx.engine: Import of driver failed: [Errno 101] Network is unreachable (<cl>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****  Traceback (most recent call last):
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py",>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****      self.socket.connect((self.host, self.port))
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****  OSError: [Errno 101] Network is unreachable
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****  During handling of the above exception, another exc>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****  Traceback (most recent call last):
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/engine.py", line 115>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****      self.console = loader_function(config_dict, sel>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py",>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****      return VantageService(engine, config_dict)
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py",>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****      Vantage.__init__(self, **config_dict[DRIVER_NAM>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py",>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****      self.port.openPort()
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/drivers/vantage.py",>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****      raise weewx.WeeWxIOError(ex)
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL weewx.engine:     ****  weewx.WeeWxIOError: [Errno 101] Network is unreacha>
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL __main__: Unable to load driver: [Errno 101] Network is unreachable
Feb 21 12:40:26 SCADA weewxd[520]: CRITICAL __main__:     ****  Exiting...
Feb 21 12:40:26 SCADA systemd[1]: weewx.service: Main process exited, code=exited, status=4/NOPERMISSION
Feb 21 12:40:26 SCADA systemd[1]: weewx.service: Failed with result 'exit-code'.

vhel...@gmail.com

unread,
Feb 21, 2024, 7:49:42 AMFeb 21
to weewx-user
Hi,

Plug the USB serial converter with weatherstation plugged to your RPI5.
Check from linux terminal command: ls /dev/ to see is your logger there.
Paste the results of: ls /dev/ here.

-Ville-

Dave McCreath

unread,
Feb 21, 2024, 8:18:38 AMFeb 21
to weewx-user
Ville

Many thanks for your support.  As requested output of ls /dev/

is here:

DMac@WeeWX:~ $ ls /dev/
autofs           loop1         ram6        tty24  tty58      vcsu1
block            loop2         ram7        tty25  tty59      vcsu2
bsg              loop3         ram8        tty26  tty6       vcsu3
btrfs-control    loop4         ram9        tty27  tty60      vcsu4
bus              loop5         random      tty28  tty61      vcsu5
cachefiles       loop6         rfkill      tty29  tty62      vcsu6
cec0             loop7         rtc         tty3   tty63      vcsu7
cec1             loop-control  rtc0        tty30  tty7       vga_arbiter
char             mapper        sda         tty31  tty8       vhci
console          media0        sda1        tty32  tty9       vhost-net
cpu_dma_latency  media1        serial      tty33  ttyAMA10   vhost-vsock
cuse             media2        serial0     tty34  ttyprintk  video19
disk             mem           sg0         tty35  ttyUSB0    video20
dma_heap         mmcblk0       shm         tty36  uhid       video21
dri              mmcblk0p1     snd         tty37  uinput     video22
fd               mmcblk0p2     spidev10.0  tty38  urandom    video23
full             mqueue        stderr      tty39  v4l        video24
fuse             net           stdin       tty4   vantage    video25
gpiochip0        null          stdout      tty40  vcio       video26
gpiochip1        port          tty         tty41  vc-mem     video27
gpiochip2        ppp           tty0        tty42  vcs        video28
gpiochip3        pps0          tty1        tty43  vcs1       video29
gpiochip4        ptmx          tty10       tty44  vcs2       video30
gpiomem0         ptp0          tty11       tty45  vcs3       video31
gpiomem1         pts           tty12       tty46  vcs4       video32
gpiomem2         ram0          tty13       tty47  vcs5       video33
gpiomem3         ram1          tty14       tty48  vcs6       video34
gpiomem4         ram10         tty15       tty49  vcs7       video35
hwrng            ram11         tty16       tty5   vcsa       video36
i2c-11           ram12         tty17       tty50  vcsa1      video37
i2c-12           ram13         tty18       tty51  vcsa2      watchdog
initctl          ram14         tty19       tty52  vcsa3      watchdog0
input            ram15         tty2        tty53  vcsa4      zero
kmsg             ram2          tty20       tty54  vcsa5
kvm              ram3          tty21       tty55  vcsa6
log              ram4          tty22       tty56  vcsa7
loop0            ram5          tty23       tty57  vcsu

Regards

Dave

Dave McCreath

unread,
Feb 21, 2024, 11:00:54 AMFeb 21
to weewx-user
I also ran dmesg with the serial adaptor inserted and the following are the last six lines of output: 

[ 1596.869545] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1596.869548] usb 3-1: Product: CP2102 USB to UART Bridge Controller
[ 1596.869551] usb 3-1: Manufacturer: Silicon Labs
[ 1596.869553] usb 3-1: SerialNumber: 0001
[ 1596.870446] cp210x 3-1:1.0: cp210x converter detected
[ 1596.873368] usb 3-1: cp210x converter now attached to ttyUSB0

Tom Keffer

unread,
Feb 21, 2024, 11:19:14 AMFeb 21
to weewx...@googlegroups.com
Dave, you have a permissions problem. See the wiki article How to fix device permissions in particular, Example: add the weewx user to group defined on a device. If that doesn't help, come back here and we'll figure it out.

Neil, your problem is something completely different and not related to Dave's. It looks like you solved it in another thread.

-tk

--
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 on the web visit https://groups.google.com/d/msgid/weewx-user/c441d8da-7624-43ef-86b4-3da2faf25168n%40googlegroups.com.

Dave McCreath

unread,
Feb 21, 2024, 11:24:51 AMFeb 21
to weewx-user
Tom

Many thanks, solved!

sudo usermod -aG dialout weewx.

All up and working fine on the new RPi 5 having followed your magnificent guide here:  Moving Weewx to new PC (google.com)

Regards

Dave

Reply all
Reply to author
Forward
0 new messages