SDRuno on Linux

Discussions about everything to do with SDRuno
Strykar
Posts: 13
Joined: Thu Apr 27, 2017 4:04 am

Re: SDRuno on Linux

Post by Strykar » Thu Mar 21, 2019 11:29 am

StandingWave wrote:Following your post, I tried installing the wine-staging package on my test system which is in a virtual machine. I had to completely remove/purge the wine-stable package first, but that's another story.... After eventually getting it installed, I ended up with WINE version 4.4.
Thanks a ton, the issue is indeed the lack of MS fonts, installing them fixes it and now SDRunoEXTIO works with both Wine 4.0 and 4.2, cheers!

Now I need to find someone who has Windows to change the static 127.0.0.1:1234 that's set in ExtIO_RSP_TCP/src/ExtIO_RSP.cpp and recompile the EXTIO.DLL for my remote Odroid's IP (192.168.1.111).

The required local port forward or SDRuno will hang is a pain to troubleshoot when your RSP2 and Odroid/RPi are mounted remotely 24/7.

Reason: No reason

StandingWave
Posts: 56
Joined: Mon Feb 18, 2019 6:54 pm

Re: SDRuno on Linux

Post by StandingWave » Thu Mar 21, 2019 11:57 am

Strykar, I'm not sure that I fully understand the issue you are trying to resolve, but you shouldn't need to change and recompile the DLL in order to configure the remote IP address of your Pi.

Have you tried this, which was posted earlier in the thread:
Tech_Support wrote:Hello again StandingWave,
When you try to change the IP address in the ExtIO Window, it is important to ensure that 'Auto Reconnect' and 'Persistent Connection' options are UNCHECKED before you try to change the IP address. If either of these options were checked, I recommend that you uncheck them and try again to see if that helps.
Tech_Support
If you uncheck both of those settings, then it should become possible to change the IP address to that of your Odroid/RPi without any difficulty. However, the IP address is not "remembered" and reverts back to the localhost address next time you start the application, even if you turn them on afterwards. If that is the issue and your Odroid/RPi IP is static then I guess changing and recompiling the EXTIO DLL might make sense. It would be nice if it could be configured in an INI or config file.

Reason: No reason

Strykar
Posts: 13
Joined: Thu Apr 27, 2017 4:04 am

Re: SDRuno on Linux

Post by Strykar » Thu Mar 21, 2019 12:40 pm

StandingWave wrote:Strykar, I'm not sure that I fully understand the issue you are trying to resolve
The issue is that rsp_tcp or a local port forwarding rule has to exist listening on 127.0.0.1:1234 before starting SDRUno.EXTIO or it hangs waiting on localhost to respond. It hangs in a way that I cannot close it easily, having to track down its PID as it shows no borders with the usual close button.
Image
This should indeed be configurable or just ask the user instead. As in this condition, I cannot press h to bring up Extio properties.

Since it's unable to save the setting for the new IP:Port I put in, we're back in the same boat every time SDRUno.EXTIO is started which is painful to setup tests for in shell scripts that startup SDRuno and rsp_tcp as all these machines are pretty remote to me. The recompile should be the easiest solution for me.

Also, support just informed me that SDRPlay does not intend to develop EXTIO any longer, so this is what we have to play with until SDRPlay releases a cross-platform solution that works on Linux.

Reason: No reason

StandingWave
Posts: 56
Joined: Mon Feb 18, 2019 6:54 pm

Re: SDRuno on Linux

Post by StandingWave » Fri Mar 22, 2019 2:12 pm

Yes, as you say, SDRuno needs to see an open port on the local host otherwise it starts up as you describe and illustrate in your screenshot.

if you open a terminal and do:

Code: Select all

nc -l 1234
this will allow SDRuno to start normally, but if you are scripting something then you still have to deal with the localhost IP address that comes up by default each time you start the application.

It is also possible to do:

Code: Select all

nc xx.xx.xx.xx 1234 <&1 | nc -l 1234 >&0
where xx.xx.xx.xx is the IP address of the remote host. This could be done in a script and will tunnel port 1234 on your local host to port 1234 on the remote host, but there may also be a performance impact on the stream.

I do have Windows, but I didn't have the Visual Studio development environment that is required to compile this. I managed to download and install the recent version from Microsoft, the whole whopping 8Gb of it! However, when I tried to compile the project, Visual Studio complained that the project was using the SDK for Windows XP! I installed the XP support component and when I opened the project again I was prompted to re-target for the later version of the XP SDK, which I did. However, it next complained about missing files PassivSocket.cpp and SimpleSocket.cpp. I guess there is probably a TCP module or something that needs to be installed or added, but since I'm not sure what is needed, I cannot proceed any further at this point. I might have time to research this a bit more later.

Reason: No reason

Strykar
Posts: 13
Joined: Thu Apr 27, 2017 4:04 am

Re: SDRuno on Linux

Post by Strykar » Sat Mar 23, 2019 6:13 pm

StandingWave wrote:

Code: Select all

nc -l 1234
I use GNU netcat and port forward 127.0.0.1:1234 to the Odroid

Code: Select all

nc -L 192.168.1.111:1234 -p 1234

Reason: No reason

StandingWave
Posts: 56
Joined: Mon Feb 18, 2019 6:54 pm

Re: SDRuno on Linux

Post by StandingWave » Sat Mar 23, 2019 11:25 pm

I had another go at compiling the DLL tonight. After checking out that project files https://github.com/hayguen/clsocket I tried to build it again, but was being informed that activesocket,h was missing even though I could open it by clicking on the file name in studio. I added the clsocket file path to studio and was then able to compile but got lots of errors "definition of dllimport function not allowed" and "a function declared in dllimport may not be defined". Thinking this might be an incompatibility with the later version of Visual Studio, I decided to have another look for Studio 2013. I eventually found and downloaded it, removed 2017 and installed 2013. I tried building the project again, but ran into the same errors, 37 in total and 2 warnings. I experimented a little more but to no avail.

At this point, I think that I will need more information from SDRplay about the process for compiling the project as given the files supplied, it will just not compile without lots of errors.

Reason: No reason

Strykar
Posts: 13
Joined: Thu Apr 27, 2017 4:04 am

Re: SDRuno on Linux

Post by Strykar » Mon Mar 25, 2019 2:12 pm

StandingWave wrote:At this point, I think that I will need more information from SDRplay about the process for compiling the project as given the files supplied, it will just not compile without lots of errors.
Thanks for trying mate, I appreciate it.
Being unable to compile on Windows myself, and short of SDRPlay jumping in to help, I think opening an issue on Github with the compiler errors might help. If not SDRPlay, perhaps a programmer who has managed to compile it might share a fix there. Or perhaps a support ticket with SDRPlay..

I mean for all practical purposes it's working thanks to you, it's just these forced layers on top of TCP that are adding latency and complexity to troubleshooting.

Reason: No reason

Post Reply