vantage: No <ACK> received from console

986 views
Skip to first unread message

Jean-Christophe Gardaz

unread,
Feb 9, 2015, 1:02:17 PM2/9/15
to weewx...@googlegroups.com
Brand new user, just installed weewx 3 on a odroid c1, connected to a vantage pro 2 through usb.

It seems to work but not 100%, I get this annoying No <ACK> in syslog all the time, any help appreciated

Feb  9 17:41:21 odroid weewx[1436]: engine: Using configuration file /home/weewx/weewx.conf
Feb  9 17:41:21 odroid weewx[1436]: engine: Loading station type Vantage (weewx.drivers.vantage)
Feb  9 17:41:22 odroid weewx[1436]: engine: StdConvert target unit is 0x1
Feb  9 17:41:22 odroid weewx[1436]: engine: Archive will use data binding wx_binding
Feb  9 17:41:22 odroid weewx[1436]: engine: Record generation will be attempted in 'hardware'
Feb  9 17:41:22 odroid weewx[1436]: engine: The archive interval in the configuration file (60) does not match the station hardware interval (300).
Feb  9 17:41:22 odroid weewx[1436]: engine: Using archive interval of 300 seconds
Feb  9 17:41:22 odroid weewx[1436]: engine: Using binding 'wx_binding' to database 'archive/weewx.sdb'
Feb  9 17:41:22 odroid weewx[1436]: engine: Starting backfill of daily summaries
Feb  9 17:41:22 odroid weewx[1436]: engine: Daily summaries up to date.
Feb  9 17:41:22 odroid weewx[1436]: engine: Starting up weewx version 3.1.0
Feb  9 17:41:23 odroid weewx[1436]: engine: Clock error is 0.86 seconds (positive is fast)
Feb  9 17:41:23 odroid weewx[1436]: engine: Starting main packet loop.
Feb  9 17:45:17 odroid weewx[1436]: manager: added record 2015-02-09 17:45:00 CET (1423500300) to database 'archive/weewx.sdb'
Feb  9 17:45:17 odroid weewx[1436]: manager: added record 2015-02-09 17:45:00 CET (1423500300) to daily summary in 'archive/weewx.sdb'
Feb  9 17:45:19 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.70 seconds
Feb  9 17:45:20 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.93 seconds
Feb  9 17:50:17 odroid weewx[1436]: vantage: No <ACK> received from console
Feb  9 17:50:24 odroid weewx[1436]: manager: added record 2015-02-09 17:50:00 CET (1423500600) to database 'archive/weewx.sdb'
Feb  9 17:50:24 odroid weewx[1436]: manager: added record 2015-02-09 17:50:00 CET (1423500600) to daily summary in 'archive/weewx.sdb'
Feb  9 17:50:26 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.70 seconds
Feb  9 17:50:27 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.93 seconds
Feb  9 17:55:17 odroid weewx[1436]: manager: added record 2015-02-09 17:55:00 CET (1423500900) to database 'archive/weewx.sdb'
Feb  9 17:55:17 odroid weewx[1436]: manager: added record 2015-02-09 17:55:00 CET (1423500900) to daily summary in 'archive/weewx.sdb'
Feb  9 17:55:20 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.69 seconds
Feb  9 17:55:21 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 1.00 seconds
Feb  9 18:00:18 odroid weewx[1436]: vantage: No <ACK> received from console
Feb  9 18:00:24 odroid weewx[1436]: manager: added record 2015-02-09 18:00:00 CET (1423501200) to database 'archive/weewx.sdb'
Feb  9 18:00:24 odroid weewx[1436]: manager: added record 2015-02-09 18:00:00 CET (1423501200) to daily summary in 'archive/weewx.sdb'
Feb  9 18:00:26 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.71 seconds
Feb  9 18:00:31 odroid weewx[1436]: genimages: Generated 36 images for StandardReport in 4.34 seconds
Feb  9 18:05:17 odroid weewx[1436]: manager: added record 2015-02-09 18:05:00 CET (1423501500) to database 'archive/weewx.sdb'
Feb  9 18:05:17 odroid weewx[1436]: manager: added record 2015-02-09 18:05:00 CET (1423501500) to daily summary in 'archive/weewx.sdb'
Feb  9 18:05:20 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.70 seconds
Feb  9 18:05:21 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.86 seconds
Feb  9 18:10:16 odroid weewx[1436]: vantage: No <ACK> received from console
Feb  9 18:10:22 odroid weewx[1436]: manager: added record 2015-02-09 18:10:00 CET (1423501800) to database 'archive/weewx.sdb'
Feb  9 18:10:22 odroid weewx[1436]: manager: added record 2015-02-09 18:10:00 CET (1423501800) to daily summary in 'archive/weewx.sdb'
Feb  9 18:10:24 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.71 seconds
Feb  9 18:10:25 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.86 seconds
Feb  9 18:15:17 odroid weewx[1436]: manager: added record 2015-02-09 18:15:00 CET (1423502100) to database 'archive/weewx.sdb'
Feb  9 18:15:17 odroid weewx[1436]: manager: added record 2015-02-09 18:15:00 CET (1423502100) to daily summary in 'archive/weewx.sdb'
Feb  9 18:15:19 odroid weewx[1436]: vantage: No <ACK> received from console
Feb  9 18:15:19 odroid weewx[1436]: engine: Shutting down StdReport thread
Feb  9 18:15:20 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.92 seconds
Feb  9 18:15:21 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.94 seconds
Feb  9 18:15:22 odroid weewx[1436]: engine: Caught WeeWxIOError: No <ACK> received from Vantage console
Feb  9 18:15:22 odroid weewx[1436]:     ****  Waiting 60 seconds then retrying...
Feb  9 18:16:22 odroid weewx[1436]: engine: retrying...
Feb  9 18:16:22 odroid weewx[1436]: engine: Using configuration file /home/weewx/weewx.conf
Feb  9 18:16:22 odroid weewx[1436]: engine: Loading station type Vantage (weewx.drivers.vantage)
Feb  9 18:16:22 odroid weewx[1436]: engine: StdConvert target unit is 0x1
Feb  9 18:16:22 odroid weewx[1436]: engine: Archive will use data binding wx_binding
Feb  9 18:16:22 odroid weewx[1436]: engine: Record generation will be attempted in 'hardware'
Feb  9 18:16:22 odroid weewx[1436]: engine: The archive interval in the configuration file (60) does not match the station hardware interval (300).
Feb  9 18:16:22 odroid weewx[1436]: engine: Using archive interval of 300 seconds
Feb  9 18:16:22 odroid weewx[1436]: engine: Using binding 'wx_binding' to database 'archive/weewx.sdb'
Feb  9 18:16:22 odroid weewx[1436]: engine: Starting backfill of daily summaries
Feb  9 18:16:22 odroid weewx[1436]: engine: Daily summaries up to date.
Feb  9 18:16:22 odroid weewx[1436]: engine: Starting up weewx version 3.1.0
Feb  9 18:16:23 odroid weewx[1436]: engine: Clock error is 0.55 seconds (positive is fast)
Feb  9 18:16:23 odroid weewx[1436]: engine: Starting main packet loop.
Feb  9 18:17:01 odroid CRON[2461]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Feb  9 18:20:17 odroid weewx[1436]: manager: added record 2015-02-09 18:20:00 CET (1423502400) to database 'archive/weewx.sdb'
Feb  9 18:20:17 odroid weewx[1436]: manager: added record 2015-02-09 18:20:00 CET (1423502400) to daily summary in 'archive/weewx.sdb'
Feb  9 18:20:19 odroid weewx[1436]: vantage: No <ACK> received from console
Feb  9 18:20:19 odroid weewx[1436]: engine: Shutting down StdReport thread
Feb  9 18:20:20 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.70 seconds
Feb  9 18:20:21 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.86 seconds
Feb  9 18:20:21 odroid weewx[1436]: engine: Caught WeeWxIOError: No <ACK> received from Vantage console
Feb  9 18:20:21 odroid weewx[1436]:     ****  Waiting 60 seconds then retrying...
Feb  9 18:21:21 odroid weewx[1436]: engine: retrying...
Feb  9 18:21:21 odroid weewx[1436]: engine: Using configuration file /home/weewx/weewx.conf
Feb  9 18:21:21 odroid weewx[1436]: engine: Loading station type Vantage (weewx.drivers.vantage)
Feb  9 18:21:22 odroid weewx[1436]: engine: StdConvert target unit is 0x1
Feb  9 18:21:22 odroid weewx[1436]: engine: Archive will use data binding wx_binding
Feb  9 18:21:22 odroid weewx[1436]: engine: Record generation will be attempted in 'hardware'
Feb  9 18:21:22 odroid weewx[1436]: engine: The archive interval in the configuration file (60) does not match the station hardware interval (300).
Feb  9 18:21:22 odroid weewx[1436]: engine: Using archive interval of 300 seconds
Feb  9 18:21:22 odroid weewx[1436]: engine: Using binding 'wx_binding' to database 'archive/weewx.sdb'
Feb  9 18:21:22 odroid weewx[1436]: engine: Starting backfill of daily summaries
Feb  9 18:21:22 odroid weewx[1436]: engine: Daily summaries up to date.
Feb  9 18:21:22 odroid weewx[1436]: engine: Starting up weewx version 3.1.0
Feb  9 18:21:23 odroid weewx[1436]: engine: Clock error is -0.15 seconds (positive is fast)
Feb  9 18:21:23 odroid weewx[1436]: engine: Starting main packet loop.
Feb  9 18:25:20 odroid weewx[1436]: vantage: No <ACK> received from console
Feb  9 18:25:26 odroid weewx[1436]: manager: added record 2015-02-09 18:25:00 CET (1423502700) to database 'archive/weewx.sdb'
Feb  9 18:25:26 odroid weewx[1436]: manager: added record 2015-02-09 18:25:00 CET (1423502700) to daily summary in 'archive/weewx.sdb'
Feb  9 18:25:29 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.93 seconds
Feb  9 18:25:30 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.94 seconds
Feb  9 18:30:17 odroid weewx[1436]: manager: added record 2015-02-09 18:30:00 CET (1423503000) to database 'archive/weewx.sdb'
Feb  9 18:30:17 odroid weewx[1436]: manager: added record 2015-02-09 18:30:00 CET (1423503000) to daily summary in 'archive/weewx.sdb'
Feb  9 18:30:20 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.94 seconds
Feb  9 18:30:21 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.94 seconds
Feb  9 18:35:18 odroid weewx[1436]: vantage: No <ACK> received from console
Feb  9 18:35:24 odroid weewx[1436]: manager: added record 2015-02-09 18:35:00 CET (1423503300) to database 'archive/weewx.sdb'
Feb  9 18:35:24 odroid weewx[1436]: manager: added record 2015-02-09 18:35:00 CET (1423503300) to daily summary in 'archive/weewx.sdb'
Feb  9 18:35:27 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.93 seconds
Feb  9 18:35:27 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.95 seconds
Feb  9 18:40:17 odroid weewx[1436]: manager: added record 2015-02-09 18:40:00 CET (1423503600) to database 'archive/weewx.sdb'
Feb  9 18:40:17 odroid weewx[1436]: manager: added record 2015-02-09 18:40:00 CET (1423503600) to daily summary in 'archive/weewx.sdb'
Feb  9 18:40:20 odroid weewx[1436]: cheetahgenerator: Generated 14 files for report StandardReport in 1.92 seconds
Feb  9 18:40:21 odroid weewx[1436]: genimages: Generated 12 images for StandardReport in 0.95 seconds

