Author Topic: Siglent SDS1000X - how to make direct Ethernet connection?  (Read 12523 times)

hugburger and 1 Guest are viewing this topic.

Offline radiolistenerTopic starter

  • Super Contributor
  • ***
  • Posts: 4064
  • Country: ua
Siglent SDS1000X - how to make direct Ethernet connection?
« on: July 04, 2018, 12:26:40 pm »
Hi, may be someone can help. I want to make direct ethernet connection to my Siglent SDS1102X oscilloscope.
But I don't want to install a bunch of NI VISA software and drivers.

All what I want is just to connect to some ethernet port from my program and get SCPI control.
I found this manual for SSA3000X: https://www.siglentamerica.com/application-note/verification-lan-connection-using-telnet/
It mention telnet port 5024, but it looks that this port doesn't works on my SDS1000X.
It responds on ping, but don't want to open telnet port 5024...   :(

Does anyone know the working port?
Or may there is any other way to get direct connection with no need to deal with NI software?
 

Offline radiolistenerTopic starter

  • Super Contributor
  • ***
  • Posts: 4064
  • Country: ua
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #1 on: July 04, 2018, 01:25:11 pm »
I found the following TCP ports are open: 111, 9009.
I can connect with telnet, but they don't respond to telnet typing...

May be there are some UDP ports?
 

Offline CustomEngineerer

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: us
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #2 on: July 04, 2018, 02:12:36 pm »
The port is 5024. Once connected (telnet is one way) to that port you can then issue SCPI commands. The instrument even responds with a message once connected along the lines of "Welcome to the SCPI instrument...".
« Last Edit: July 04, 2018, 02:21:35 pm by CustomEngineerer »
 

Offline radiolistenerTopic starter

  • Super Contributor
  • ***
  • Posts: 4064
  • Country: ua
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #3 on: July 04, 2018, 02:14:22 pm »
it refuses connection on TCP port 5024..  :(
Do I need to enable something?
 

Offline CustomEngineerer

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: us
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #4 on: July 04, 2018, 02:26:41 pm »
No, you should not need to enable anything, its active by default. And you should not need anything other than telnet to connect to the scope. The "Verification of a LAN connection using Telnet" document doesn't mention needing anything else either.
 

Offline radiolistenerTopic starter

  • Super Contributor
  • ***
  • Posts: 4064
  • Country: ua
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #5 on: July 04, 2018, 03:16:30 pm »
It refuses all connections for any TCP ports except 111 and 9009.
I installed NI VISA software for test and it can connect to my SDS1102X with the following resource name:
"TCPIP0::192.168.1.55::inst0::INSTR"

192.168.1.55 is my oscilloscope IP...

Also, with help of SysInternals TcpView, I see that communication is done through port 9009...

But when I trying to connect to the port 9009 with telnet, there is no any message and it doesn't respond on telnet typing...


 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29489
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #6 on: July 04, 2018, 08:46:54 pm »
What OS are you running ?
This could be of help:
https://www.eevblog.com/forum/testgear/open-source-lxi-tools-and-liblxi-v1-0-released-for-gnulinux/

There's also the option to contact the developer and get a patch added for the SDS1kX.
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4134
  • Country: fi
  • Born in Finland with DLL21 in hand
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #7 on: July 04, 2018, 09:11:00 pm »
Are there open socket enabled at all in SDS1000X series oscilloscope? X-E series is different. (port 5024 for  SCPI commands using direct telnet). I have not seen any signs about it when read 1000X/X+  models FW changelogs.
EV of course. Cars with smoke exhaust pipes - go to museum. In Finland quite all electric power is made using nuclear, wind, solar and water.

Wises must compel the mad barbarians to stop their crimes against humanity. Where have the (strong)wises gone?
 

Offline CustomEngineerer

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: us
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #8 on: July 05, 2018, 01:07:41 am »
Thats a good point. I had assumed the 1000X was new enough to have either come with the enabled open port or to have had it added by firmware update by now, but I definitely don't know that for sure (and it does appear that that probably isn't the case).
 

Offline radiolistenerTopic starter

  • Super Contributor
  • ***
  • Posts: 4064
  • Country: ua
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #9 on: July 05, 2018, 03:24:31 am »
I spent half of the day trying to reverse engineering of VXI-11 protocol in NI VISA drivers...
And now I can connect and use my scope directly with no need to install NI VISA drivers  :popcorn:
I can connect to my scope, get screenshot, send control commands. With no need to install heavy NI software  :)

