Scopy troubleshooting guide

Scopy v2 after Scopy v1?

If this is the first time installing Scopy v2 after using any Scopy v1 on your system, we strongly recommend to uninstall the old Scopy properly.

Doing this we make sure that the configuration files for Scopy v2 are not in any way influenced by Scopy v1.

Scopy v1 ini files in Scopy v2

Scopy v1.x ini files have a different format from version 2.0

Scopy v1.x format (snippet):

[power]
dac1_enabled=false
dac1_value=0
dac2_enabled=false
dac2_value=0
notes=
sync=false
tracking_percent=100

[siggen]
autoscale=false
buffer_amplitude\1\idx=1
buffer_amplitude\2\idx=1
buffer_amplitude\size=2
buffer_file_path\1\idx=
same info in

Scopy v2.0 format (snippet):

[M2kPlugin]
power\dac1_enabled=false
power\dac1_value=0
power\dac2_enabled=false
power\dac2_value=0
power\notes=
power\sync=false
power\tracking_percent=100
siggen\autoscale=false
siggen\buffer_amplitude\1\idx=1
siggen\buffer_amplitude\2\idx=1
siggen\buffer_amplitude\size=2
siggen\buffer_file_path\1\idx=
siggen\buffer_file_path\2\idx=
siggen\buffer_file_path\size=2
siggen\buffer_offset\1\idx=0

As you can see the format of the Scopy v2.0 is different, the main key is the plugin it is part of (in this case M2kPlugin) and the rest of the format is flattened. We created a small tool to help you switch from one format to another. This is a python script found here. You can run it like this.

python3 ./scopy_ini_converter.py --outmode v2 --input scopy_v1_config.ini --output scopy_v2_config.ini

This script will convert ini files from version 1 to version2.

Any unexpected behavior? Send us the log!

Scopy v2 brings a new logging mechanism for an easier navigation of the debugging process. Whether starting Scopy on Linux (with flatpak or appimage), on MacOS (from command line) or Windows, Scopy will display a filtered log of operations.

The filter is configured by default to display only a few main components. This filter can be modified at runtime, by manipulating the responsible environment variable: QT_LOGGING_RULES.

This environment variable is part of the Qt mechanism for exposing warning and debugging messages. Read more detailed information in the official Qt documentation

Tip

Send us the log output of Scopy to make it easier for us to reproduce the issue!

How to set the environment variable:

We can modify the debug output of Scopy even if the release has a preconfigured filter.

The default Scopy configuration is the following:

"*.debug=false\n"
"ToolStack.debug=true\n"
"ToolManager.debug=true\n"
"DeviceManager.debug=true\n"
"Device.debug=true\n"
"TestPlugin.debug=true\n"
"Plugin.debug=true\n"
"swiotConfig.debug=true\n"
"CyclicalTask.debug=false\n"
"SWIOTPlugin.debug=true\n"
"AD74413R.debug=true\n"
"ScopyTranslations.debug=true\n"
"GRTimeSinkComponent.debug=true\n"
"GRManager.debug=true\n"

Using *.debug=false will suppress all the debug output of Scopy.

Now let’s take some examples and check them on different Operating Systems:

## This will disable all the output and only enable logs
## for the ADC Plugin
"*.debug=false;ADCPlugin.debug=true"

Linux x86_64, arm64, arm32, MacOS

In order to modify the Scopy logging rules, open up a terminal and run the following:

export QT_LOGGING_RULES="*.debug=false;ADCPlugin.debug=true"

After that, run Scopy (specific to each OS type) and observe the log output changing.

Windows

In the Scopy install location on Windows you will find 2 separate executables: Scopy.exe and Scopy-console.exe. In order to view the debug log of Scopy, you need to run the latter: Scopy-console.exe. This will not only open the Scopy window, it will also start a command prompt in which all the output will be visible.

In order to modify the QT_LOGGING_RULES on Windows, firstly open a command prompt and run the following:

set QT_LOGGING_RULES="*.debug=false;ADCPlugin.debug=true"

After that, you can run Scopy-console.exe from the same command prompt.

Available configuration

A list of all the available Scopy class filters is:

SCOPY CLASS FILTER

AnimationPushButton

MapStackedWidget

TimeChannelComponent

TutorialOverlay

Time Y-Autoscale

TutorialChapter

PageNavigationWidget

TitleSpinBox

ScopyStatusBar

MenuCollapseSection

iioWidget

AttrDataStrategy

MultiDataStrategy

CmdQDeviceDataStrategy

CmdQChannelDataStrategy

ContextAttrDataStrategy

TriggerDataStrategy

DeviceDataStrategy

SwitchGuiStrategy

AttrGuiStrategy

TimeChannelAddon

GRTimePlotAddon

GRTimeChannel

RuntimeEnvironmentInfo

CrashReport

toolLauncher

oscilloscope

signalGenerator

voltmeter

powerController

spectrumAnalyzer

networkAnalyzer

digitalIO

logicAnalyzer

patternGenerator

calibration

calibration.manual

iioManager

plot

Benchmark

DetachedToolWindow

ScopyTitleManager

DeviceManager

ScopyPreferencesPage

ToolStack

EmuAddPage

Scopy

DeviceBrowser

InfoPageStack

ScopyHomeAddPage

PluginManager

Device

ToolMenuItem

Scopy_API

PluginRepository

ScopyTranslations

ScannedIIOContextCollector

IIODevice

ToolMenuManager

IIOTabWidget

GRManager

TimeSink_f

CmdQPingTask

CyclicalTask

CommandQueue

ConnectionProvider

IIOScanTask

GUITestPlugin

BareMinimum

DacPlugin

DacInstrument

DacDds

DacBuffer

DacData

DacDataBuilder

DacFileManager