Thomas Keffer

unread,
Feb 9, 2015, 1:12:33 PM2/9/15
to weewx-user
Hello, 

When you say the Vantage is connected "through USB," do you mean that you are using a serial-to-USB converter? Or, is it USB directly to the computer?

If it's working most, but not all, of the time, it sure sounds like a connectivity problem. 

The other possibility is a competing process, also trying to reach the Vantage. I don't see any evidence of one from your syslog, but do you have something else trying to communicate with the console?

-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.
For more options, visit https://groups.google.com/d/optout.

Nick Niti

unread,
Feb 9, 2015, 4:30:50 PM2/9/15
to weewx...@googlegroups.com
I had this problem the first time I hooked up my Vantage Pro 2 via USB to my Raspberry Pi... I corrected it by "re-seating" the Serial USB card int he vantage and switching out the USB cable.  I also remember reading where some people had this happen with longer/low quality USB cables.

Now the only time I see that issue is about 30% of the time when either the Pi reboots or weewx restarts it dies with a similar message, restarting weewx service seems to fix it so I have a script running via cron every 10 minutes to check the weewx process and re-start if it's not found.

Thomas Keffer

unread,
Feb 9, 2015, 5:49:12 PM2/9/15
to weewx-user
Nick, again, are you using a serial-to-USB converter?

Another way of asking the same question, is what is the exact model number of your logger?

-tk

Nick Niti

unread,
Feb 9, 2015, 6:04:41 PM2/9/15
to weewx...@googlegroups.com
Im using a Weatherlink Data Logger (06510USB) installed in a Vantage Vue 6351

Nick Niti

unread,
Feb 9, 2015, 6:22:27 PM2/9/15
to weewx...@googlegroups.com
Relevant Log.. Once again, this happens on startup about 30% of the time, immediately goto start service again and all is fine:

Feb  8 12:31:34 RPIweeWx weewx[3020]: engine: Initializing weewx version 3.1.0
Feb  8 12:31:34 RPIweeWx weewx[3020]: engine: Using Python 2.7.3 (default, Mar 18 2014, 05:13:23) #012[GCC 4.6.3]
Feb  8 12:31:34 RPIweeWx weewx[3020]: engine: pid file is /var/run/weewx.pid
Feb  8 12:31:34 RPIweeWx weewx[3022]: engine: Using configuration file /etc/weewx/weewx.conf
Feb  8 12:31:34 RPIweeWx weewx[3022]: engine: Loading station type Vantage (weewx.drivers.vantage)
Feb  8 12:31:36 RPIweeWx weewx[3022]: vantage: No <ACK> received from console
Feb  8 12:31:36 RPIweeWx weewx[3022]: engine: Unable to load driver: No <ACK> received from Vantage console
Feb  8 12:31:36 RPIweeWx weewx[3022]:     ****  Exiting...

