NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

SSH and 64 bit Teststand

Hi,

 

We have been using ExtraPuTTY (http://www.extraputty.com/) with Teststand 2013 to communicate with remote linux computers via SSH. ExtraPutty provides a 32 bit dll and custom step types which allow direct interfacing with Teststand sequences and Extraputty. But because the ExtraPutty dll is only provided in 32 bit flavor, it's impossible to use it with 64 bit Teststand. 

 

We have been waiting for 64 bit Teststand for a quite a while and we are happy to finally be able to get our hands on it. But now we are facing the SSH/Extraputty 32 bit issue. 

 

Has anybody attempted to send SSH commands with 64 bit Teststand? If so, how did you do it? Is there any alternative to Extraputty?

 

Thank you!

Message 1 of 11
(7,367 Views)

Hi christiandb,

 

Have you tried making the calls in 64-bit TestStand yet? Have you received any errors or warnings?

 

Regards,

 

David R
Systems Engineer
National Instruments
0 Kudos
Message 2 of 11
(7,317 Views)

No 64-bit experience, but I have been experimenting with this SSH.NET library.

 

I believe there is 64 bit support available. I've seen some references to using this lib with 64-bit PowerShell.

 

I'm using some LabVIEW wrappers for SSH Connect, Command and Close as well as a SCP file Upload and Download using the 32 bit version and it seems to be fairly reliable so far (LV & TS 32-bit).

 

 


Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.

"You are what you don't automate"
Inplaceness is synonymous with insidiousness

Message 3 of 11
(7,295 Views)

Thanks to both you for your replies.

 

For now, I have simply tried to load the 32-bit dll provided with ExtraPutty but TestStand gives an error stating that 64-bit TestStand cannot load 32 bit dll's.

 

I don't have any experience with .NET, thanks for suggesting this library though. I'll take a look at it. 

0 Kudos
Message 4 of 11
(7,285 Views)

You cannot directly load and call 32-bit dlls in a 64-bit process. I would recommend looking for a 64-bit alternative to ExtraPutty. It is possible to do a remote sequence call from 64-bit teststand to 32-bit teststand to call legacy 32-bit code, but it would be much simpler if you can just find a 64-bit SSH API to use instead.

 

Hope this helps,

-Doug

Message 5 of 11
(7,265 Views)

Hi Doug,

 

you wrote :"You cannot directly load and call 32-bit dlls in a 64-bit process".

 

Well i am using TS since more than one decade and most of the dlls from the beginning were
still running under TS5.1(2013). Of course all dlls were 32-bit stuff.

 

At the moment i had no experience with TS2014

That means if i am switching to TS2014-64 bit i will get some huge trouble ?

 

Could you provide an example about your mentioned workaround with the remote sequence call.

or provide  a link (i am pretty sure there is one) to a document that deals with this topic

 

Regards

 

Juergen

 

 

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 6 of 11
(7,208 Views)

Juergen,

 

We have a KnowledgeBase article which describes the process of doing a remote sequence execution on the same machine. You can find it here.

 

As Doug mentioned, you cannot directly execute your 32-bit DLLs in a 64-bit version of TestStand. Eventually, you may want to migrate your code modules to 64-bit for the benefits that provides, such as increased memory availability and easier interfacing with 64-bit applications, but until you are able to do that, using the remote execution might be an appropriate solution. Let us know if you have any questions about it.

Message 7 of 11
(7,201 Views)

I just want to clarify a few things:

 

1) TestStand 2014 comes in both a 32-bit and 64-bit version (and both can be installed and active at the same time on the same machine). So if you have no need or requirement for 64-bit, you can use the 32-bit version of TestStand 2014 rather than the 64-bit one. That will definitely be an easier migration path to 2014, and you might want to do this first even if you plan on switching to the 64-bit version eventually.

 

2) The limitation of not being able to load 32-bit dlls in a 64-bit process is not a TestStand one, but rather an OS or perhaps a hardware one. To call 32-bit code from 64-bit code and vice-versa, you must make a call to another process which hosts that code using some sort of inter-process communication mechanism. Remote sequence calls use such a mechanism to allow you to create a process in the opposite bitness, using the TestStand engine of that bitness to run a sequence and return back the results.

 

3) If you plan on migrating to 64-bit TestStand, I recommend, when doing so, you try to migrate as much code as possible to be natively 64-bit code. This will give you the best performance, and the simplest development experience with using TestStand, as well as giving all of your code access to the larger address space (and thus more memory) that using 64-bit code allows.

 

Hope this helps clarify things. Let us know if you have any additional questions or if this is still unclear.

-Doug

Message 8 of 11
(7,188 Views)

Hi Daniel and Doug,

 

Thanks for clarifying. In the next few days i am going to update my development maschine to TS2014
and i am taking care to use the 32bit version. Without this thread here iam sure i would have installed the 64 bit Version with a
big disappointing result at all.

 

If threre is some trouble with updating i am opening a new thread here.

 

Cheers!

 

Juergen

 


 

--Signature--
Sessions NI-Week 2017 2016
Feedback or kudos are welcome
0 Kudos
Message 9 of 11
(7,173 Views)

Just to follow up on my problem,

 

I ended up using Plink, a command line executable for Putty. I use the Call Executable step, so I don't need to load any code module and bitness is therefore irrelevant. 

 

Thanks for the help.

Message 10 of 11
(7,160 Views)