Joulescope application stops collecting on macbook pro

I have been using joulescopes since they were introduced. I never had any problems with long term data collections until recently. Now, the joule scope app is randomly stopping data collection. If I click the green button to stream data it starts right back up.

I have always run my MBP with power adapter plugged in and I believe I have power save settings appropriately (power settings are in attached picture). OS is Big Sur 11.6.1. Behavior is the same with joule scope 0.9.7 and 0.9.11. I think that this problem started up either when I updated to Big Sur, or with some Big Sur update.

Hi @bboehmer and welcome to the Joulescope forum! Thank you for being a long-time Joulescope customer.

Sorry to hear that you have been having recent issues. macOS is definitely a moving target. 0.9.11 did fix issues with the UI running in the background. I know others have been successfully using macOS 11 & 12 with 0.9.11, so I’m not sure what is going on here.

Are you plugging your Joulescope directly into one of the USB ports on your host computer? If not, has anything changed with your hub / dock setup?

If you would like, I can take a look at the log files. If you have a session where this happens, open “Help → View logs…”. You can then email the most recent log to support [at] joulescope.com and reference this thread.

@mliberty, thanks for the reply. I have sent the log file. My joule scope is plugged into a high current port on an OWC Thunderbolt 3 dock. This same configuration has worked for me in the past. I will go ahead and try moving the joule scope to a port directly on the computer.

I received it, and took a look. The log indicates that USB communication failed, but I do not see hints of the underlying cause. Unfortunately, I don’t have much to go on. Hopefully, connecting directly to a USB port on your Mac fixes the issue. Please let me know if you continue to see this issue even when connected directly.

Here is my analysis of the log. The log starts at 2022-08-03 14:20:28,592, and shows everything is fine until:

ERROR:2022-08-03 14:55:33,685:device.py:687:joulescope.usb.libusb.device:endpoint halt 1: transfer callback with status 1
INFO:2022-08-03 14:55:33,694:main.py:1279:joulescope_ui.main:_on_device_state_play(Device/#state/play, False)
INFO:2022-08-03 14:55:33,792:scrollbar.py:238:joulescope_ui.widgets.waveform.scrollbar:set_display_mode(buffer)
INFO:2022-08-03 15:25:17,779:control_widget.py:252:joulescope_ui.widgets.control.control_widget:control_widget play button True
INFO:2022-08-03 15:25:17,781:main.py:1279:joulescope_ui.main:_on_device_state_play(Device/#state/play, True)

This looks to be you intentionally pressing the play/pause button, but the log does not have enough info to know for sure. However, everything continues again until:

ERROR:2022-08-03 18:58:07,122:device.py:687:joulescope.usb.libusb.device:endpoint halt 1: transfer callback with status 1
INFO:2022-08-03 18:58:07,124:main.py:724:joulescope_ui.main:Device notify
INFO:2022-08-03 18:58:07,124:main.py:1062:joulescope_ui.main:_device_scan start
INFO:2022-08-03 18:58:07,130:main.py:939:joulescope_ui.main:device_close Joulescope:001800
WARNING:2022-08-03 18:58:07,196:device.py:504:joulescope.usb.libusb.device:libusb_submit_transfer [control] => -4
WARNING:2022-08-03 18:58:07,196:device.py:524:joulescope.usb.libusb.device:device_removed
WARNING:2022-08-03 18:58:07,196:driver.py:887:joulescope.driver:Device.stop() while attempting _stream_settings_send
INFO:2022-08-03 18:58:07,323:main.py:1013:joulescope_ui.main:_device_change remove

As far as the Joulescope UI knows, the Joulescope disconnected over USB. It reconnects a couple of seconds later, and resumes. A similar disconnect with a worse outcome happens later:

WARNING:2022-08-03 23:00:40,416:device.py:504:joulescope.usb.libusb.device:libusb_submit_transfer [control] => -99
ERROR:2022-08-03 23:00:40,417:device.py:687:joulescope.usb.libusb.device:endpoint halt 1: transfer callback with status 1
WARNING:2022-08-03 23:00:40,417:driver.py:984:joulescope.driver:status failed 1: usb control transfer failed: 1
INFO:2022-08-03 23:00:40,417:main.py:978:joulescope_ui.main:_device_recover: start
INFO:2022-08-03 23:00:40,418:main.py:1013:joulescope_ui.main:_device_change remove
INFO:2022-08-03 23:00:40,418:main.py:939:joulescope_ui.main:device_close Joulescope:001800
ERROR:2022-08-03 23:00:43,421:device_thread.py:170:joulescope.usb.device_thread:device thread hung: read_stream_stop - FORCE CLOSE
ERROR:2022-08-03 23:00:46,422:driver.py:670:joulescope.driver:USB stop failed
Traceback (most recent call last):
  File "joulescope/driver.py", line 668, in close
  File "joulescope/driver.py", line 882, in stop
  File "joulescope/usb/device_thread.py", line 224, in read_stream_stop
  File "joulescope/usb/device_thread.py", line 176, in _post_block
OSError

Again, the software attempts to recover, but this time libusb cannot communicate with the device as shown by these errors:

OSError: libusb_claim_interface 0 failed [-5]
OSError: usb.Device ControlTransferResponse(result=5)

It tries again based upon the internal recovery timer, gets further, but then hangs:

INFO:2022-08-03 23:00:49,450:main.py:986:joulescope_ui.main:_on_recoveryTimer
INFO:2022-08-03 23:00:49,451:main.py:1062:joulescope_ui.main:_device_scan start
INFO:2022-08-03 23:00:49,456:main.py:1076:joulescope_ui.main:current device = Joulescope:001800, False
INFO:2022-08-03 23:00:49,456:main.py:1082:joulescope_ui.main:_device_scan done
ERROR:2022-08-03 23:00:50,419:view.py:205:joulescope.view:view thread hung: stop - FORCE CLOSE
ERROR:2022-08-03 23:00:50,419:driver.py:819:joulescope.driver:<joulescope.view.View object at 0x13df18400> stop() exception
Traceback (most recent call last):
  File "joulescope/driver.py", line 817, in _on_stop
  File "joulescope/view.py", line 400, in stop
  File "joulescope/view.py", line 211, in _post_block
OSError
INFO:2022-08-04 08:06:04,751:main.py:771:joulescope_ui.main:_view_logs

@mliberty , it look like using the native port fixed it. It ran from yesterday afternoon through this morning and is still going. If I figure out how to make it work through the hub I will post here. Thanks for your help!
Bob

Great to hear it’s working! Sorry to hear about the hub getting in the way.

Let me know if you figure out the root cause. One very common case is that the hub is unable to supply sufficient power to the connected devices. The voltage droops causing the JS110 to brown out.
However, it should recover from these resets.