Thomas Keffer

unread,
Feb 9, 2015, 6:27:10 PM2/9/15
to weewx-user
Oops! I'm sorry: I was responding to the last email and assumed you were the original poster! Apologies!

My question was directed at Jean-Christophe. Are you using a serial-to-USB converter?

-tk

Jean-Christophe Gardaz

unread,
Feb 10, 2015, 2:03:32 AM2/10/15
to weewx...@googlegroups.com
Hi Tom,

thanks for the very fast answer, I'm impressed by you guys being so available (well hope my english is OK). Being in Switzerland there is a slight time difference :-)

So no I'm not using a converter its a direct USB connection, and no there is no competing process trying to connect to my Vantage.

So yes I guess it looks like a pure connectivity problem (usb cable provided by Davis is quite long and doesn't seem to be of very good quality), so I'll try Nick's suggestion, and I ordered a good quality USB cable as well.

I'll keep you posted as soon as I receive the new cable.

Messy Potamia

unread,
Feb 11, 2015, 6:48:11 AM2/11/15
to weewx...@googlegroups.com
I'm having the same exact problem. USB cable which came from Davis, a vantage pro2; my RPiB+ seems to be running fine however every night at 23:03 I stop weewx, copy files to a network share, restart weewx. I put a couple "sleep"s in the script just to let things stabilize, and the time from stop - start weewx is about 8 seconds. About eery other night it throws the "vantage: No <ACK> received from console" error and weewx doesn't continue.
Tom, do you think this is a usb cable problem? Or does the USB cable need a ferrite at one of the ends? Or both?  I don't know what to do.
Phil

Thomas Keffer

unread,
Feb 11, 2015, 9:55:56 AM2/11/15
to weewx-user
No idea what's going on. I am unable to reproduce any of this. My VP2 always starts up reliably.

Could you try again, but this time with debug=1 (in weewx.conf)? This will log extra information about the communications between weewx and the console.

Stop weewx
Set debug=1
Restart weewx
Let it run until you get the <ACK> error, then post the log.

-tk



Nick Niti

unread,
Feb 11, 2015, 5:54:00 PM2/11/15
to weewx...@googlegroups.com
I have done this in the past, unfortunately it doesn't tell us much.  I'm 90% sure this is a USB cable issue as sometimes after I move it weeWX stays up for months, other times it's up/down a couple times a day.  BTW I'm running a Vue using the data collector.

I just created a cronjob that checks to see if the process is running every 15 mins, and if not restart it.  But this should really be part of the weeWX daemon no? I'm not sure why the weeWx daemon "exits" after a single instance of not being able to talk with the station/collector.

For anyone who wants it here is the bash script i'm currently using, it will log to /var/log/weewxcheck.log

#! /bin/sh
# Author: Just van den Broecke <justb4 ATAT gmail DOTSDOTS com>
# Restart weewx if not running.
# Modification by nick ATAT nirica DOTSDOTS com 2/1/2015


NPROC=`ps ax | grep 'python /usr/bin/weewxd'| wc -l`
if [ $NPROC -gt 2 ]; then
    echo "`date` weewx running multiple times on `date`! Attempting restart." >> /var/log/weewxcheck.log
    /etc/init.d/weewx restart
elif [ $NPROC = 2 ]; then
    echo "`date` Weewx is ok: $status"
else
    echo "`date` weewx not running on `date`! Attempting restart." >> /var/log/weewxcheck.log
    /etc/init.d/weewx restart
fi

And the crontab entry (as root):

#Check and see if weewxd is running, if not start it
*/15 * * * * /home/pi/weewxcheck.sh >> /var/log/weewxcheck.log 2>&1



Thomas Keffer

unread,
Feb 11, 2015, 6:20:57 PM2/11/15
to weewx-user
Weewx should give it three tries, then do a restart. It definitely should not crash. This seems to be what it's doing with Jean-Christophe.

The exception is on startup, where it will exit if it does not connect. The thinking behind this was to cover the case where the port was specified incorrectly --- if you can't connect on startup, then it's probably a configuration problem. Unfortunately, this exposes weewx to a crash if the configuration is specified correctly, but a glitch happened on startup. This seems to be what happened in the little code snippet you posted.

Starting with V3.1 you can override this behavior by using the --loop-on-init flag (undocumented). With this flag it will keep retrying, even on startup.

-tk


Nicholas Saraniti

unread,
Feb 11, 2015, 8:56:22 PM2/11/15
to weewx...@googlegroups.com
This is pretty typical from what I have been seeing:

weewx not running on Sun Feb  8 12:55:21 EST 2015! Attempting restart.
Weewx is ok:
Weewx is ok:
Sun Feb  8 17:15:01 EST 2015 weewx not running on Sun Feb  8 17:15:01 EST 2015! Attempting restart.
Restarting weewx weather system: weewx.
Sun Feb  8 17:30:01 EST 2015 Weewx is ok:
Sun Feb  8 17:45:01 EST 2015 Weewx is ok:
REMOVED RECS FOR BREVITY
Mon Feb  9 02:00:01 EST 2015 Weewx is ok:
Mon Feb  9 02:15:01 EST 2015 weewx not running on Mon Feb  9 02:15:01 EST 2015! Attempting restart.
Restarting weewx weather system: weewx.
Mon Feb  9 02:30:01 EST 2015 Weewx is ok:
REMOVED RECS FOR BREVITY
Mon Feb  9 14:15:01 EST 2015 Weewx is ok:
Mon Feb  9 14:30:01 EST 2015 Weewx is ok:
Mon Feb  9 14:45:01 EST 2015 weewx not running on Mon Feb  9 14:45:01 EST 2015! Attempting restart.
Restarting weewx weather system: weewx.
Mon Feb  9 15:00:01 EST 2015 Weewx is ok:



You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/ZcqShGOZv0k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.

Nick Niti

unread,
Feb 11, 2015, 9:34:03 PM2/11/15
to weewx...@googlegroups.com
After thinking about it a little bit maybe this is the USB port on the Pi not playing nice with the data logger on the Console... They aren't the most stable components... Maybe i'll fire up a VM and hook the usb up and see if I still get the error this weekend... In the meantime I'm perfectly happy with the cronjob as a fix and I'm not missing data since the data logger is capturing even when weeWx dies.

Jean are you running weeWX on a raspberry pi or some other hardware?  Any other Pi owners seeing this?
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/ZcqShGOZv0k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+unsubscribe@googlegroups.com.

Thomas Keffer

unread,
Feb 11, 2015, 10:51:09 PM2/11/15
to weewx-user
Thanks, Nicholas.

But, this does not do me much good without the log that shows the reason why weewx stopped running.

It is definitely not OK for it to stop, except under the narrow circumstances where there is a configuration problem.

-tk

Nick Niti

unread,
Feb 11, 2015, 11:27:57 PM2/11/15
to weewx...@googlegroups.com
Feb  8 12:26:57 RPIweeWx dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Feb  8 12:26:57 RPIweeWx dhclient: DHCPOFFER from 10.11.12.100
Feb  8 12:26:57 RPIweeWx ifplugd(eth0)[1688]: client: DHCPOFFER from 10.11.12.100
Feb  8 12:26:57 RPIweeWx dhclient: DHCPACK from 10.11.12.100
Feb  8 12:26:57 RPIweeWx ifplugd(eth0)[1688]: client: DHCPACK from 10.11.12.100
Feb  8 12:26:57 RPIweeWx dhclient: bound to 10.11.12.50 -- renewal in 32712 seconds.
Feb  8 12:26:57 RPIweeWx ifplugd(eth0)[1688]: client: bound to 10.11.12.50 -- renewal in 32712 seconds.
Feb  8 12:26:58 RPIweeWx ifplugd(eth0)[1688]: Program executed successfully.
Feb  8 12:26:58 RPIweeWx ntpd[2226]: Listen normally on 2 eth0 10.11.12.50 UDP 123
Feb  8 12:26:58 RPIweeWx ntpd[2226]: peers refreshed
Feb  8 12:27:00 RPIweeWx ntpd_intres[2235]: DNS 0.debian.pool.ntp.org -> 74.207.242.71
Feb  8 12:27:00 RPIweeWx ntpd_intres[2235]: DNS 1.debian.pool.ntp.org -> 74.117.238.11
Feb  8 12:27:00 RPIweeWx ntpd_intres[2235]: DNS 2.debian.pool.ntp.org -> 38.229.71.1
Feb  8 12:27:01 RPIweeWx ntpd_intres[2235]: DNS 3.debian.pool.ntp.org -> 23.226.142.216
Feb  8 12:29:22 RPIweeWx weewx[2675]: engine: retrying...
Feb  8 12:29:22 RPIweeWx weewx[2675]: engine: Using configuration file /etc/weewx/weewx.conf
Feb  8 12:29:22 RPIweeWx weewx[2675]: engine: Loading station type Vantage (weewx.drivers.vantage)
Feb  8 12:29:22 RPIweeWx weewx[2675]: vantage: No <ACK> received from console
Feb  8 12:29:22 RPIweeWx weewx[2675]: engine: Unable to load driver: No <ACK> received from Vantage console
Feb  8 12:29:22 RPIweeWx weewx[2675]:     ****  Exiting...

Feb  8 12:31:34 RPIweeWx weewx[3020]: engine: Initializing weewx version 3.1.0
Feb  8 12:31:34 RPIweeWx weewx[3020]: engine: Using Python 2.7.3 (default, Mar 18 2014, 05:13:23) #012[GCC 4.6.3]
Feb  8 12:31:34 RPIweeWx weewx[3020]: engine: pid file is /var/run/weewx.pid
Feb  8 12:31:34 RPIweeWx weewx[3022]: engine: Using configuration file /etc/weewx/weewx.conf
Feb  8 12:31:34 RPIweeWx weewx[3022]: engine: Loading station type Vantage (weewx.drivers.vantage)
Feb  8 12:31:36 RPIweeWx weewx[3022]: vantage: No <ACK> received from console
Feb  8 12:31:36 RPIweeWx weewx[3022]: engine: Unable to load driver: No <ACK> received from Vantage console
Feb  8 12:31:36 RPIweeWx weewx[3022]:     ****  Exiting...
Feb  8 12:31:59 RPIweeWx weewx[3055]: engine: Initializing weewx version 3.1.0
Feb  8 12:31:59 RPIweeWx weewx[3055]: engine: Using Python 2.7.3 (default, Mar 18 2014, 05:13:23) #012[GCC 4.6.3]
Feb  8 12:31:59 RPIweeWx weewx[3055]: engine: pid file is /var/run/weewx.pid
Feb  8 12:32:00 RPIweeWx weewx[3057]: engine: Using configuration file /etc/weewx/weewx.conf
Feb  8 12:32:00 RPIweeWx weewx[3057]: engine: Loading station type Vantage (weewx.drivers.vantage)
Feb  8 12:32:01 RPIweeWx weewx[3057]: engine: StdConvert target unit is 0x1
Feb  8 12:32:01 RPIweeWx weewx[3057]: engine: Archive will use data binding wx_binding
Feb  8 12:32:01 RPIweeWx weewx[3057]: engine: Record generation will be attempted in 'hardware'
Feb  8 12:32:01 RPIweeWx weewx[3057]: engine: Using archive interval of 300 seconds
Feb  8 12:32:01 RPIweeWx weewx[3057]: engine: Using binding 'wx_binding' to database 'weewx'

Feb  8 15:12:57 RPIweeWx ifplugd(eth0)[1602]: Program executed successfully.
Feb  8 15:12:58 RPIweeWx ntpd[2102]: Listen normally on 2 eth0 10.11.12.50 UDP 123
Feb  8 15:12:58 RPIweeWx ntpd[2102]: peers refreshed
Feb  8 15:13:00 RPIweeWx ntpd_intres[2108]: DNS 0.debian.pool.ntp.org -> 54.235.96.196
Feb  8 15:13:00 RPIweeWx ntpd_intres[2108]: DNS 1.debian.pool.ntp.org -> 50.116.38.157
Feb  8 15:13:00 RPIweeWx ntpd_intres[2108]: DNS 2.debian.pool.ntp.org -> 70.35.113.43
Feb  8 15:13:00 RPIweeWx ntpd_intres[2108]: DNS 3.debian.pool.ntp.org -> 76.191.88.3
Feb  8 16:28:20 RPIweeWx weewx[2559]: engine: retrying...
Feb  8 16:28:20 RPIweeWx weewx[2559]: engine: Using configuration file /etc/weewx/weewx.conf
Feb  8 16:28:20 RPIweeWx weewx[2559]: engine: Loading station type Vantage (weewx.drivers.vantage)
Feb  8 16:28:21 RPIweeWx weewx[2559]: vantage: No <ACK> received from console
Feb  8 16:28:21 RPIweeWx weewx[2559]: engine: Unable to load driver: No <ACK> received from Vantage console
Feb  8 16:28:21 RPIweeWx weewx[2559]:     ****  Exiting...

Thomas Keffer

unread,
Feb 11, 2015, 11:33:50 PM2/11/15
to weewx-user
Thanks, Nick

All these exits seem to be the exception I noted earlier: by default, the engine will exit if it cannot contact the console on initial startup. This is to avoid a false start on a configuration error.

If you use the --loop-on-init flag (V3.1 only), it will keep trying indefinitely, instead of exiting. Give it a try.

-tk

Jean-Christophe Gardaz

unread,
Feb 15, 2015, 9:18:57 AM2/15/15
to weewx...@googlegroups.com
Well, sorry for being late, but free time is hard to get those days.

So I've tried changing the USB cable for a good one (shielded, 2 ferrites, one at both ends), it seems to be better, but I still get this No <ACK> every now and then.
I'm running weewx on a Odroic C1, Ubuntu 14.04, so hard to say where the problem is, could be the Odroid USB port...

Anyway it doe not really affect the overall functioning as weewx works perfectly well as Tom said, it restarts and nothing is lost, graphs are fine so I don't' think I'll loose too much time on this one for now (may be later).

Messy Potamia

unread,
Feb 15, 2015, 10:01:00 AM2/15/15
to weewx...@googlegroups.com
The Odroid C1 looks like a cool microcontroller, especially since it's got a RTC and real serial port, among other things; hope it's not it's USB port, as I may try it for my next project. Honestly I am suspicious of Davis' quality, I've gotten a bad cable from them and the accuracy of my T-H sensor is in question. Meanwhile just got my new PI2 in, and I'm wondering why it has that unmistakable odor of fried circuitry, although it looks okay. Maybe in the burn-in cabinet it was next to a "smoker"...  (Sorry for being slightly off topic) --mp

Dave Webb KB1PVH

unread,
Feb 15, 2015, 10:04:40 AM2/15/15
to weewx...@googlegroups.com

I get the same message from time to time and I'm using a Pi. I'm not too concerned about it, I've got bigger things to worry about.

Dave-KB1PVH

Sent from my Samsung S4

Messy Potamia

unread,
Mar 10, 2015, 2:34:33 PM3/10/15
to weewx...@googlegroups.com
I just got this again after /etc/cron.d/weewx stop, then a few minutes later tried to bring weewx back up and after several manual restart attempts I had to reboot the Pi and upon checking syslog it came up fine. It does seem that the "safest" time to stop weewx is when it isn't doing anything (?).
Phil

Mark

unread,
Jun 4, 2015, 4:19:30 AM6/4/15
to weewx...@googlegroups.com
I am getting the same problem. Vantage Vue connected to Pi via USB. I have a cron job which does a backup of the sdcard at 2:30 every morning. Before doing the backup, it stops the daemons and then restarts them afterwards. 50% of the time, weewx does not restart - it gives a "vantage: No <ACK> received from console" message and exits without further tries. Restarting it manually then works fine. The "no <ACK>" problem does not normally seem to happen while weewx is running - only when it starts up, so I don't think it's a cable/connection problem. If there is no fix, then I guess I use the --loop-on-init flag (how do I do that - just add it to the start command?) or set up a cron to check if it is running and restart it if not - which is the preferable approach?

Thomas Keffer

unread,
Jun 4, 2015, 8:21:27 AM6/4/15
to weewx-user
Mark,

To add the --loop-on-init argument to the daemon, add it to option DAEMON_ARGS in /etc/init.d/weewx.

DAEMON_ARGS="--daemon --pidfile=$PIDFILE $WEEWX_CFG --loop-on-init

But, first, could you run the wee_config_device command with the --info option? I'd like to see what firmware your console is using.

You say the cron job "stops the daemons" (plural). Which other daemon?

Finally, next time it happens, send the relevant portion of the log. It would be even better if the debug flag was on.

-tk


Mark

unread,
Jun 4, 2015, 1:34:40 PM6/4/15
to weewx...@googlegroups.com
Thanks Tom. I ran wee_config_device a couple of times but both times it gave me errors. Re the daemons,the cron job also stops Syncrify (before weewx) and restarts it (after weewx).
Log extracts as follows:
1) Log just before and after the restart -

