weewx data loop error with new Acurite 02064C

868 views
Skip to first unread message

Joe Morris

unread,
Jan 16, 2016, 10:03:05 PM1/16/16
to weewx-user
Trying to get this up and running for the first time. I'm running on the software on Ubuntu Precise (12.04). Here's the output I get from weewx in syslog:

Jan 16 18:57:49 kvm01 weewx[21745]: engine: Initializing weewx version 3.3.1

Jan 16 18:57:49 kvm01 weewx[21745]: engine: Using Python 2.7.3 (default, Apr 20 2012, 22:39:59) #012[GCC 4.6.3]

Jan 16 18:57:49 kvm01 weewx[21745]: engine: Platform Linux-3.2.0-23-generic-x86_64-with-Ubuntu-12.04-precise

Jan 16 18:57:49 kvm01 weewx[21745]: engine: pid file is /var/run/weewx.pid

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Using configuration file /etc/weewx/weewx.conf

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Initializing engine

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading station type AcuRite (weewx.drivers.acurite)

Jan 16 18:57:49 kvm01 weewx[21749]: acurite: driver version is 0.24

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdTimeSynch

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdTimeSynch

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdConvert

Jan 16 18:57:49 kvm01 weewx[21749]: engine: StdConvert target unit is 0x1

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdConvert

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdCalibrate

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdCalibrate

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdQC

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdQC

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.wxservices.StdWXCalculate

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.wxservices.StdWXCalculate

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdArchive

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Archive will use data binding wx_binding

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Record generation will be attempted in 'hardware'

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Using archive interval of 300 seconds

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Use LOOP data in hi/low calculations: 1

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Using binding 'wx_binding' to database 'weewx.sdb'

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Starting backfill of daily summaries

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Daily summaries up to date.

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdArchive

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdStationRegistry

Jan 16 18:57:49 kvm01 weewx[21749]: restx: StationRegistry: Data will not be posted. Missing option 'station_url'

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdStationRegistry

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdWunderground

Jan 16 18:57:49 kvm01 weewx[21749]: restx: Wunderground: Posting not enabled.

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdWunderground

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdPWSweather

Jan 16 18:57:49 kvm01 weewx[21749]: restx: PWSweather: Posting not enabled.

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdPWSweather

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdCWOP

Jan 16 18:57:49 kvm01 weewx[21749]: restx: CWOP: Posting not enabled.

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdCWOP

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdWOW

Jan 16 18:57:49 kvm01 weewx[21749]: restx: WOW: Posting not enabled.

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdWOW

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdAWEKAS

Jan 16 18:57:49 kvm01 weewx[21749]: restx: AWEKAS: Posting not enabled.

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdAWEKAS

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdPrint

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdPrint

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdReport

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdReport

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Starting up weewx version 3.3.1

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Station does not support reading the time

Jan 16 18:57:49 kvm01 weewx[21749]: engine: Starting main packet loop.

Jan 16 18:57:49 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004

Jan 16 18:57:49 kvm01 weewx[21749]: acurite: Failed attempt 1 of 10 to get LOOP data: error sending control message: Protocol error

Jan 16 18:57:49 kvm01 kernel: [7284215.366673] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71

Jan 16 18:58:20 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004

Jan 16 18:58:20 kvm01 weewx[21749]: acurite: Failed attempt 2 of 10 to get LOOP data: error sending control message: Protocol error

Jan 16 18:58:20 kvm01 kernel: [7284245.654591] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71

Jan 16 18:58:50 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004

Jan 16 18:58:50 kvm01 weewx[21749]: acurite: Failed attempt 3 of 10 to get LOOP data: error sending control message: Protocol error

Jan 16 18:58:50 kvm01 kernel: [7284275.958636] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71

Jan 16 18:59:20 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004

Jan 16 18:59:20 kvm01 weewx[21749]: acurite: Failed attempt 4 of 10 to get LOOP data: error sending control message: Protocol error

Jan 16 18:59:20 kvm01 kernel: [7284306.262639] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71


It just repeats this loop over and over again. Tried two different USB cables. The port it references is the port the weather station is connected to on the system.
I'm a Linux Sys Admin, so feel free to be technical. I don't know how to diagnose USB connection problems here.

Joe Morris

unread,
Jan 16, 2016, 10:13:53 PM1/16/16
to weewx-user
Better syslog output without the silly formatting:

