Fedora 31 - how to start

Discussion forum for the new Picoscope Linux software
Post Reply
PrzemoF
User
User
Posts: 2
Joined: Sat Nov 09, 2019 10:24 am

Fedora 31 - how to start

Post by PrzemoF »

What's the best way of getting PicoScope 2204A to work on fedora linux? I did some searching, but I don't see any "official" way.

I managed to start Picoscope 6 using different tricks on fedora 31, but I failed to convince the software I have the hardware connected. I tried root account, I added custom udev rule, the syste, sees the device, but the picoscope 6 fails to detect it. Normally I'd be able to debug it down to kernel level, but it's a proprietary software, so I need help. My setup:
- fedora 31 with mono installed
- hardware: PicoScope 2204A
- system sees the usb device as:

Code: Select all

[20059.297178] usb 3-2: new high-speed USB device number 13 using xhci_hcd
[20059.423315] usb 3-2: New USB device found, idVendor=0ce9, idProduct=1007, bcdDevice= 0.05
[20059.423320] usb 3-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
- my custom udev rule to change access rights and create symlink:

Code: Select all

$ cat /etc/udev/rules.d/99-picoscope.rules 
SUBSYSTEM=="usb", ATTR{idVendor}=="0ce9", ATTR{idProduct}=="1007", MODE="0666" SYMLINK+="picoscope"
Looks like picoscope can't find ps2000.dll. I don't have that dll and I can't find it
Where I can get it?

P.S. I'm experienced linux user and open source developer & supporter, so if you're interested in developing open source software for picoscope hardware please stand up & be counted :D

PrzemoF
User
User
Posts: 2
Joined: Sat Nov 09, 2019 10:24 am

Re: Fedora 31 - how to start

Post by PrzemoF »

OK, I got the picoscope working. I had to put together some files manually, including picoscope.conf in /etc. Anyway, it can be done. The missing ps2000.dll is llibps2000.so

If someone needs the info quickly please post here. OtherwiseIi'll try to make an installation script in my free time.

chuck13
Newbie
Posts: 0
Joined: Sun Jun 07, 2020 5:39 pm

Re: Fedora 31 - how to start

Post by chuck13 »

Hi,
I am trying to replicate your success and get Picoscope running under Fedora 31. I have extracted and installed the files from the .deb file. I created the file /etc/ld.so.conf.d/picoscope.conf with one line: "/opt/picoscope/lib". I created the /etc/udev/rules.d file as in your post and when I plug in the PicoScope 2206B, it creates the symlink /dev/picoscope. So far so good.

When I start picoscope, its opens the GUI and reports "No suitable device found". I can poke around a bit and cause it to generate an error report. Among other things, the error report includes:

Attempting to load ps2000.dll
ps2000.dll System.DllNotFoundException: ps2000.dll

It fails to find several other dll with similar names (psX000.dll and psX000a.dll).

Your post says that the missing ps2000.dll is llibps2000.so. Can you tell me where you found that? I see nothing similar in /opt/picoscope/lib.

Thanks!

chuck13
Newbie
Posts: 0
Joined: Sun Jun 07, 2020 5:39 pm

Re: Fedora 31 - how to start

Post by chuck13 »

Oops!

It does help to read the instructions. I failed to recognize that the libps2000a was a separate installation. I also needed to install libpicoipp which I found at:
https://labs.picotech.com/rpm/x86_64/

I now have picoscope running on my Fedora 31 system.

PrzemoF
User
User
Posts: 2
Joined: Sat Nov 09, 2019 10:24 am

Re: Fedora 31 - how to start

Post by PrzemoF »

Great! :D

kcallin
Newbie
Posts: 0
Joined: Sat Jul 18, 2020 3:36 am

Re: Fedora 31 - how to start

Post by kcallin »

Just got my 3405D MSO and needed to bring up Picoscope 6 on Fedora 31. If there's any Picotech guys reading: you got the sale because I saw there was some reasonable level of Linux support.

