Official IIO plugin for ADI Visual Analog seems to have unknown special requirements, at the attempt to connect to the IIOD all valid responses are returned to the VA IIO plugin, however VA stops the requests and says it can not connect to the IIOD.
with this setup the error is exactly the same, IIO DLL returns error code on inside the .net wrapper, there is no way to debug anything. All ehternet packet data is correct verified with wireshark. So…
Can you provide more details about the issue you are having? What version of libiio is the IIOD compiled with? Are you making modifications to IIOD? What is the actual error reported by VA?
VA IIO plugin sends 3 commands to the server:
and stops communication after that displaying this messagebox:
After that nothing more happens.
As we are creating IIOD on Windows host we can not use linux iio libraries, so the IIOD code is written 100% from scratch.
Thank you for the additional information.
The VA IIO plugin doesn't send commands such as PRINT, TIMEOUT, etc. At least not directly. The plugin use the libiio API which in turn sends these commands.
The first thing that the plugin does when the 'Connect' button is pushed is to create an IIO context. In other words, it just calls the iio_create_context_from_uri() with a string containing the IP address. So it might be much easier to create a simple windows application that does just that, creates an IIO context. And start debugging from there.
Libiio windows binaries can be downloaded from: https://github.com/analogdevicesinc/libiio/releases/tag/v0.18 (checkout the libiio-0.18.g4e22517-Windows.zip archive)
When I press "connect" then "PRINT" and other commands are sent to the server. Returning known valid responses to those requests does not seem to work with VA IIO plugin.
IIO Scope does recognize the same IIOD server, but VA does not. This is the reason why I am asking, VA IIO plugin seems to-do something else or expects something else as response. So we need to figure out what that else what differs from IIO scope is with the VA plugin.
There is no debugging at all possible as the VA IIO plugin only sends 3 commands and stop communication, there is nothing more.. So not possible to debug anything as there are no more commands.
What can differ between IIO scope and VA plugin is the libiio.dll. While the IIO scope ships the libio.dll and installs it next to the osc executable the VA plugin does not. Instead it uses the libiio.dll that is installed on the system. Usually the libiio dll can be found at: C:\Windows\System32\
Is possible to have an old version of libiio installed on your system? Maybe try reinstalling libiio: https://github.com/analogdevicesinc/libiio/releases/tag/v0.18 (libiio-0.18.g4e22517-Windows-setup.exe)
Please let me know if that works.