Jan 16 18:59:51 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 18:59:51 kvm01 weewx[21749]: acurite: Failed attempt 5 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 18:59:51 kvm01 kernel: [7284336.542637] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:00:21 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:00:21 kvm01 weewx[21749]: acurite: Failed attempt 6 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:00:21 kvm01 kernel: [7284366.846628] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:00:51 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:00:51 kvm01 weewx[21749]: acurite: Failed attempt 7 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:00:51 kvm01 kernel: [7284397.150613] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:01:21 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:01:21 kvm01 weewx[21749]: acurite: Failed attempt 8 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:01:22 kvm01 kernel: [7284427.438638] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:01:52 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:01:52 kvm01 weewx[21749]: acurite: Failed attempt 9 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:01:52 kvm01 kernel: [7284457.714641] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:02:22 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:02:22 kvm01 weewx[21749]: acurite: Failed attempt 10 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:02:22 kvm01 kernel: [7284487.990635] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:02:52 kvm01 weewx[21749]: acurite: Max retries (10) exceeded for LOOP data
Jan 16 19:02:52 kvm01 weewx[21749]: engine: Main loop exiting. Shutting engine down.
Jan 16 19:02:52 kvm01 weewx[21749]: engine: Caught WeeWxIOError: Max retries (10) exceeded for LOOP data
Jan 16 19:02:52 kvm01 weewx[21749]:     ****  Waiting 60 seconds then retrying...
Jan 16 19:03:52 kvm01 weewx[21749]: engine: retrying...
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Using configuration file /etc/weewx/weewx.conf
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Initializing engine
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading station type AcuRite (weewx.drivers.acurite)
Jan 16 19:03:52 kvm01 weewx[21749]: acurite: driver version is 0.24
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdTimeSynch
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdTimeSynch
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdConvert
Jan 16 19:03:52 kvm01 weewx[21749]: engine: StdConvert target unit is 0x1
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdConvert
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdCalibrate
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdCalibrate
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdQC
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdQC
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.wxservices.StdWXCalculate
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.wxservices.StdWXCalculate
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdArchive
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Archive will use data binding wx_binding
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Record generation will be attempted in 'hardware'
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Using archive interval of 300 seconds
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Use LOOP data in hi/low calculations: 1
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Using binding 'wx_binding' to database 'weewx.sdb'
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Starting backfill of daily summaries
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Daily summaries up to date.
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdArchive
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdStationRegistry
Jan 16 19:03:52 kvm01 weewx[21749]: restx: StationRegistry: Data will not be posted. Missing option 'station_url'
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdStationRegistry
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdWunderground
Jan 16 19:03:52 kvm01 weewx[21749]: restx: Wunderground: Posting not enabled.
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdWunderground
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdPWSweather
Jan 16 19:03:52 kvm01 weewx[21749]: restx: PWSweather: Posting not enabled.
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdPWSweather
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdCWOP
Jan 16 19:03:52 kvm01 weewx[21749]: restx: CWOP: Posting not enabled.
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdCWOP
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdWOW
Jan 16 19:03:52 kvm01 weewx[21749]: restx: WOW: Posting not enabled.
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdWOW
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.restx.StdAWEKAS
Jan 16 19:03:52 kvm01 weewx[21749]: restx: AWEKAS: Posting not enabled.
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.restx.StdAWEKAS
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdPrint
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdPrint
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Loading service weewx.engine.StdReport
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Finished loading service weewx.engine.StdReport
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Starting up weewx version 3.3.1
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Station does not support reading the time
Jan 16 19:03:52 kvm01 weewx[21749]: engine: Starting main packet loop.
Jan 16 19:03:52 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:03:52 kvm01 weewx[21749]: acurite: Failed attempt 1 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:03:52 kvm01 kernel: [7284578.282642] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:04:23 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:04:23 kvm01 weewx[21749]: acurite: Failed attempt 2 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:04:23 kvm01 kernel: [7284608.586630] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71

Andrew Milner

unread,
Jan 16, 2016, 10:18:49 PM1/16/16
to weewx-user
Is this thread any help?


and is the station usb set to mode 4 as I believe it needs to be?

Joe Morris

unread,
Jan 17, 2016, 12:22:45 AM1/17/16
to weewx-user
On Saturday, January 16, 2016 at 7:18:49 PM UTC-8, Andrew Milner wrote:
Is this thread any help?


and is the station usb set to mode 4 as I believe it needs to be?


Thanks, but looks unrelated since this appears to be a USB protocol error.

Strange enough, I left it running during dinner and it appears to have resolved itself:

Jan 16 19:23:32 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:23:32 kvm01 weewx[21749]: acurite: Failed attempt 4 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:23:32 kvm01 kernel: [7285758.073637] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:24:02 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:24:02 kvm01 weewx[21749]: acurite: next read in 18 seconds
Jan 16 19:24:21 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:24:21 kvm01 weewx[21749]: acurite: next read in 18 seconds
Jan 16 19:24:39 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:24:39 kvm01 weewx[21749]: acurite: next read in 18 seconds
Jan 16 19:24:57 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:24:57 kvm01 weewx[21749]: acurite: next read in 6 seconds

I have yet to verify the data in there, but at least this looks better. I still need to fire up Apache and will look at the results here later on.

I see a lot of references to the USB mode, but I did not know what that meant. Is the weather station capable of switching to different USB modes? There is no such setting on the 02064C model that I know of. Or, is this USB setting somewhere else? I figured it was something configurable only on the older models.


mwall

unread,
Jan 17, 2016, 12:51:57 AM1/17/16
to weewx-user
On Sunday, January 17, 2016 at 12:22:45 AM UTC-5, Joe Morris wrote:
Thanks, but looks unrelated since this appears to be a USB protocol error.

Strange enough, I left it running during dinner and it appears to have resolved itself:

Jan 16 19:23:32 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:23:32 kvm01 weewx[21749]: acurite: Failed attempt 4 of 10 to get LOOP data: error sending control message: Protocol error
Jan 16 19:23:32 kvm01 kernel: [7285758.073637] usb 7-1: usbfs: USBDEVFS_CONTROL failed cmd python rqt 161 rq 1 len 10 ret -71
Jan 16 19:24:02 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:24:02 kvm01 weewx[21749]: acurite: next read in 18 seconds
Jan 16 19:24:21 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:24:21 kvm01 weewx[21749]: acurite: next read in 18 seconds
Jan 16 19:24:39 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:24:39 kvm01 weewx[21749]: acurite: next read in 18 seconds
Jan 16 19:24:57 kvm01 weewx[21749]: acurite: Found station at bus=007 device=004
Jan 16 19:24:57 kvm01 weewx[21749]: acurite: next read in 6 seconds

I have yet to verify the data in there, but at least this looks better. I still need to fire up Apache and will look at the results here later on.

I see a lot of references to the USB mode, but I did not know what that meant. Is the weather station capable of switching to different USB modes? There is no such setting on the 02064C model that I know of. Or, is this USB setting somewhere else? I figured it was something configurable only on the older models.

joe,

apparently the usb mode applies only to the 01035/01036 and 02032 models.

this thread is probably more appropriate to the behavior you observed:

https://groups.google.com/forum/#!topic/weewx-user/s2UOa3l1n9g

m

Kelly Hewitt

unread,
Feb 10, 2017, 8:00:02 PM2/10/17
to weewx-user
Acurite 02064C weewx LOOP error on Ubuntu 14.04 LTS
    Failed attempt 1 of 10 to get LOOP data: error sending control message: Protocol error 

I've had issues with this for about 13 months. It most often occurs when the weewx host reboots, the Acurite display unit will then have USB protocol issues for several hours until the acurite.py script effectively regains connection with the display unit. I don't like gaps in data and this has plagued me for a year. 

Tested:
  1. Ferrite on the USB cable - No effect
  2. Reset the display console - No effect
  3. New USB cable (x2) - No effect
  4. CRON usb script task to reset the USB connection every 4 hours - no effect
  5. Start the weewx host then plug in the display - no effect
  6. Plug in the display then start the weewx host - no effect

The only quick solution I've found is to unplug the display from the weewx host and connect it to a Windows machine with the Acurite Connect software and allow it to complete a data dump, unplug it, then plug the display USB into the weewx host.

After plugging it back into the weewx host and watching the ubuntu syslog (sudo tail -f /var/log/syslog) it will indicate after a few attempts that the USB connection is active and receiving data in +/- 5 minutes.

This suggests the USB controller in the display device is getting reset with the Acurite Connect software - outside the scope of what weewx currently has access to. It's unfortunate there isn't a method to reset the display device USB connection remotely.

If someone has the ability to decompose the Acurite Connect software and find out how it is resetting the USB controller on the display device that would be very much appreciated.


noni...@gmail.com

unread,
Jan 3, 2018, 1:24:09 AM1/3/18
to weewx-user
Hey Kelly,

Did you ever figure out a better solution to your problem? I have a new AcuRite 02032 and have been having a heck of a time getting weewx to successfully pull data from the display USB. I've periodically had some info successfully post to wunderground, but most of the time weewx is sitting there failing to capture input from the USB, cycling 10 times and then restarting:

acurite: Found station at bus= device=
acurite: Failed attempt 1 of 10 to get LOOP data: [Errno 110] Operation timed out
...
acurite: Found station at bus= device=
acurite: Failed attempt 10 of 10 to get LOOP data: [Errno 110] Operation timed out

ver: weewx 3.8.0 / py 2.7.13 / deb stretch

Tx!
-JM

Blake Austin Hughes

unread,
Jan 26, 2019, 4:03:58 PM1/26/19
to weewx-user
make sure you're in USB mode 4 on your acurite receiver when trying to pair with weeWX
Reply all
Reply to author
Forward
0 new messages