Jun  4 02:01:00 localhost weewx[16226]: manager: added record 2015-06-04 02:00:00 BST (1433379600) to daily summary in 'archive/weewx.sdb'
Jun  4 02:01:01 localhost weewx[16226]: restx: Wunderground-PWS: Published record 2015-06-04 02:00:00 BST (1433379600)
Jun  4 02:01:04 localhost weewx[16226]: cheetahgenerator: Generated 14 files for report StandardReport in 3.38 seconds
Jun  4 02:01:08 localhost weewx[16226]: genimages: Generated 24 images for StandardReport in 4.32 seconds
Jun  4 02:01:10 localhost weewx[16226]: cheetahgenerator: Generated 3 files for report SaratogaReport in 2.21 seconds
Jun  4 02:01:15 localhost weewx[16226]: genimages: Generated 25 images for SaratogaReport in 4.44 seconds
Jun  4 02:01:15 localhost weewx[16226]: cheetahgenerator: Generated 2 files for report YoWindowReport in 0.08 seconds
Jun  4 02:01:44 localhost weewx[16226]: reportengine: ftp'd 68 files in 29.53 seconds
Jun  4 02:30:01 localhost weewx[16226]: engine: Shutting down StdReport thread
Jun  4 02:30:02 localhost weewx[16226]: engine: Terminating weewx version 3.1.0
Jun  4 02:40:20 localhost kernel: [565899.532217] Transfer to device 6 endpoint 0x1 frame 1880 failed - FIQ reported NYET. Data may have been lost.
Jun  4 02:53:04 localhost weewx[4982]: engine: Initializing weewx version 3.1.0
Jun  4 02:53:04 localhost weewx[4982]: engine: Using Python 2.7.3 (default, Mar 18 2014, 05:13:23) #012[GCC 4.6.3]
Jun  4 02:53:04 localhost weewx[4982]: engine: pid file is /var/run/weewx.pid
Jun  4 02:53:04 localhost weewx[4984]: engine: Using configuration file /home/weewx/weewx.conf
Jun  4 02:53:04 localhost weewx[4984]: engine: Loading station type Vantage (weewx.drivers.vantage)
Jun  4 02:53:05 localhost weewx[4984]: vantage: No <ACK> received from console
Jun  4 02:53:05 localhost weewx[4984]: engine: Unable to load driver: No <ACK> received from Vantage console
Jun  4 02:53:05 localhost weewx[4984]:     ****  Exiting...
Jun  4 02:53:14 localhost sSMTP[4989]: Creating SSL connection to host
Jun  4 02:53:15 localhost sSMTP[4989]: SSL connection using RSA_ARCFOUR_SHA1
Jun  4 02:53:17 localhost sSMTP[4989]: Sent mail for root@localhost (221 2.0.0 closing connection fm8sm4059414wib.9 - gsmtp) uid=0 username=root outbytes=688

