I use four (identical) setups consisting of a PicoScope 5444B with a Linux-Laptop. The PicoScope is externally supplied with 5V. I'm doing some 24/7 measurements and "sometimes" (in the last 5 days it happened about 1 to 5 times on the different machines) I get an error 0x07 from the library (PICO_NOT_RESPONDING).
I have used the same setup (same PicoScope and self written software, but different Laptops and "older" Linux software / PicoScope driver) about two years ago and I did measurements over months without a single failure...
I've also seen some entries in the kernel log, maybe they are related to my problem:
from the "journalctl":
Oct 10 07:25:50 plc2 kernel: usb 1-4: USB disconnect, device number 12
Oct 10 07:25:51 plc2 kernel: usb 1-4: new high-speed USB device number 13 using xhci_hcd
Oct 10 07:25:51 plc2 kernel: usb 1-4: New USB device found, idVendor=0ce9, idProduct=1019
Oct 10 07:25:51 plc2 kernel: usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Oct 10 07:25:51 plc2 kernel: usb 1-4: Product: PicoScope 5000
Oct 10 07:25:51 plc2 kernel: usb 1-4: Manufacturer: Pico Technology
My program told me at 07:25:52 - two seconds after the initial kernel-log entry - that the error occurred:
ERROR Mon Oct 10 07:25:52 CEST 2016 in picoscope_thread.tcl(25): Background Error: 'picoScope: couldn't program AWG - got error: 0x7'
So maybe, the PicoScope got a "USB-reset" and therefore the library got the timeout...?
My problem is - even if the above written is correct - WHY did the "USB-reset" occur in the first place? Any clues?
My program always had this problem on line 399 (see attached source code), i.e. when I try to program the AWG with ps5000aSetSigGenArbitrary (which was called about 2000 times over the last 5 days)...
I hope this info helps.
kind regards
Bernhard
-->
Hi,
regarding your questions:
An "rpm -qa" gives me (I have a Sabayon-Distro, so those two packages are the only rpm's I've installed...):
libps5000a-1.1.6-5r10.x86_64
libpicoipp-1.1.2-4r56.x86_64
I'm programming in Tcl/Tk, whereas I've written a wrapper library in C (see attached zip-file) to connect to the PicoScope, which is connected to an USB 2.0 Port as can be seen from "lsusb":
Bus 003 Device 002: ID 8087:8000 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0bda:8153 Realtek Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:07dc Intel Corp.
Bus 001 Device 002: ID 0bda:572a Realtek Semiconductor Corp.
Bus 001 Device 004: ID 0cd5:0003 LabJack Corporation U3
Bus 001 Device 006: ID 0ce9:1019 Pico Technology
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 2 / Device 2 is an USB-Ethernet interface, whereas Bus 1 / Device 2 is the integrated Video Camera of the Lenovo U330P notebook. Shall I try to connect the PicoScope to the USB 3.0 port (instead of the network interface), so that it is the only device on an USB root hub?
Today I also took a closer look into the error message logs of my program - in total I had this error about 15 times during the last 5 days - and it was always the SAME error message --> My program always had this problem on line 399 (see attached source code), i.e. when I try to program the AWG with ps5000aSetSigGenArbitrary (which was called about 2000 times over the last 5 days)...
I've had a look through your code and noticed the following:
1. The dwellCount parameter is set to 10 in the call to ps5000aSetSigGenArbitrary() - as you are not incrementing the delta phase for a sweep, please set this to 0.
2. When polling the ps5000aIsReady() function, you should poll it until the device indicates that it is ready or the User cancels data collection rather than using a for loop.
Are all the PicoScope 5444B devices being controlled from one single PC?