At first I tried to use alien to convert the .deb to rpm; there are some slight problems that prevented it from working. Instead I pulled apart the .deb and installed on Fedora 31 using the steps below. I might roll them into an RPM and submit to rpmfusion or similar if picotech doesn't object.

Code: Select all

#!/bin/env bash

PICOSCOPE_DEB_NAME="picoscope_6.14.23-4r580_all.deb"

BUILD_DIR="build"
BUILD_TEMP_DIR="${BUILD_DIR}/temp"
BUILD_OUT_DIR="${BUILD_DIR}/out"

set -e

# Install some dependencies.
dnf install mono-complete gtk-sharp2

curl -L https://labs.picotech.com/debian/pool/main/p/picoscope/picoscope_6.14.23-4r580_all.deb > "${PICOSCOPE_DEB_NAME}"
rm -rf "${BUILD_TEMP_DIR}"
mkdir -p "${BUILD_OUT_DIR}" "${BUILD_TEMP_DIR}"
cp "./${PICOSCOPE_DEB_NAME}" "${BUILD_TEMP_DIR}"
cd "${BUILD_TEMP_DIR}"
ar x "${PICOSCOPE_DEB_NAME}"
rm "${PICOSCOPE_DEB_NAME}"
tar -Jxf data.tar.xz

cp -r opt/picoscope /opt
chown -R root:root /opt/picoscope

install usr/share/applications/picoscope.desktop /usr/share/applications

# TODO: Not used on Fedora?  Not sure.
# install usr/share/menu/picoscope /usr/share/menu/picoscope

cp -r usr/share/doc/picoscope /usr/share/doc/picoscope
chown -R root:root  /usr/share/doc/picoscope


# Post Install script

if [ -x /opt/picoscope/bin/picoscope ];
then
    if [ -e /usr/bin/picoscope ];
    then
	    rm -rf /usr/bin/picoscope >/dev/null 2>&1 || true
    fi
    ln -s /opt/picoscope/bin/picoscope /usr/bin/picoscope >/dev/null 2>&1 || true
fi

#UPDATE_MENUS=$(which update-menus 2>/dev/null) || true
#
#if [ "x" != "x""$UPDATE_MENUS" ];
#then
#    ( test -x "$UPDATE_MENUS" && update-menus 2>&1 ) || true
#fi
#

# loader configuration
PICO_LDCONF_D="/etc/ld.so.conf.d"
PICO_LDCONF_F="picoscope.conf"
PICO_LDCONF_P="/opt/picoscope/lib"

if [ -d "${PICO_LDCONF_D}" ];
then
    if [ -e "${PICO_LDCONF_D}/${PICO_LDCONF_F}" ];
    then
        PICO_LDCONF_N=$( grep -m1 "^""${PICO_LDCONF_P}""\$" "${PICO_LDCONF_D}/${PICO_LDCONF_F}" ) || true
	      if [ "x""${PICO_LDCONF_N}" != "x""${PICO_LDCONF_P}" ];
	      then
	          echo "${PICO_LDCONF_P}" >> "${PICO_LDCONF_D}/${PICO_LDCONF_F}"
	      fi
    else
	      echo "${PICO_LDCONF_P}" > "${PICO_LDCONF_D}/${PICO_LDCONF_F}"
    fi
fi

# to add libraries to the cache
ldconfig || true

# TODO: Do not know what this is.  Doesn't seem necessary on my setup.
# mono-mcs (>= 4.2.1),

dnf install \
  https://labs.picotech.com/rpm/x86_64/libpicoipp-1.3.0-4r29.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps3000-4.0.40-3r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps3000a-2.1.40-6r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libusbdrdaq-2.0.40-1r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libpl1000-2.0.40-1r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps2000-3.0.40-3r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps2000a-2.1.40-5r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps4000-2.1.40-2r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps4000a-2.1.40-2r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps5000-2.1.40-3r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps5000a-2.1.40-5r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps6000-2.1.40-6r2131.x86_64.rpm \
  https://labs.picotech.com/rpm/x86_64/libps6000a-1.0.40-0r2131.x86_64.rpm


Post Reply