2) Result of running wee_config_device:
 root@max2play:/home/weewx# ./bin/wee_config_device --info
Using configuration file /home/weewx/weewx.conf
Using Vantage driver version 3.0 (weewx.drivers.vantage)
Traceback (most recent call last):
  File "./bin/wee_config_device", line 43, in <module>
    main()
  File "./bin/wee_config_device", line 40, in main
    device.configure(config_dict)
  File "/home/weewx/bin/weewx/drivers/__init__.py", line 65, in configure
    self.do_options(options, parser, config_dict, prompt)
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 1745, in do_options
    station = Vantage(**config_dict[DRIVER_NAME])
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 413, in __init__
    self._setup()
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 1084, in _setup
    self.port.send_data("WRD" + chr(0x12) + chr(0x4d) + "\n")
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 91, in send_data
    _resp = self.read()
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 219, in read
    raise weewx.WeeWxIOError("Expected to read %d chars; got %d instead" % (chars, N))
weewx.WeeWxIOError: Expected to read 1 chars; got 0 instead

Let me know if you need any more info. 

Thomas Keffer

unread,
Jun 4, 2015, 7:13:35 PM6/4/15
to weewx-user
Thanks.

Something I'm not understanding here: you said it will fail when the daemon tries to startup after your backup, but "restarting manually works fine." But, the wee_config_device --info command failed.