There is still need to implement error checks, but at least it works  :)
Port 111 is Getport interface. It returns link to the port 9009.
Port 9009 is VXI-11 protocol port.
I implemented some wrappers for RPC/VXI-11 and now I can use SCPI interface  :popcorn:

Here is a little demo. This application allows you to get screenshots. It doesn't requires any kind of drivers.
Just connect your oscilloscope with ethernet cable, enter it's IP address and press connect button...  :)

It is written in C#, so it may require .NET framework 4 runtime: https://www.microsoft.com/en-us/download/details.aspx?id=17851
 
The following users thanked this post: Latet

Offline radiolistenerTopic starter

  • Super Contributor
  • ***
  • Posts: 4064
  • Country: ua
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #10 on: July 05, 2018, 02:01:47 pm »
Here is source code. You can use it as a base for your custom remote control tool for oscilloscope  :)
 
The following users thanked this post: pwrgreg007

Offline tv84

  • Super Contributor
  • ***
  • Posts: 3322
  • Country: pt
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #11 on: August 21, 2018, 09:14:18 am »
radiolistener,

Your implementation was fundamental in running the SCPI commands with almost "no" limitations. Thank you.

I changed one of the SCPI commands present in the DSO and, together with an external loop, extracted a memory dump from the scope.

(I could have done it through USB but it would have taken more time to dump.)

Easier than going through the JTAG hassle...
 

Offline tinhead

  • Super Contributor
  • ***
  • Posts: 1918
  • Country: 00
    • If you like my hacks, send me a donation
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #12 on: July 27, 2019, 11:45:07 am »
just in case someone trying to use it on SDS1000X-E, it will not work and break some configs on DSO, i had to reboot multiple times and overwrite default button Settings to get my DSO working again

I don't want to be human! I want to see gamma rays, I want to hear X-rays, and I want to smell dark matter ...
I want to reach out with something other than these prehensile paws and feel the solar wind of a supernova flowing over me.
 

Offline Latet

  • Newbie
  • Posts: 6
  • Country: mx
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #13 on: March 02, 2024, 09:48:45 pm »
I spent half of the day trying to reverse engineering of VXI-11 protocol in NI VISA drivers...
And now I can connect and use my scope directly with no need to install NI VISA drivers  :popcorn:
I can connect to my scope, get screenshot, send control commands. With no need to install heavy NI software  :)

There is still need to implement error checks, but at least it works  :)
Port 111 is Getport interface. It returns link to the port 9009.
Port 9009 is VXI-11 protocol port.
I implemented some wrappers for RPC/VXI-11 and now I can use SCPI interface  :popcorn:

Here is a little demo. This application allows you to get screenshots. It doesn't requires any kind of drivers.
Just connect your oscilloscope with ethernet cable, enter it's IP address and press connect button...  :)

It is written in C#, so it may require .NET framework 4 runtime: https://www.microsoft.com/en-us/download/details.aspx?id=17851
Is there any way to obtain the 16-characters SCOPE_ID with your program?
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29489
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #14 on: March 02, 2024, 10:00:08 pm »
I spent half of the day trying to reverse engineering of VXI-11 protocol in NI VISA drivers...
And now I can connect and use my scope directly with no need to install NI VISA drivers  :popcorn:
I can connect to my scope, get screenshot, send control commands. With no need to install heavy NI software  :)

There is still need to implement error checks, but at least it works  :)
Port 111 is Getport interface. It returns link to the port 9009.
Port 9009 is VXI-11 protocol port.
I implemented some wrappers for RPC/VXI-11 and now I can use SCPI interface  :popcorn:

Here is a little demo. This application allows you to get screenshots. It doesn't requires any kind of drivers.
Just connect your oscilloscope with ethernet cable, enter it's IP address and press connect button...  :)

It is written in C#, so it may require .NET framework 4 runtime: https://www.microsoft.com/en-us/download/details.aspx?id=17851
Is there any way to obtain the 16-characters SCOPE_ID with your program?
SCPI command: SCOPE_ID?
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Offline pwrgreg007

  • Newbie
  • Posts: 1
  • Country: us
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #15 on: March 03, 2024, 10:15:47 pm »
Here is source code. You can use it as a base for your custom remote control tool for oscilloscope  :)

