ExpectationsThis guide provides instructions regarding the installation process of Siglent EasyTools on Linux using Wine. The respective EasyTool can be then used to connect to test equipment over the network. Connecting devices via USB is not tested and making USB connectivity work is outside of the scope of this guide.
DisclaimerUse at your own risk! This guide comes without any warranty. Under no circumstances I, the author of this guide, take responsibility for any damage caused (physical or monetary)/lost income/lawsuits/etc.Test equipment used for validation- Siglent SDG2042X waveform generator
- Siglent SDS1104X-E oscilloscope
- Siglent SPD3303X-E power supply
- Siglent SDM3055 multimeter
The test equipment was connected to a network switch together with the computer on which the respective EasyTool was running.
PrerequisitesCommon- Wine
- winetricks
- NI-VISA Runtime 16.0 (newer versions will not work with this guide)
Tool specificApplication | Dependencies |
EasyScopeX, EasyDMM | Visual C++ 6.0 runtime, .NET Framework 3.5 SP1 |
EasyPower | Visual C++ 6.0 runtime |
Installing Wine and winetricksThis guide was tested on Ubuntu 20.04 using Wine 5.0 and on Manjaro using Wine 6.7.
Ubuntusudo apt install wine-stable winetricks
Manjarosudo pacman -S wine winetricks
LinksNI-VISA Runtimehttps://www.ni.com/sv-se/support/downloads/drivers/download.ni-visa.html#306035Double check that the Version is set to 16.0
Visual C++ 6.0 runtimehttps://download.microsoft.com/download/vc60pro/Update/2/W9XNT4/EN-US/VC6RedistSetup_deu.exeEasyToolshttps://siglentna.com/service-and-support/firmware-software/Tested versions:
Application | Version |
EasyWaveX | 1.1.0.13 |
EasyScopeX | 1.01.02.01.21 |
EasyPower | 1.01.01.18 |
EasyDMM | 1.02.01.03 |
Configuring WineThe only change that I made was to set the Windows version to Windows 10 using winecfg. I had issues with the EasyWaveX window not reacting to user input on other versions.
The guide works on both 32-bit and 64-bit Wine prefixes, the installed dependencies always have to be 32-bit however.
Installing NI-VISA Runtime 16.0The first step is to extract the downloaded ZIP file.
There is one mandatory component that needs to be installed and two optional.
Open a terminal and navigate to the root of the folder where the ZIP file was extracted. There should be a directory called Products in this directory.
Mandatory componentswine msiexec /i Products/NI-VISA_Runtime/NIVISAruntime.msi
The the Ethernet runtime support is needed, the rest can optionally be deselected.
Optional componentsSome errors can be seen in the command line when EasyWaveX is launched without the NI Network Discovery Service and mDNS responder. They do not seem to affect the application, but they go away if the right components are installed.
wine msiexec /i Products/NINetworkDiscoverySvc/NINetworkDiscoverySvc.msi
wine msiexec /i Products/mDNS_Responder/mDNSResponder.msi
Installing .NET Framework 3.5 SP1winetricks dotnet35sp1
Installing Visual C++ 6.0 runtimeNormally this dependency would be installed via winetricks but it seems to be broken.
winetricks vcrun6
If the above command fails, the workaround is to download the installer, run it, which will extract the actual installer.
The extracted file then has to be executed again, which will install the runtime.
Installing EasyToolsAll of the tested EasyTools use similar/the same installer. Extract the downloaded ZIP file and run the installer with Wine.
A PDF version of this guide can be found as an attachment.
Original postHello!
I am trying to make EasyWaveX work on Linux and I am wondering if anyone succeeded in it before.
I am currently running a Manjaro installation, with wine-6.7.
I tried to install the NI-VISA runtime, which failed.
Without this EasyWaveX was not running.
In the end I found out that EasyWaveX only needs two DLLs from the NI-VISA runtime: VISA32.dll and NiViSv32.dll. Apart from that it also seemed to use the 2015 Visual C++ runtime.
I copied those two files from a Windows machine to the System32 folder in my Wine Prefix and installed the C++ runtime which made it possible to run the application.
The only issues is that I cannot make it detect my SDG2042X. I have two ethernet cards in my computer and I am using one with a network switch to make a small LAN. All of my test equipment are connected to the switch.
I can ping and *IDN? my SGD2042X from Linux via telnet.
I can ping the device from within Wine and *IDN? via putty.
If I add the device to EasyWaveX however, it will just say it is unavailable"
I was able to confirm that the same setup works if I boot into Windows. I can connect my SDG to EasyWaveX through ethernet.
I don't exactly know how the network communication is working. Maybe I need some extra DLLs but I am at loss here.
There are no crashes or error messages. It just says unavailable.
Anyone here who was able to make the application run on Linux?
Also, is there a maybe an alternative tool that could replace EasyWaveX?
Edit:
Sometimes I get the following error:
006c:err:ole:start_rpcss Failed to start RpcSs service
Not always though. I will do some more research on this.