So, it's not necessarily anything having to do with the daemon? 

This is looking like a USB problem to me. How is your RPi powered? Do you have other things plugged into it?

Can you make it fail with debug=1?

-tk



Mark

unread,
Jun 5, 2015, 4:57:29 AM6/5/15
to weewx...@googlegroups.com
When I said "restarting manually" I meant restarting the daemon from the console. 
This morning the automatic restart worked fine, but wee_config_device --info  still failed.
I then put debug=1 and restarted. This time wee_config_device --info worked and revealed that the firmware is version 2.14.
Looking at the syslog, I see no errors.
The Pi is powered by a supply that was provided with it, but all the USBs except the keyboard go through a separate powered USB hub which is sold as being specific to the Pi.

Thomas Keffer

unread,
Jun 5, 2015, 8:02:20 AM6/5/15
to weewx-user
Can you try switching USB ports? Remove the keyboard and plug the vantage into where it was. Or, put the keyboard on the powered hub.

-tk

Mark

unread,
Jun 5, 2015, 8:41:50 AM6/5/15
to weewx...@googlegroups.com
I have a RPi2, so I plugged the Vantage directly into one of the spare USB ports on the Pi itself. This seems to make no difference. The archive records seem to be retrieved OK, but wee_config_device --info usually fails. Some details:
1) Syslog on reboot (debug=1):
Jun  5 13:17:08 localhost weewx[2625]: engine: Starting main packet loop.
Jun  5 13:17:08 localhost dbus[2574]: [system] Activating service name='org.freedesktop.UDisks' (using servicehelper)
Jun  5 13:17:08 localhost dbus[2574]: [system] Successfully activated service 'org.freedesktop.UDisks'
Jun  5 13:17:08 localhost weewx[2625]: vantage: successfully woke up console
Jun  5 13:17:08 localhost ifplugd(eth0)[1875]: Program executed successfully.
Jun  5 13:17:08 localhost weewx[2625]: vantage: Requesting 200 LOOP packets.
Jun  5 13:17:09 localhost weewx[2625]: vantage: successfully woke up console


2) Subsequent wee_config_device --info failure:
root@max2play:/home/weewx# ./bin/wee_config_device --info
Using configuration file /home/weewx/weewx.conf
Using Vantage driver version 3.0 (weewx.drivers.vantage)
Traceback (most recent call last):
  File "./bin/wee_config_device", line 43, in <module>
    main()
  File "./bin/wee_config_device", line 40, in main
    device.configure(config_dict)
  File "/home/weewx/bin/weewx/drivers/__init__.py", line 65, in configure
    self.do_options(options, parser, config_dict, prompt)
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 1745, in do_options
    station = Vantage(**config_dict[DRIVER_NAME])
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 413, in __init__
    self._setup()
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 1087, in _setup
    unit_bits              = self._getEEPROM_value(0x29)[0]
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 1163, in _getEEPROM_value
    self.port.send_data(command)
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 91, in send_data
    _resp = self.read()
  File "/home/weewx/bin/weewx/drivers/vantage.py", line 210, in read
    _buffer = self.serial_port.read(chars)
  File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 449, in read
    buf = os.read(self.fd, size-len(read))
OSError: [Errno 11] Resource temporarily unavailable

3) Subsequent syslog :
Jun  5 13:20:05 localhost weewx[2625]: vantage: LOOP #62; read error. Try #1
Jun  5 13:20:05 localhost weewx[2625]:    ****  Expected to read 99 chars; got 8 instead
Jun  5 13:20:15 localhost weewx[2625]: vantage: LOOP #63; read error. Try #2
Jun  5 13:20:15 localhost weewx[2625]:    ****  Expected to read 99 chars; got 4 instead
Jun  5 13:20:26 localhost weewx[2625]: vantage: LOOP #64; read error. Try #3
Jun  5 13:20:26 localhost weewx[2625]:    ****  Expected to read 99 chars; got 4 instead
Jun  5 13:20:36 localhost weewx[2625]: vantage: LOOP #65; read error. Try #4
Jun  5 13:20:36 localhost weewx[2625]:    ****  Expected to read 99 chars; got 6 instead
Jun  5 13:20:47 localhost weewx[2625]: vantage: LOOP #66; read error. Try #5
Jun  5 13:20:47 localhost weewx[2625]:    ****  Expected to read 99 chars; got 6 instead
Jun  5 13:20:57 localhost weewx[2625]: vantage: LOOP #67; read error. Try #6
Jun  5 13:20:57 localhost weewx[2625]:    ****  Expected to read 99 chars; got 4 instead
Jun  5 13:21:18 localhost weewx[2625]: vantage: LOOP #68; read error. Try #7
Jun  5 13:21:18 localhost weewx[2625]:    ****  Expected to read 99 chars; got 10 instead
Jun  5 13:21:29 localhost weewx[2625]: vantage: LOOP #69; read error. Try #8
Jun  5 13:21:29 localhost weewx[2625]:    ****  Expected to read 99 chars; got 4 instead
Jun  5 13:21:39 localhost weewx[2625]: vantage: LOOP #70; read error. Try #9
Jun  5 13:21:39 localhost weewx[2625]:    ****  Expected to read 99 chars; got 4 instead
Jun  5 13:21:50 localhost weewx[2625]: vantage: LOOP #71; read error. Try #10
Jun  5 13:21:50 localhost weewx[2625]:    ****  Expected to read 99 chars; got 4 instead
Jun  5 13:22:00 localhost weewx[2625]: vantage: LOOP #72; read error. Try #11
Jun  5 13:22:00 localhost weewx[2625]:    ****  Expected to read 99 chars; got 6 instead
Jun  5 13:22:01 localhost weewx[2625]: vantage: SerialException.
Jun  5 13:22:01 localhost weewx[2625]:    ****  device reports readiness to read but returned no data (device disconnected?)
Jun  5 13:22:01 localhost weewx[2625]:    ****  Is there a competing process running??
Jun  5 13:22:01 localhost weewx[2625]: vantage: LOOP #73; read error. Try #12
Jun  5 13:22:01 localhost weewx[2625]:    ****  device reports readiness to read but returned no data (device disconnected?)

I checked the task manager and only one weewx process was running. However, I have noticed that the weewx process is often still running after stopping the daemon. 

Thomas Keffer

unread,
Jun 5, 2015, 9:48:40 AM6/5/15
to weewx-user
A second process competing for the port would definitely do this. 

Another thought: is the port the Vantage is connected to also being used as a login port? Check /etc/inittab.

-tk

Mark

unread,
Jun 5, 2015, 10:24:17 AM6/5/15
to weewx...@googlegroups.com
I'm afraid I'm still learning linux, so I'm not quite sure what to look for. weewx.conf has the port as ttyUSB0. I cannot find an entry for ttyUSB0 in /etc/inittab.
...

Mark

unread,
Jun 9, 2015, 3:13:32 PM6/9/15
to weewx...@googlegroups.com
It ran successfully for a few days, stopping and starting the service during the 2:30am sdcard backup, then this morning it failed again, log below:

Jun  9 02:30:02 localhost weewx[29550]: engine: Shutting down StdReport thread
Jun  9 02:30:02 localhost weewx[29550]: engine: StdReport thread has been terminated
Jun  9 02:30:02 localhost weewx[29550]: restx: Shut down Wunderground-PWS thread.
Jun  9 02:30:02 localhost weewx[29550]: vantage: successfully woke up console
Jun  9 02:30:02 localhost weewx[29550]: engine: Terminating weewx version 3.1.0
Jun  9 02:51:23 localhost kernel: [308053.805105] Transfer to device 7 endpoint 0x1 frame 971 failed - FIQ reported NYET. Data may have been lost.
Jun  9 02:52:46 localhost weewx[19326]: engine: Initializing weewx version 3.1.0
Jun  9 02:52:46 localhost weewx[19326]: engine: Using Python 2.7.3 (default, Mar 18 2014, 05:13:23) #012[GCC 4.6.3]
Jun  9 02:52:46 localhost weewx[19326]: engine: pid file is /var/run/weewx.pid
Jun  9 02:52:46 localhost weewx[19328]: engine: Using configuration file /home/weewx/weewx.conf
Jun  9 02:52:46 localhost weewx[19328]: engine: Initializing engine
Jun  9 02:52:46 localhost weewx[19328]: engine: Loading station type Vantage (weewx.drivers.vantage)
Jun  9 02:52:46 localhost weewx[19328]: vantage: Opened up serial port /dev/ttyUSB0, baudrate 19200
Jun  9 02:52:46 localhost weewx[19328]: vantage: successfully woke up console
Jun  9 02:52:46 localhost weewx[19328]: vantage: No <ACK> received from console
Jun  9 02:52:46 localhost weewx[19328]: engine: Unable to load driver: No <ACK> received from Vantage console
Jun  9 02:52:46 localhost weewx[19328]:     ****  Exiting...

I'll try the "loop on init" and see what effect that has.
...

Geoff Cusick

unread,
Feb 4, 2016, 2:25:58 PM2/4/16
to weewx-user
Hi all (particularly TK)

I have just encountered a similar problem.  I've just transferred my installation to a new RPi, running Raspbian Jessie.  I've made several changes as part of that transfer, notably:

1. On the RPi, I've installed BusyBox syslogd, to put the logs into RAM rather than on the SD card;
2. I'm using lighttpd rather than Apache, and have set up a RAMdisk for the web files;
3. I'm using MySQL rather than sqlite, following the instructions in the User Manual for setting it up, and in the Github document on transferring.

I set the system up, and ran it successfully for a few days using the Simulator to generate data; all appeared to work correctly.  Today, I've been trying to make the final step, connecting my VantageVue station as the data source. Initially, it appeared to work, but it fell over (weewx exited), and it is now impossible to get weewx to run.  /etc/init.d/weewx status shows weewx as 'active (exited)...'.  System log shows weewx Exiting, after  "Unable to load driver: No <ACK> received from Vantage console"

I've attached the log, collected with debug=1 in weewx.conf, and output from wee_device to show the firmware version etc.

I also tried adding --loop-on-init to DAEMON_ARGS, but it doesn't appear to have made any difference.

The VantageVue is (the only thing) connected to the USB ports on the RPi, which is powered by the same PSU as has been working successfully since October.

Any words of wisdom gratefully received!

Thanks
Geoff
log201602041919.txt
weecfg.txt

Thomas Keffer

unread,
Feb 4, 2016, 2:47:28 PM2/4/16
to weewx-user
From the log, it looks like weewx is unable to connect to your MySQL server. Make sure it's running, and that you have the right permissions to reach it if it's running on another machine.

I don't know why this would cause the Vantage to fail to acknowledge, but let's solve the first problem, ... first.

-tk

Geoff Cusick

unread,
Feb 5, 2016, 11:26:40 AM2/5/16
to weewx-user
Thanks for that fast reply, Tom.

I've just restarted the RPi from cold, and weewx has started up correctly.  I'll keep an eye on the log, to see how things go.  At present, though, I'm putting it into the "Some things we're not supposed to understand" box!

I've got some ideas on how to proceed in the case of further failures, first off by reverting to sqlite, to remove mysql from the equation.

Thanks again
Geoff

Thomas Keffer

unread,
Feb 5, 2016, 12:00:30 PM2/5/16
to weewx-user
If MySQL is running on the same box as weewx, it should be just as reliable as sqlite. 

-tk

Geoff Cusick

unread,
Feb 5, 2016, 6:08:34 PM2/5/16
to weewx-user
Thanks Tom. Yes, mysql is running on the same machine, so I agree that it should be perfectly reliable. My reason for reverting to sqlite was to eliminate the mysql/weewx startup issue that you'd observed in the log.

At present, the system is running just fine, and has been for the last 7 or 8 hours; after startup, it correctly updated itself from the Vantage logger memory, and posted the outstanding data to the Met Office WOW system. So, for now, I plan to keep an eye on the logs, and trust that all is well. A bit strange, though, after I spent several hours yesterday trying to sort out the problem!

You can see the output on http://weather.cusick.org.uk

I will post in a new thread some notes about the RPi configuration, which may be of interest to others.

Cheers
Geoff

Luc Heijst

unread,
Feb 16, 2016, 6:02:53 PM2/16/16
to weewx-user
To all,

I have written a modified Vantage driver "user.vantage_mod4_debug" which produced - for several months now- no (fatal) errors.

On Februar, 6 2016 I changed this driver back to the original Vantage driver to see if the behaviour kept the same.