This is awesome, thanks! :clap:
I have the Siglent SDS-1202X-E. I've been working with a friend on a project and need to send screenshots. I've been getting screen captures into a thumb drive, but the 'scope gives them empty created/modified datestamps (probably a zero Windows epoch time), which sent me on a quest of how to set the date & time on the 'scope, if that's even possible. I found a couple helpful links that got me started.
1) https://www.eevblog.com/forum/testgear/setting-date-and-time-on-siglent-sds/
2) https://hackaday.com/2016/11/16/how-to-control-your-instruments-from-a-computer-its-easier-than-you-think/
I got Python working in Visual Studio Code, loaded the NI libraries ( |O), loaded the Python VISA stuff, and got that working. One can get the device IDN and set the date & time, and when a "Save" request on the 'scope is made to the thumb drive, the file now has the correct date stamp. I'm sure it'll do other stuff but I haven't dug very far into it.
Since I'm a C# guy and not really into Python, I wanted to see if this could be done with straight TCP. I wasn't aware of SCPI or VXI-11 protocols until I ran a Wireshark capture on what this Python program was doing, and sure enough, those protocols are listed by name, along with RPC (which everyone's heard of, right?).
I tried using the NI stuff but I couldn't get their .Net libraries to be recognized in Visual Studio, not to mention it's a huge load of bloatware, IMO.
I spent a good day or so working on a C# program, using an older TCP comms stack I had written. It's not nearly as sophisticated as radiolistener's code, and being able to grab screenshots directly from the PC would be awesome. I can at least now do what I was doing with Python w/o any of the NI or PyVISA requirements. I want to be able to send a program to other people with DSOs that doesn't require a ton of overhead to run. I will now review radiolistener's code and see where that leads me.
I also use port 111 to issue the GETPORT call, and in all cases so far I get 911 back instead of 9009, FWIW. The protocol is VXI-11 inside RPC, running over TCP.
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29489
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDS1000X - how to make direct Ethernet connection?
« Reply #16 on: March 03, 2024, 11:02:15 pm »
Here is source code. You can use it as a base for your custom remote control tool for oscilloscope  :)

This is awesome, thanks! :clap:
I have the Siglent SDS-1202X-E. I've been working with a friend on a project and need to send screenshots. I've been getting screen captures into a thumb drive, but the 'scope gives them empty created/modified datestamps (probably a zero Windows epoch time), which sent me on a quest of how to set the date & time on the 'scope, if that's even possible. I found a couple helpful links that got me started.
1) https://www.eevblog.com/forum/testgear/setting-date-and-time-on-siglent-sds/
2) https://hackaday.com/2016/11/16/how-to-control-your-instruments-from-a-computer-its-easier-than-you-think/
I got Python working in Visual Studio Code, loaded the NI libraries ( |O), loaded the Python VISA stuff, and got that working. One can get the device IDN and set the date & time, and when a "Save" request on the 'scope is made to the thumb drive, the file now has the correct date stamp. I'm sure it'll do other stuff but I haven't dug very far into it.
Since I'm a C# guy and not really into Python, I wanted to see if this could be done with straight TCP. I wasn't aware of SCPI or VXI-11 protocols until I ran a Wireshark capture on what this Python program was doing, and sure enough, those protocols are listed by name, along with RPC (which everyone's heard of, right?).
I tried using the NI stuff but I couldn't get their .Net libraries to be recognized in Visual Studio, not to mention it's a huge load of bloatware, IMO.
I spent a good day or so working on a C# program, using an older TCP comms stack I had written. It's not nearly as sophisticated as radiolistener's code, and being able to grab screenshots directly from the PC would be awesome. I can at least now do what I was doing with Python w/o any of the NI or PyVISA requirements. I want to be able to send a program to other people with DSOs that doesn't require a ton of overhead to run. I will now review radiolistener's code and see where that leads me.
I also use port 111 to issue the GETPORT call, and in all cases so far I get 911 back instead of 9009, FWIW. The protocol is VXI-11 inside RPC, running over TCP.
Welcome to the forum.

LXI tools developed by member lundmar can also be of assistance:
https://siglentna.com/application-note/lxi-tools/

https://www.eevblog.com/forum/testgear/open-source-lxi-tools-and-liblxi-v1-0-released-for-gnulinux/
https://www.eevblog.com/forum/testgear/open-source-lxi-tools-v2-0-released/
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf