Fine offset USB issue.

455 views
Skip to first unread message

Luke Wurst

unread,
Feb 25, 2014, 5:16:29 AM2/25/14
to weewx...@googlegroups.com
Hello, I have the issues with my Fine Offset WH3100 with my Raspberri Pi.  It runs without any issues for a week or more then I get the issues found below.

Restarting the Pi doesn't help and either does unplugging it.  The station is plugged into a powered hub and plugging it directly into the Pi doesn't help.
The only way I can stop the problem is by doing a full reset on the station.  This is annoying because I have to set the time again and it has a very clumsy menu system.  It also reduces the utility of the system because I can't leave it unattended for long periods.

Prior to getting the Pi up and running I had the station plugged into an old windows laptop running Cumulus for over 3 weeks without any issues at all.

Feb 25 20:34:13 raspberrypi weewx[3472]: wxengine: Using Python 2.7.3 (default, Jan 13 2013, 11:20:46) #012[GCC 4.6.3]
Feb 25 20:34:13 raspberrypi weewx[3472]: wxengine: pid file is /var/run/weewx.pid
Feb 25 20:34:13 raspberrypi weewx[3474]: wxengine: Using configuration file /etc/weewx/weewx.conf
Feb 25 20:34:13 raspberrypi weewx[3474]: wxengine: Loading station type FineOffsetUSB (weewx.drivers.fousb)
Feb 25 20:34:14 raspberrypi weewx[3474]: fousb: found station on USB bus=001 device=009
Feb 25 20:34:14 raspberrypi weewx[3474]: fousb: polling mode is PERIODIC
Feb 25 20:34:14 raspberrypi weewx[3474]: fousb: polling interval is 60
Feb 25 20:34:14 raspberrypi weewx[3474]: fousb: altitude is 617.0 meters
Feb 25 20:34:14 raspberrypi weewx[3474]: fousb: pressure offset is 0.0
Feb 25 20:34:14 raspberrypi weewx[3474]: wxengine: StdConvert target unit is 0x10
Feb 25 20:34:29 raspberrypi weewx[3474]: wxengine: Caught unrecoverable exception in wxengine:
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****  could not detach kernel driver from interface 0: No data available
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****  Traceback (most recent call last):
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/wxengine.py", line 886, in main
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      engine = EngineClass(config_dict)
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/wxengine.py", line 70, in __init__
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      self.loadServices(config_dict)
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/wxengine.py", line 124, in loadServices
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      self.service_obj.append(weeutil.weeutil._get_object(svc)(self, config_dict))
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/wxengine.py", line 410, in __init__
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      if software_archive_interval != self.engine.console.archive_interval:
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/drivers/fousb.py", line 723, in archive_interval
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      return self._archive_interval_minutes() * 60
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/drivers/fousb.py", line 727, in _archive_interval_minutes
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      self._archive_interval = self.get_fixed_block(['read_period'])
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/drivers/fousb.py", line 1348, in get_fixed_block
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      self._fixed_block = self._read_fixed_block()
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/drivers/fousb.py", line 1396, in _read_fixed_block
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      result += self._read_block(mempos)
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/drivers/fousb.py", line 1384, in _read_block
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      new_block = self._read_usb_block(ptr)
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****    File "/usr/share/weewx/weewx/drivers/fousb.py", line 894, in _read_usb_block
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****      int(self.timeout*1000))
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****  USBError: could not detach kernel driver from interface 0: No data available
Feb 25 20:34:29 raspberrypi weewx[3474]:     ****  Exiting.


Any help with this would be appreciate.

John Masters

unread,
Feb 25, 2014, 10:02:34 AM2/25/14
to weewx...@googlegroups.com
I have the same problem, but my station ran for a couple of months with weewx before needing reset. Now it needs a reset every couple of weeks.
It was the same when i was using Wfrog, and i have seen others post about the "dreaded fine offset usb hang".
Sadly, i haven’t found any solution (changed cable, batteries etc) other than pulling the batteries from the console and starting again!

Eirik Skorstad

unread,
Feb 25, 2014, 2:54:25 PM2/25/14
to weewx...@googlegroups.com

I'm still struggling a bit with my FineOffset WH1080. I find it a bit more stable with PERIODIC 60 seconds polling rather than ADAPTIVE. A extra ferrit core might help as well.

It's still not good, but in the meantime while waiting for my Davis to arrive (could take a while though.. ) i have a remote controlled relay to cut power to the station if it hangs. Of course I will have to run the console without batteries with all the cons that means, however it's better than a dead weather station while i'm thousand miles away :) 

Luke Wurst

unread,
Feb 26, 2014, 2:36:50 AM2/26/14
to weewx...@googlegroups.com
Thank you for your replies.  Does anyone know if this problem is specific to the raspberri Pi?

Eirik, I was under the assumption that the station clock had to be set back to the correct time for logging to occur correctly.  I take it this is not the case with your system.

Andrew Milner

unread,
Feb 26, 2014, 4:31:18 AM2/26/14
to weewx...@googlegroups.com
Fine offset's have a USB issues regardless of the host computer, sometimes requiring hard reset to solve.
The PI has usb issues of it's own - which can usually be resolved by putting usb peripherals through a powered hub (Pi recommended hub, not just any old hub), and ensuring a good quality power supply to the Pi.
Put the two things together and you have the potential for lots of issues.  However, these issues are resolvable by using powered hub, good usb cables, keeping console and usb cables away from sources of power and interference such as power supplies and tv monitors etc ... and ferrite cores also help.

Probably not made your day - but keep persevering and you will come out the other side smiling!!
With the Pi make sure you have used the modified start up script that makes sure the Pi has got the correct time before starting weewx - else you are also headed for another series of issues if the Pi time is not set correctly!!  Best of all is to use a RTC board on the Pi - but the script does work and do the job when installed..

Andrew

mwall

unread,
Feb 27, 2014, 5:15:17 PM2/27/14
to weewx...@googlegroups.com
On Wednesday, February 26, 2014 2:36:50 AM UTC-5, Luke Wurst wrote:
Eirik, I was under the assumption that the station clock had to be set back to the correct time for logging to occur correctly.  I take it this is not the case with your system.

luke,

weewx ignores the station clock of fine offset stations.

m
Reply all
Reply to author
Forward
0 new messages