DacDataStrategy

RegReadWrite

oscilloscope

signalGenerator

voltmeter

powerController

spectrumAnalyzer

networkAnalyzer

digitalIO

logicAnalyzer

patternGenerator

calibration

calibration.manual

iioManager

plot

REGISTERMAP

RegisterMapTable

RegMap_API

MeasurementController

ADCInstrument

ADCPlugin

AcqTreeNode

GRFFTSinkComponent

GRFFTChannelComponent

GRTimeSinkComponent

GRTimeChannelComponent

PqmRms

PQMLog

PqmAqcManager

PQMPlugin

pqm_settings

M2kDigitalIo

M2kIIOManager

M2kCalibrationManual

M2KPowerController

M2kSiggen

M2kNetworkAnalyzer

M2kOscilloscope

M2KCalibration

M2kSpectrumAnalyzer

M2kDMM

M2KPLUGIN

Benchmark

Plot

SWIOTPlugin

AD74413R

SWIOTConfig

SWIOTFaults

MAX14906

DebuggerTreeView

DebuggerDetailsView

DebuggerWatchList

DebuggerIIOModel

IIODebugger

DEBUGGERPLUGIN

Benchmark

TestPluginIp

TestPlugin

TimeTracker

DataMonitor_API

DataMonitorSettings

DataLoggerPlugin

DataLoggerPlugin

DataMonitorTool

ApiObject

ResourceManager

VersionCache

Scopy_JS

Plugin

StatusBarManager

Preferences

If you need to regenerate this list after updating parts of Scopy, you can use the following command:

grep -InH -r --exclude="*.rst*" --exclude="*.mako" --exclude="*build*" --exclude="*html*" "Q_LOGGING_CATEGORY" . | sed 's/.*Q_LOGGING_CATEGORY([^,]*, *"\([^"]*\)").*/\1/'

Linux Wayland crash

If you are using Scopy on a Linux system with Wayland and you encounter a crash when trying to open the application, you can run Scopy with XCB.

Tip

flatpak run –env=QT_QPA_PLATFORM=xcb org.adi.Scopy

Tip

QT_QPA_PLATFORM=xcb ./Scopy.AppImage

Device doesn’t show up

Make sure you install the latest driver :

Use compliant USB cable

Some USB cables are incapable of power delivery necessary to the ADALM2000 (or are just plain flakey). Please use the provided USB cable. Also in order to troubleshoot this, you try using two cables, plug in a separate cable to the USB connector for power delivery (to the USB power connector), while using the center USB connector for data transfer. If using two cables works, it normally means it’s a cable, or voltage droop issue on the host.

Reinstall & INI files

Scopy.ini and Preferences.ini contain the user-settings that are saved in-between sessions. Sometimes these can get messed up and can cause problems. In order to reset them, go to: These file are located in:

  • Windows: C:\Users\<your_username>\AppData\Local\ADI\Scopy-v2 Sometimes this is a hidden directory, and you unhide it.

  • Linux: /home/<your_username>/.config/ADI/Scopy-v2

  • Mac: /Users/<your_username>/.config/analog.com

and delete (or rename) Scopy.ini Scopy.ini.bak Preferences.ini Preferences.ini.bak The preference is to rename things with a different suffix, so if you need to report a bug, the file still exists.

You can also reset these files to default using the Reset button from the Preferences page.

Scopy configuration can sometimes get messed up when updating as opposed to uninstall/reinstall. If you are facing this issue, you can try uninstalling Scopy and then reinstall.

Warning

Make sure that after uninstall Scopy’s folder is clear

Make sure you install Scopy in a location that doesn’t require any write privileges since Scopy needs to write to it’s installation folder.

Connecting through the network interface

If you are having trouble connecting through USB, you can always connect to the device through the network interface. The USB connection can cause all kinds of problems on various systems. In order to connect through the emulated network interface follow the steps from user guide under Connecting to a remote device.

Make sure you have the latest firmware

For ADALM2000 visit the firmware page https://github.com/analogdevicesinc/m2k-fw/releases.

Compare the latest firmware version on this page with the one you have installed. Follow these steps to update the firmware.

Uninstall and reinstall the software

  • Run a clean uninstall

  • Delete the ini files

  • Run a clean reinstall

  • Restart your computer after the clean install can fix your problems.

Make sure the system doesn’t limit the USB power consumption

Some laptops limit the amount of current that can be delivered via an USB port (either native or from a docking station/usb hub). In order to workaround this issue you can try the following:

  • Go to Device Manager tool in Windows OS

  • Go to Universal Serial Bus Controllers

  • Select ASMedia USB Root hub(or which USB root hub the board is connected to), Right click on its properties

  • uncheck the “Allow the computer to turn off this device to save power” in the Power management tab

  • Reboot.

Run iio_info -a for board diagnostics

Download latest version of https://github.com/analogdevicesinc/libiio/releases .

Open a command prompt and run

Note

iio_info -a

or

Note

iio_info -u “ip:192.168.2.1”

Emulator not found

If you are using any binary from the official release artifacts and you get something similar to: “iio-emu not found” when trying to use the Emulator functionality, go to Preferences, use the Reset button to set everything to its default value and restart Scopy.

Scopy white screen on Windows

Scopy displaying a white screen on startup (combined with hangs or crashes) is an issue that indicates OpenGL incompatibility with your system due to a missing or outdated graphics driver/DirectX/OpenGl Driver.

  • Disable OpenGL usage in favor software rendering by setting the general_use_opengl preference in preferences.ini to false.

  • On Windows Virtual Machine, enable 3d hardware acceleration.

In recent Scopy versions, a pop-up will appear when this issue is detected, the preference will be automatically disabled and Scopy will try to restart. For older Scopy versions, please do this manually.