Test and Measurement Forum

Can I use an executable tested for 3406B on 3406D?

Discussion forum for the new Picoscope Linux software

Can I use an executable tested for 3406B on 3406D?

Postby calneel » Fri Oct 23, 2015 4:58 pm

I have written some C code in Linux (centOS Release 6.6) using the libraries provided (ps3000a) by Picotech. The compiled executable is working fine on a 3406B oscilloscope. I have recently purchased a 3406D oscilloscope to utilize the fast data transfer rate of USB3.0. I tried to use the same executable binary to access 3406D but I receive the following warning

The device "PicoScope 4000 Series PC Oscilloscope" was unable to connect to its ideal host controller.

The above message confuses me since I have a 3406D machine, which should belong to 3000 series, not 4000. According to the downloads section under Picotech.com, I should be able to use the same libraries for both 3406B and D.

I am running the executable in centOS (release 6.6) VM on my Mac. The same executable was working fine on 3406B under the same HW/SW configuration.

Can you please provide any insight?

thanks
ND
calneel
Newbie
 
Posts: 0
Joined: Fri Oct 23, 2015 4:45 pm

Re: Can I use an executable tested for 3406B on 3406D?

Postby Hitesh » Mon Oct 26, 2015 2:24 pm

Hi ND,

Does the PicoScope 3406D work when connected to the PicoScope 6 software on the CentOS platform?

Which version of the libps3000a driver are you using? Does running the usbtest application detect the PicoScope?

The fact that the device is listed as a PicoScope 4000 Series device should not affect it's performance but if you wish for it to be changed (following a fix to the driver), please e-mail support@picotech.com providing your contact details and we can issue a returns number.

Regards,
Hitesh

Technical Specialist
Pico Technology
Hitesh
Site Admin
Site Admin
 
Posts: 2058
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: Can I use an executable tested for 3406B on 3406D?

Postby calneel » Fri Oct 30, 2015 6:03 pm

Hi Hitesh
Thanks a lot for your response. I do not have much experience with developing under Linux environment, so let me try to understand your questions.

1. Does the PicoScope 3406D work when connected to the PicoScope 6 software on the CentOS platform?
ND: I do not know what you mean by PicoScope 6 software. I downloaded the libraries and headers a few months ago for my PS3406B machine. It works like with those libraries. Specifically, here are the .so files in my /opt/Picoscope/lib directory:

-rw-r--r--. 1 root root 1213154 Jan 24 2014 libiomp5.so
lrwxrwxrwx. 1 root root 19 May 12 17:46 libpicoipp.so -> libpicoipp.so.1.0.1
lrwxrwxrwx. 1 root root 19 May 12 17:46 libpicoipp.so.1 -> libpicoipp.so.1.0.1
-rwxr-xr-x. 1 root root 23301686 Jan 24 2014 libpicoipp.so.1.0.1
lrwxrwxrwx. 1 root root 19 May 12 17:46 libps3000a.so -> libps3000a.so.2.0.0
lrwxrwxrwx. 1 root root 19 May 12 17:46 libps3000a.so.2 -> libps3000a.so.2.0.0
-rwxr-xr-x. 1 root root 4680408 Jan 28 2015 libps3000a.so.2.0.0

2. Which version of the libps3000a driver are you using? Does running the usbtest application detect the PicoScope?
ND:
when I run shared/doc/libps3000a/usbtest on command line, I get this message
" Pico USB device not found. Please try again"

I believe the current version is 1.4.5.-6r40. Here are some details.

sudo yum install libps3000a
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirror.sesp.northwestern.edu
* extras: mirror.vtti.vt.edu
* updates: mirror.netdepot.com
Resolving Dependencies
--> Running transaction check
---> Package libps3000a.x86_64 0:1.4.4-6r45 will be updated
---> Package libps3000a.x86_64 0:1.4.5-6r40 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
libps3000a x86_64 1.4.5-6r40 picoscope 1.7 M

Transaction Summary
================================================================================
Upgrade 1 Package(s)

Total download size: 1.7 M
Is this ok [y/N]: y
Downloading Packages:
libps3000a-1.4.5-6r40.x86_64.rpm | 1.7 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : libps3000a-1.4.5-6r40.x86_64 1/2
Cleanup : libps3000a-1.4.4-6r45.x86_64 2/2
Verifying : libps3000a-1.4.5-6r40.x86_64 1/2
Verifying : libps3000a-1.4.4-6r45.x86_64 2/2

Updated:
libps3000a.x86_64 0:1.4.5-6r40

Complete!

I do not have the usbtest application in the installation CD I got (Picoscope R6.10.11). What is the source code for that application and how do I compile it? How do I get that application?

3. Here is another confusing thing:
I am trying to run the machine in centOS VM. When I first connect the machine, the computer OS asks whether it should be connected to Mac or Linux. I select Linux. But when I run my executable, it asks the same question again in a pop-up window. I select Linux again. After that, a new pop-up window informs me that

"The device "PicoScope 4000 Series PC Oscilloscope" was unable to connect to its ideal host controller.
An attempt will be made to connect this device to the best available host controller. This might result in undefined behavior for this device".

I select OK and the result comes as "no pico device found", which is my own display text for no device found.

BTW, I can use the machine in a windows box using the GUI.


thanks a lot for all your help,
ND
calneel
Newbie
 
Posts: 0
Joined: Fri Oct 23, 2015 4:45 pm

Re: Can I use an executable tested for 3406B on 3406D?

Postby Hitesh » Mon Nov 02, 2015 2:14 pm

Hi ND,

Thank you for the information provided.

The PicoScope 6 software is the oscilloscope software that we provide for Microsoft Windows, Linux and Mac OS X platforms.

You can install this software onto your CentOS install using the command:

Code: Select all
sudo yum install picoscope6


The usbtest application is the one that you found in the /opt/picoscope/share/doc folder.

Do you have a dedicated CentOS installation that is not a virtual machine that you can test on?

Regards,

Hitesh
Hitesh

Technical Specialist
Pico Technology
Hitesh
Site Admin
Site Admin
 
Posts: 2058
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: Can I use an executable tested for 3406B on 3406D?

Postby calneel » Mon Nov 02, 2015 7:52 pm

Hi Hitesh
I have installed the libraries on a stand-alone laptop running centOS 7 and successfully ran both usbtest and my executable on PS3406D. Thank you so much for the suggestion.

I would also like to make it work on my centOS virtual machine. Now that we know the binary will work if the OS sees the hardware connected to the Linux side, do you have any suggestions/recommendations?

Thanks again for all your help. I really appreciate it.

regards
ND
calneel
Newbie
 
Posts: 0
Joined: Fri Oct 23, 2015 4:45 pm

Re: Can I use an executable tested for 3406B on 3406D?

Postby mario_ » Tue Nov 03, 2015 9:05 am

Hi ND,

During our device startup, USB subsystem restarts increasing reference on the USB bus (In Linux case). This may cause device to `disappear` from the VM-guest. To overcome that you need to make sure that VM software will automatically attach restarted device. The easiest way is to create constant filter of our VendorID 0CE9, and in your case ProductID 1211.

Recently I have been evaluating USB-Redirector software, for passing USB over the network. It is free for Linux. You can set up autoshare rules there to achieve the same (use server on VM-host, and the client on VM-guest)

Mario
mario_
Site Admin
Site Admin
 
Posts: 112
Joined: Fri Sep 13, 2013 12:57 pm


Return to PicoScope for Linux

Who is online

Users browsing this forum: No registered users and 0 guests