Today I was testing a new sync module for the meteotemplate data which crashed many times -:(
After starting the 'crashed' Vantage driver due to this bad sync module I got the dreadfull ""No <ACK> received from Vantage console"" message.

I switched back to my modified driver "user.vantage_mod4_debug" and despite the sync module still got many fatal errors, my modified vantage driver started each time without problems...

When I found some spare time I will examine which part of my driver does the "trick".

Luc

Thomas Keffer

unread,
Feb 16, 2016, 6:11:18 PM2/16/16
to weewx-user
Thanks, Luc

I'd feel a lot better with a deterministic explanation to go with your empirical evidence. :-)

-tk

--

Luc Heijst

unread,
Feb 16, 2016, 6:19:39 PM2/16/16
to weewx-user
In that case, Tom,

I will give this issue the highest priority! (The sync module for meteotemplate can wait. Also a 'bad' sync module is good for testing the Vantage driver).

Luc

Luc Heijst

unread,
Feb 16, 2016, 7:15:48 PM2/16/16
to weewx-user
On Tuesday, 16 February 2016 20:11:18 UTC-3, Tom Keffer wrote:
I'd feel a lot better with a deterministic explanation to go with your empirical evidence. :-)

Tom,

The 'trick' is not to flush the input buffer when waking up the console.
When doing so it spoils apparently the <ACK> message the Vantage is trying to send. 
Also one \n is most of the enough to wake up the console. 

Original code:
        # Wake up the console. Try up to max_tries times
        for unused_count in xrange(max_tries):
            try:
                # Clear out any pending input or output characters:
                self.flush_output()
                self.flush_input()
                # It can be hard to get the console's attention, particularly
                # when in the middle of a LOOP command. Send a whole bunch of line feeds.
                # Use separate calls, as this forces the WLIP implementation to invoke the
                # tcp_send_delay between each one.
                self.write('\n')
                self.write('\n')
                self.write('\n')
                time.sleep(0.5)
                # Now flush everything, do it again, then look for the \n\r acknowledgment
                self.flush_input()
                self.write('\n')
                _resp = self.read(2)
                if _resp == '\n\r':
                    syslog.syslog(syslog.LOG_DEBUG, "vantage: successfully woke up console")
                    return
                print "Unable to wake up console... sleeping"
                time.sleep(wait_before_retry)
                print "Unable to wake up console... retrying"
            except weewx.WeeWxIOError:
                pass
                
Modified code:     
        # Wake up the console. Try up to max_tries times
        for unused_count in xrange(max_tries):
            try:
                # Clear out any pending output characters:
                self.flush_output()
                self.write('\n')
                _resp = self.read(2)
                if _resp == '\n\r':
                    syslog.syslog(syslog.LOG_DEBUG, "vantage: successfully woke up console")
                    return
                print "Unable to wake up console... sleeping"
                time.sleep(wait_before_retry)
                print "Unable to wake up console... retrying"
            except weewx.WeeWxIOError:
                pass 

My modified vantage_mod4_debug driver combines both worlds, see below: 
Note: this code was modified November 15, 2014 and since then operational without errors until Februar 6, when I switched back to the original driver (to test if the original driver would behave the same).

Luc

# First try a gently wake up
try:
self.write('\n')
_resp = self.read(2)
if _resp == '\n\r':
syslog.syslog(syslog.LOG_DEBUG, "vantage: successfully woke up console gently")
return
except weewx.WeeWxIOError:
pass
# Now try wake up the console more thorough. Try up to max_tries times
for unused_count in xrange(max_tries):
try:
# Clear out any pending input or output characters:
self.flush_output()
self.flush_input()
# It can be hard to get the console's attention, particularly
# when in the middle of a LOOP command. Send a whole bunch of line feeds.
# Use separate calls, as this forces the WLIP implementation to invoke the
# tcp_send_delay between each one.
self.write('\n')
self.write('\n')
self.write('\n')
time.sleep(0.5)
# Now flush everything, do it again, then look for the \n\r acknowledgment
self.flush_input()
self.write('\n')
_resp = self.read(2)
if _resp == '\n\r':
syslog.syslog(syslog.LOG_DEBUG, "vantage: successfully woke up console thorough")
return
print "Unable to wake up console... sleeping"
time.sleep(wait_before_retry)
print "Unable to wake up console... retrying"
except weewx.WeeWxIOError:
pass
syslog.syslog(syslog.LOG_DEBUG, "vantage: retry-1 no %s" % unused_count)

Thomas Keffer

unread,
Feb 17, 2016, 8:04:05 AM2/17/16
to weewx-user
Thanks for the explanation, Luc. 

I love the patch. Works great on my Vantage. 

Included in commit 26a7a4d.

-tk

--

Luc Heijst

unread,
Feb 17, 2016, 8:28:14 AM2/17/16
to weewx-user
Tom,

I like the debug line: "vantage: rude wake up successful" !

Luc

Dave Webb KB1PVH

unread,
Feb 18, 2016, 8:19:12 AM2/18/16
to weewx...@googlegroups.com
I upgraded yesterday and Weewx exited this morning. I attached part of the log for your viewing pleasure. I'm not sure if I have debug 1 set but will check and set it in case it stops again.


Dave

--
Weewx log.txt

Thomas Keffer

unread,
Feb 18, 2016, 10:32:39 AM2/18/16
to weewx-user
This was using Luc's new Vantage driver implementation?

What is "wxdata?"

-tk


Dave Webb KB1PVH

unread,
Feb 18, 2016, 10:37:04 AM2/18/16
to weewx...@googlegroups.com

Tom,

wxdata is the extension from William Phelps with the Pitft display.

I'm assuming it's the new driver from Luc. I upgraded Weewx from 3.0.1 to 3.4.0 yesterday after you said you made the commit.

Thomas Keffer

unread,
Feb 18, 2016, 10:48:15 AM2/18/16
to weewx-user
No, v3.4.0 still has the old driver. The new one was committed to the repository, but has not appeared in a release.

Try downloading the new Vantage driver and using it instead. Just  replace weewx/drivers/vantage.py with it.

-tk

--

Dave Webb KB1PVH

unread,
Feb 18, 2016, 10:49:10 AM2/18/16
to weewx...@googlegroups.com

I'll give it a go in a bit.

Dave Webb KB1PVH

unread,
Feb 18, 2016, 11:30:31 AM2/18/16
to weewx...@googlegroups.com

Replaced with new driver and we'll see how it goes.

Rune Laegreid

unread,
Mar 20, 2017, 10:31:13 AM3/20/17
to weewx-user
Hi,

I am diving into this old conversation with a question.
Has this issue been solved and distributed in the latest weewx release?

My Vantage Pro2 fails once a fortnight or so and every third to fifth time I restart the service I get the error message:
Vantage: No <ACK> received from console.

I am running a RPi and a WeatherLink USB datalogger.

Any suggestions to how I should start trouble shooting the issue?

Rune.

Thomas Keffer

unread,
Mar 20, 2017, 10:45:06 AM3/20/17
to weewx-user
Yes, Luc's modifications have been incorporated into the driver.

Please set debug=1, restart weewx, then post the entries around the "No <ACK>" message.

Also, what model of logger are you using? Do you use a serial-to-USB converter?

-tk

To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscribe@googlegroups.com.

Dave Davey

unread,
Nov 4, 2023, 1:16:47 AM11/4/23
to weewx-user
I have enountered this problem in an unexpected way.  I have been using weewx for nearly a year running on an old raspberry 2 and a David Vantage Pro with an ethernet adapter.  I have tried to  move things to a raspberry 4B with a fresh install of weewx and the same weewx.conf settings.  If I stop the weewx running on the old raspberry and just to be sure, power it off, and then start weewx on the 4B, the log includes, "Starting main packet loop." then "Successfully woke up Vantage console" but then "send_data: no <ACK> received from Vantage console" and  "Main loop exiting. Shutting engine down".
If I then start up the old raspberry, weewx operates normally.  Why is weewx failing on the 4B?

Tom Keffer

unread,
Nov 4, 2023, 9:42:53 AM11/4/23
to weewx...@googlegroups.com
I don't know. Perhaps we can see the log? Set debug=1.

Reply all
Reply to author
Forward
0 new messages