Hello all,
firstly thanks so much for your work!
As newbie, I'm having a problem running Weewx on Raspi 4 and Wmr200 as weather station.
I installed weewx 3 days ago, and already I have received the error (attached below) twice, that has blocked weewx.
I have solved rebooting the Raspi, but I hope there is a smarter solution. Now I have also changed the usb cable...
Some infomation:
Raspbian version:
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
Weewx version:
Weewx version 4.1.1
Thanks for any hints,
Alessandro
Jun 20 06:44:21 raspberrypi weewx[2902] DEBUG weewx.manager: Daily summary version is 2.0
Jun 20 06:44:22 raspberrypi weewx[2902] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 0.81 seconds
Jun 20 06:44:22 raspberrypi weewx[2902] DEBUG weewx.manager: Daily summary version is 2.0
Jun 20 06:44:22 raspberrypi weewx[2902] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 0.81 seconds
Jun 20 06:44:22 raspberrypi weewx[2902] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Jun 20 06:44:22 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'SmartphoneReport' not enabled. Skipping.
Jun 20 06:44:22 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'MobileReport' not enabled. Skipping.
Jun 20 06:44:22 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'StandardReport' not enabled. Skipping.
Jun 20 06:44:22 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
Jun 20 06:44:22 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.
Jun 20 06:44:30 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7252 live_queue_len:1
Jun 20 06:44:31 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8050
Jun 20 06:44:36 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7253 live_queue_len:1
Jun 20 06:44:37 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8051
Jun 20 06:44:38 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: adjust_rain rain_total:4.55 Rain.rain_total_last:4.55 rain_interval:0.00
Jun 20 06:44:38 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7254 live_queue_len:1
Jun 20 06:44:39 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8052
Jun 20 06:44:39 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7255 live_queue_len:1
Jun 20 06:44:40 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8053
Jun 20 06:44:49 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7256 live_queue_len:1
Jun 20 06:44:50 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8054
Jun 20 06:44:50 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7257 live_queue_len:1
Jun 20 06:44:51 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8055
Jun 20 06:44:57 raspberrypi weewx[2902] WARNING weewx.drivers.wmr200: Clock time unsynchronized
Jun 20 06:44:57 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7258 live_queue_len:1
Jun 20 06:44:58 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8056
Jun 20 06:44:59 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7259 live_queue_len:1
Jun 20 06:45:00 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8057
Jun 20 06:45:03 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7260 live_queue_len:1
Jun 20 06:45:04 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8058
Jun 20 06:45:04 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7261 live_queue_len:1
Jun 20 06:45:05 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8059
Jun 20 06:45:09 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7262 live_queue_len:1
Jun 20 06:45:10 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8060
Jun 20 06:45:12 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Acknowledged control packet rx:488
Jun 20 06:45:15 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: Queuing live packet rx:7263 live_queue_len:1
Jun 20 06:45:16 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:8062
Jun 20 06:45:16 raspberrypi weewx[2902] INFO weewx.manager: Added record 2020-06-20 06:45:00 UTC (1592635500) to database 'weewx.sdb'
Jun 20 06:45:16 raspberrypi weewx[2902] INFO weewx.manager: Added record 2020-06-20 06:45:00 UTC (1592635500) to daily summary in 'weewx.sdb'
Jun 20 06:45:16 raspberrypi weewx[2902] DEBUG weewx.reportengine: Running reports for latest time in the database.
Jun 20 06:45:16 raspberrypi weewx[2902] DEBUG weewx.drivers.wmr200: genLoop() phase getting live packets
Jun 20 06:45:16 raspberrypi weewx[2902] WARNING weewx.drivers.wmr200: Skipped bytes before resync:3
Jun 20 06:45:16 raspberrypi weewx[2902] DEBUG weewx.reportengine: Running report 'SeasonsReport'
Jun 20 06:45:16 raspberrypi weewx[2902] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Seasons/skin.conf for report 'SeasonsReport'
Jun 20 06:45:16 raspberrypi weewx[2902] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
Jun 20 06:45:16 raspberrypi weewx[2902] DEBUG weewx.manager: Daily summary version is 2.0
Jun 20 06:45:17 raspberrypi weewx[2902] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 0.81 seconds
Jun 20 06:45:17 raspberrypi weewx[2902] DEBUG weewx.manager: Daily summary version is 2.0
Jun 20 06:45:18 raspberrypi weewx[2902] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 0.81 seconds
Jun 20 06:45:18 raspberrypi weewx[2902] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Jun 20 06:45:18 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'SmartphoneReport' not enabled. Skipping.
Jun 20 06:45:18 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'MobileReport' not enabled. Skipping.
Jun 20 06:45:18 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'StandardReport' not enabled. Skipping.
Jun 20 06:45:18 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
Jun 20 06:45:18 raspberrypi weewx[2902] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.
Jun 20 06:45:54 raspberrypi weewx[2902] ERROR weewx.drivers.wmr200: read_device() USB Error Reason:[Errno 110] Operation timed out
Jun 20 06:45:54 raspberrypi weewx[2902] ERROR weewx.drivers.wmr200: USB device read error
Jun 20 06:45:54 raspberrypi weewx[2902] ERROR weewx.drivers.wmr200: USB polling thread unexpectedly terminated
Jun 20 06:45:54 raspberrypi weewx[2902] INFO weewx.engine: Main loop exiting. Shutting engine down.
Jun 20 06:45:54 raspberrypi weewx[2902] INFO weewx.engine: Shutting down StdReport thread
Jun 20 06:45:54 raspberrypi weewx[2902] DEBUG weewx.engine: StdReport thread has been terminated
Jun 20 06:45:54 raspberrypi weewx[2902] INFO weewx.drivers.wmr200: USB polling thread expired
Jun 20 06:45:54 raspberrypi weewx[2902] CRITICAL __main__: Caught WeeWxIOError: USB polling thread unexpectedly terminated
Jun 20 06:45:54 raspberrypi weewx[2902] CRITICAL __main__: **** Waiting 60 seconds then retrying...
Jun 20 06:46:54 raspberrypi weewx[2902] INFO __main__: retrying...
Jun 20 06:46:54 raspberrypi weewx[2902] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Jun 20 06:46:54 raspberrypi weewx[2902] INFO __main__: Debug is 1
Jun 20 06:46:54 raspberrypi weewx[2902] DEBUG __main__: Initializing engine
Jun 20 06:46:54 raspberrypi weewx[2902] INFO weewx.engine: Loading station type WMR200 (weewx.drivers.wmr200)
Jun 20 06:46:54 raspberrypi weewx[2902] INFO weewx.drivers.wmr200: driver version is 3.5.0
Jun 20 06:46:54 raspberrypi weewx[2902] INFO weewx.drivers.wmr200: sensor map is {'altimeter': 'altimeter', 'pressure': 'pressure', 'windSpeed': 'wind_speed', 'windDir': 'wind_dir', 'windGust': 'wind_gust', 'windBatteryStatus': 'battery_status_wind', 'inTemp': 'temperature_0', 'outTemp': 'temperature_1', 'extraTemp1': 'temperature_2', 'extraTemp2': 'temperature_3', 'extraTemp3': 'temperature_4', 'extraTemp4': 'temperature_5', 'extraTemp5': 'temperature_6', 'extraTemp6': 'temperature_7', 'extraTemp7': 'temperature_8', 'inHumidity': 'humidity_0', 'outHumidity': 'humidity_1', 'extraHumid1': 'humidity_2', 'extraHumid2': 'humidity_3', 'extraHumid3': 'humidity_4', 'extraHumid4': 'humidity_5', 'extraHumid5': 'humidity_6', 'extraHumid6': 'humidity_7', 'extraHumid7': 'humidity_8', 'inHeatindex': 'heatindex_0', 'heatindex': 'heatindex_1', 'heatindex1': 'heatindex_2', 'heatindex2': 'heatindex_3', 'heatindex3': 'heatindex_4', 'heatindex4': 'heatindex_5', 'heatindex5': 'heatindex_6', 'heatindex6': 'heatindex_7', 'heatindex7': 'heatindex_8', 'outTempBatteryStatus': 'battery_status_out', 'rain': 'rain', 'rainTotal': 'rain_total', 'rainRate': 'rain_rate', 'hourRain': 'rain_hour', 'rain24': 'rain_24', 'rainBatteryStatus': 'battery_status_rain', 'UV': 'uv', 'uvBatteryStatus': 'battery_status_uv', 'windchill': 'windchill', 'forecastIcon': 'forecast_icon', 'outTempFault': 'out_fault', 'windFault': 'wind_fault', 'uvFault': 'uv_fault', 'rainFault': 'rain_fault', 'clockUnsynchronized': 'clock_unsynchronized'}
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.drivers.wmr200: open_device() Unable to claim USB interface. Reason: [Errno 16] Resource busy
Jun 20 06:46:54 raspberrypi weewx[2902] ERROR weewx.engine: Import of driver failed: [Errno 16] Resource busy (<class 'weewx.WakeupError'>)
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** Traceback (most recent call last):
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/share/weewx/weewx/drivers/wmr200.py", line 193, in open_device
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** self.handle.claimInterface(self.interface)
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/lib/python3/dist-packages/usb/legacy.py", line 230, in claimInterface
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** util.claim_interface(
self.dev, interface)
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/lib/python3/dist-packages/usb/util.py", line 205, in claim_interface
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** device._ctx.managed_claim_interface(device, interface)
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/lib/python3/dist-packages/usb/core.py", line 102, in wrapper
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** return f(self, *args, **kwargs)
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/lib/python3/dist-packages/usb/core.py", line 167, in managed_claim_interface
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** self.backend.claim_interface(self.handle, i)
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 811, in claim_interface
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** _check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 595, in _check
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** raise USBError(_strerror(ret), ret, _libusb_errno[ret])
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** usb.core.USBError: [Errno 16] Resource busy
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: ****
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** During handling of the above exception, another exception occurred:
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: ****
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** Traceback (most recent call last):
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/share/weewx/weewx/engine.py", line 103, in setupStation
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** self.console = loader_function(config_dict, self)
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/share/weewx/weewx/drivers/wmr200.py", line 58, in loader
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** return WMR200(**config_dict[DRIVER_NAME])
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/share/weewx/weewx/drivers/wmr200.py", line 1466, in __init__
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** self.usb_device.open_device()
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** File "/usr/share/weewx/weewx/drivers/wmr200.py", line 196, in open_device
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** raise weewx.WakeupError(exception)
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL weewx.engine: **** weewx.WakeupError: [Errno 16] Resource busy
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL __main__: Unable to load driver: [Errno 16] Resource busy
Jun 20 06:46:54 raspberrypi weewx[2902] CRITICAL __main__: **** Exiting...