Hi,
I've got Weewx running on a Raspberry Pi:
Weewx Version: 2.6.2-1
Python Version: 2.7.3-4+deb7u1
# uname -a
Linux pinecone 3.10-3-rpi #1 Debian 3.10.11-1+rpi4 (2014-01-24) armv6l GNU/Linux
I'm running Raspbian 7, which admittedly is from a custom installer script, but all it does is install Raspbian in a bare-bones fashion, so it has no X11 or anything. It's pretty stripped down. My weather station is a Oregon Scientific WMR88, so I'm using the WMR100 driver.
It will run quite happily, pulling in data, and producing report files. However, very randomly weewx is crashing out. I've enabled the debug log and I see the following:
Mar 17 18:15:34 localhost weewx[1888]: genimages: Generated 12 images for StandardReport in 4.99 seconds
Mar 17 18:15:34 localhost weewx[1888]: reportengine: copied 0 files to /var/www
Mar 17 18:15:34 localhost weewx[1888]: reportengine: Running report FTP
Mar 17 18:15:34 localhost weewx[1888]: reportengine: Found configuration file /etc/weewx/skins/Ftp/skin.conf for report FTP
Mar 17 18:15:34 localhost weewx[1888]: reportengine: FTP upload not requested. Skipped.
Mar 17 18:15:34 localhost weewx[1888]: reportengine: Running report RSYNC
Mar 17 18:15:34 localhost weewx[1888]: reportengine: Found configuration file /etc/weewx/skins/Rsync/skin.conf for report RSYNC
Mar 17 18:15:34 localhost weewx[1888]: reportengine: rsync upload not requested. Skipped.
Mar 17 18:15:52 localhost weewx[1888]: wmr100: Bad USB report received.
Mar 17 18:15:52 localhost weewx[1888]: ***** Connection timed out
Mar 17 18:16:13 localhost weewx[1888]: wmr100: Bad USB report received.
Mar 17 18:16:13 localhost weewx[1888]: ***** Connection timed out
Mar 17 18:17:09 localhost weewx[1888]: wmr100: Bad USB report received.
Mar 17 18:17:09 localhost weewx[1888]: ***** Connection timed out
Mar 17 18:17:31 localhost weewx[1888]: wmr100: Bad USB report received.
Mar 17 18:17:31 localhost weewx[1888]: ***** Connection timed out
Mar 17 18:18:05 localhost weewx[1888]: wmr100: Bad USB report received.
Mar 17 18:18:05 localhost weewx[1888]: ***** Connection timed out
Mar 17 18:18:31 localhost weewx[1888]: wmr100: Bad USB report received.
Mar 17 18:18:31 localhost weewx[1888]: ***** Connection timed out
Mar 17 18:18:36 localhost weewx[1888]: wmr100: Bad USB report received.
Mar 17 18:18:36 localhost weewx[1888]: ***** tuple index out of range
Mar 17 18:18:41 localhost weewx[1888]: wmr100: Bad USB report received.
Mar 17 18:18:41 localhost weewx[1888]: ***** tuple index out of range
Mar 17 18:18:46 localhost weewx[1888]: wmr100: Bad checksum on buffer of length 25
Mar 17 18:18:46 localhost weewx[1888]: wmr100: Bad checksum on buffer of length 4
Mar 17 18:18:46 localhost weewx[1888]: wxengine: Shut down StdReport thread.
Mar 17 18:18:46 localhost weewx[1888]: wxengine: Caught unrecoverable exception in wxengine:
Mar 17 18:18:46 localhost weewx[1888]: **** list index out of range
Mar 17 18:18:46 localhost weewx[1888]: **** Traceback (most recent call last):
Mar 17 18:18:46 localhost weewx[1888]: **** File "/usr/share/weewx/weewx/wxengine.py", line 949, in main
Mar 17 18:18:46 localhost weewx[1888]: **** engine.run()
Mar 17 18:18:46 localhost weewx[1888]: **** File "/usr/share/weewx/weewx/wxengine.py", line 178, in run
Mar 17 18:18:46 localhost weewx[1888]: **** for packet in self.console.genLoopPackets():
Mar 17 18:18:46 localhost weewx[1888]: **** File "/usr/share/weewx/weewx/drivers/wmr100.py", line 132, in genLoopPackets
Mar 17 18:18:46 localhost weewx[1888]: **** _record = WMR100._dispatch_dict[_packet_type](self, _packet)
Mar 17 18:18:46 localhost weewx[1888]: **** File "/usr/share/weewx/weewx/drivers/wmr100.py", line 270, in _temperature_packet
Mar 17 18:18:46 localhost weewx[1888]: **** R = float(packet[5])
Mar 17 18:18:46 localhost weewx[1888]: **** IndexError: list index out of range
Mar 17 18:18:46 localhost weewx[1888]: **** Exiting.
I'm seeing the Bad USB Report received message a lot. But usually it's collecting data happily, regardless of that error. Now and then it's dying though. The temperature it's picking up when it records that (according to the base unit, at least) is around 8 degrees C outside, and around 20 degrees C inside. For some reason it's not licking the temperature value it sees, and so dies. This happens completely randomly, and I'm at a loss as to what could be causing it.
Any help gratefully received. :)