Very Experimental extio.dll support

498 views
Skip to first unread message

ahop...@googlemail.com

unread,
Oct 13, 2022, 6:04:35 AM10/13/22
to SparkSDR
Hi all,
in playing with soapysdr support to enable a wider range of radios I have become a little nervous about the ability of unknown drivers to crash all of spark, (not good if you are skimming with a a number of radios).
One thought I had was to run soapy in a separate process (.exe) for each radio so if one crashes spark is not affected. As an experiment I have implemented this but using the extio drivers used by HDSDR etc, this was a simpler way to test the idea as there is less inter process communication required than with soapy.  One nice side effect of doing it this way is that both 32 and 64bit extio drivers can be used by 64bit spark.

I don't recommend using this if spark already has a driver for your radio or if there is a soapy driver. extio just doesn't allow as clean an integration as other methods. It is also windows only.

Radios that send the iq over audio are not supported.

It may work with Perseus and Elad radios, I would be keen to hear if it does.


To use create, a folder called SparkSDR in the windows Documents folder and in there two folders named ExtIO_32bit and ExtIO_64bit. Place your extio dll and any support files in either ExtIO_32bit or ExtIO_64bit depending on if they are 32 or 64bit ( I think most are 32 bit). 
Run spark and enable experimental features in the main settings and then click discover.

73 Alan M0NNB

AndyZ K1RA

unread,
Oct 13, 2022, 7:20:12 PM10/13/22
to SparkSDR

HI Alan
  Just some feedback on this latest test version of SparkSDR.  I had moderate success using my RX-888 mkII with the ExtIO_sddc v1.3.0RC1 32-bit DLL.  Using a Xeon 8-core and USB 3.0 interface I am able to view the entire 0-32 MHz of the HF and managed to set up ten FT8 decoders on all bands from 160m-10m. 


  I was unable to receive any audio though no matter what sound device or mode I attempted to use.  The system ran for about 30 minutes in that configuration then locked up.  There are definitely some stability issues as occasionally when I'd create additional virtual receivers the app would crash.  I will play with this some more, but as I couldn't seem to save/load any profiles, it makes it difficult to quickly restore multiple virtual receivers and start my testing again. 

  I'm excited to see how this progresses as now to cover all HF bands on FT8, FT4 and WSPR it requires me to run two Redpitaya's with SparkSDR and with that configuration I'm only able to run sixteen 96 KHz band segments, or only ~1.5 MHz of the HF spectrum.



73

andyz - K1RA

ahop...@googlemail.com

unread,
Oct 14, 2022, 1:52:12 AM10/14/22
to SparkSDR
Hi Andy,
that is interesting, is there anything in the log files when it crashes?
I suspect the audio problem is related to scaling the signal as your display shows very low signal levels, you might hear something on usb by changing the threshold.  I need to be more cunning in working out the scale of the iq received.
I have something in the pipeline to make virtual receivers more efficient when using such high bandwidth.
You are right that extio receivers are not saved at the moment, I shall add that.
73 Alan M0NNB

ahop...@googlemail.com

unread,
Oct 14, 2022, 2:20:05 AM10/14/22
to SparkSDR
Hi Andy,
I notice in your picture a westbridge soapy radio is detected, does it work and which model is it. 
73 Alan M0NNB

ahop...@googlemail.com

unread,
Oct 14, 2022, 5:16:52 AM10/14/22
to SparkSDR
Hi Andy and all,
this https://www.sparksdr.com/download/SparkSDR.2.0.915.win64.zip should allow you to save profiles and last session etc and should fix (or improve) the scaling.
I suspect the stability issues are caused by the sample rate that is one I have never tested with, I shall try and emulate this.
73 Alan M0NNB

AndyZ K1RA

unread,
Oct 14, 2022, 11:52:23 AM10/14/22
to SparkSDR
Alan
  SDR is the RX-888 MK2.  It does not work natively when I try to activate that WestBridge RX button in SparkSDR.  The RX-888 shows as WestBridge when you first plug it in to USB port, but it requires an additional driver to work with other Windows SDR software.  SDR-Console supports directly with the proper RX-888 driver and it actually registers in Device Manager as a "Cypress FX3 USB BootLoader Device".  With HDSDR I need to additionally load/use the ExtIO_sddc.dll.

The NextGenSDR group https://groups.io/g/NextGenSDRs has more info on this and some of the quirks of using the ExtIO DLL with HDSDR and then SDR-Console as there is some firmware reloading going on that occasionally requires a power cycle of the device.



Thanks again for all your work on this project, I've really enjoyed it and hope to get back to revisiting my earlier sparksdr2dxc and N1MM+ integration ideas.

73

andyz - K1RA

AndyZ K1RA

unread,
Oct 14, 2022, 12:03:20 PM10/14/22
to SparkSDR
Alan
  I concatenated all the error logs from the other day when I was initially testing .914.  Unfortunately I can't say what I was doing when the app crashed with respect the the date/time stamps, but I'll pay more attention with .915.  I can say adding additional virtual receivers crashed the app as well as running for ~30 minutes causing it to lock up.  Maybe some of the errors were also me trying to click the WestBridge RX button to see if that worked in place of the ExtIO.

andyz - K1RA
corelog-2022-10-13-17-13-55.txt

ahop...@googlemail.com

unread,
Oct 17, 2022, 3:15:37 AM10/17/22
to SparkSDR
Hi Andy,
thanks for that, there seem to be a few things going on here:-
The pa_errors indicate your audio device can't offer stereo which is odd as I only list ones that can but I intend to add mono support anyway.
I've not read enough about the radio to know if the soapy driver should work, if it can be made to work with Cubic it should work here the same way.
The  'exe driver stop ??' error gives me some clue as to what is failing when run with the extio driver.

It looks like a very interesting receiver and should allow what I have wanted all along which is unlimited receivers and an ability to view any part or all of the spectrum at the same time.  I'm very tempted to support it directly.

I have some code that makes using multiple virtual receivers with high bandwidth radios very much more efficient, I had restricted sample rates in soapy until I had this implemented but rather forgot about it in extio.  I shall get on with it:)

73 Alan M0NNB

Rinse Pasma

unread,
Oct 17, 2022, 2:16:13 PM10/17/22
to SparkSDR
Hi all,

Which extIO should I use for the Elad FDM-S2?

73 Rinse PD2RPS


Op donderdag 13 oktober 2022 om 12:04:35 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 17, 2022, 2:29:44 PM10/17/22
to SparkSDR
Hi Rinse
I would try one from here  Download area - ELAD (eladit.com) these are 32 bit so need to be put in the 32 bit directory mentioned at the top of this thread, they also have 64bit one that should also work.
73 Alan M0NNB

Josh Logan

unread,
Oct 18, 2022, 10:27:16 AM10/18/22
to ahop...@googlemail.com, SparkSDR

Would you be able to support a RX-888 MKii receiver with a HL2 transmitter, using different antennas?
That way you could scan more frequencies, but still be setup to make a QSO.

I have a deaf HL2, so the idea of still having it useful as a transmitter with a different receiver is appealing to me.

73, KD7HGL
Josh


--
You received this message because you are subscribed to the Google Groups "SparkSDR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sparksdr+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sparksdr/62bdb0ae-9641-4dc7-a3a3-52879d8d016en%40googlegroups.com.

ahop...@googlemail.com

unread,
Oct 18, 2022, 12:19:02 PM10/18/22
to SparkSDR
Hi Josh,
you should be able to do this already if you don't mind tuning transmitter and receiver separately(like the old days) you can even see both at once if you use the pin icon, I quite often do this on 2m to compare the hl2+transverter with other receivers during our regular morning net.  I've thought about pairing radios before so their frequencies are locked, also about finding or creating a simple transmit only radio to pair with all the good sdr receivers that are about.  This  Osmo-fl2k - osmo-fl2k - Open Source Mobile Communications (osmocom.org) is interesting, also something like the transmitter part of the softrocks could be very cheap.  
73 Alan M)NNB

ahop...@googlemail.com

unread,
Oct 20, 2022, 3:36:55 PM10/20/22
to SparkSDR
Hi Rinse,
did you have any success with the Elad? It would be nice to put together a list of radios known to work and fix it for those that don't.
73 Alan M0NNB
On Monday, October 17, 2022 at 7:16:13 PM UTC+1 pd2...@gmail.com wrote:

ahop...@googlemail.com

unread,
Oct 22, 2022, 11:57:22 AM10/22/22
to SparkSDR
Hi All,
this https://www.sparksdr.com/download/SparkSDR.2.0.917.win64.zip has a number of tweaks both for soapy and extio:-
Adding and removing virtual receivers should be more robust.
ExtIO settings should be saved if the driver dll supports it.
ExtIO now has a pause button so you can set settings that are only available with the radio stopped.
ExtIO has a button to show the driver dialog box.
Soapy supports a wider range of sample rates.
73 Alan M0NNB

Rinse Pasma

unread,
Oct 23, 2022, 4:49:45 AM10/23/22
to SparkSDR
Hi Alan

Sparksdr  can't find the Elad FDM-S2,  I followed the instructions and put the DLLs in the correct folder.


Op donderdag 20 oktober 2022 om 21:36:55 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 6:13:41 AM10/23/22
to SparkSDR
Hi Rinse,
can you try running sparkExtiosource_x86.exe from a command prompt and copy the output (the exe is in the driver directory).  This will do a discovery and might give some clues.
73 Alan M0NNB

Rinse Pasma

unread,
Oct 23, 2022, 6:22:03 AM10/23/22
to SparkSDR
Hi Alan,

then nothing happens

Knipsel.JPG

Op zondag 23 oktober 2022 om 12:13:41 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 6:26:42 AM10/23/22
to SparkSDR
Hi Rinse,
thanks for that. It would indicate it is not finding any extio dlls , on my computer the path is C:\Users\## your user name##\Documents\SparkSDR\ExtIO_32bit
73 Alan M0NNB

Rinse Pasma

unread,
Oct 23, 2022, 6:33:26 AM10/23/22
to SparkSDR
Hi Alan,

Knipsel.JPG

Op zondag 23 oktober 2022 om 12:26:42 UTC+2 schreef ahop...@googlemail.com:
Message has been deleted
Message has been deleted

ahop...@googlemail.com

unread,
Oct 23, 2022, 6:52:51 AM10/23/22
to SparkSDR
Hi Rinse,
this version https://www.sparksdr.com/download/SparkExtIOsource_x86.zip should display where it is searching, maybe something odd is happening
73 Alan M0NNB

ahop...@googlemail.com

unread,
Oct 23, 2022, 6:58:13 AM10/23/22
to SparkSDR
Hi Rinse,
I may have found the issue, the code expects the dll to start with "ExtIO_" the case matters, try renaming the dll.  I'll fix this in the next release.
73 Alan M0NNB

Rinse Pasma

unread,
Oct 23, 2022, 7:25:50 AM10/23/22
to SparkSDR
Hi Alan,

Renaming the DLL works, the software now sees the Elad. Nothing else happens.

Knipsel.JPG


Op zondag 23 oktober 2022 om 12:58:13 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 7:30:26 AM10/23/22
to SparkSDR
Hi Rinse,
we are making some progress. What is the output from the discover now (sparkExtiosource_x86.exe)?  That will tell me what format it is using.
73 Alan M0NNB

Rinse Pasma

unread,
Oct 23, 2022, 7:33:49 AM10/23/22
to SparkSDR
Hi Alan

trying ExtIO_elad_fdms2_192k_v3_04.dll
dll loaded
FDM-S2 1 7
@DISCOVERED ExtIO_elad_fdms2_192k_v3_04.dll
freed


Op zondag 23 oktober 2022 om 13:30:26 UTC+2 schreef ahop...@googlemail.com:

Rinse Pasma

unread,
Oct 23, 2022, 7:35:56 AM10/23/22
to SparkSDR
start radio 3
comms thread
try running - drivers\SparkExtIOsource_x86.exe Run ExtIO_elad_fdms2_192k_v3_04.dll
running - drivers\SparkExtIOsource_x86.exe Run ExtIO_elad_fdms2_192k_v3_04.dll
EXTIO running
radio ready
start sent
StartHW
StopHW

Op zondag 23 oktober 2022 om 13:30:26 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 7:59:13 AM10/23/22
to SparkSDR
Hi Rinse,
thanks for that, did you click the pause button to cause the StopHW or did it do it by itself? Does the pause button make it work?
73 Alan M0NNB

Rinse Pasma

unread,
Oct 23, 2022, 8:05:18 AM10/23/22
to SparkSDR
Ho Alan,

I did that but makes no difference

73 Rinse PD2RPS


Op zondag 23 oktober 2022 om 13:59:13 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 8:20:59 AM10/23/22
to SparkSDR
Hi Rinse,
I shall look through the code  and try and guess what could be happening and add some more logging.  I wonder if the radio does not like being given a frequency it can't handle when it first starts.  Thanks for you time on this.
73 Alan M0NNB

ahop...@googlemail.com

unread,
Oct 23, 2022, 8:34:50 AM10/23/22
to SparkSDR
A bit of a shot in the dark, but what happens if you only have the 3072k extio file in the directory?

Rinse Pasma

unread,
Oct 23, 2022, 8:51:12 AM10/23/22
to SparkSDR
that makes no difference

Op zondag 23 oktober 2022 om 14:34:50 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 11:34:41 AM10/23/22
to SparkSDR
Hi Rince,
I'd be very surprised if this https://www.sparksdr.com/download/SparkSDR.2.0.918.win64.zip fixes it but it does have a bit more logging to the terminal.  It fixes the case sensitivity and does start at a lower frequency.
73 Alan M0NNB

Rinse Pasma

unread,
Oct 23, 2022, 11:52:32 AM10/23/22
to SparkSDR
Hi Alan,

Just installed the new version, but it still doesn't solve the problem

Op zondag 23 oktober 2022 om 17:34:41 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 12:01:55 PM10/23/22
to SparkSDR
what is displayed in the debug console?

Rinse Pasma

unread,
Oct 23, 2022, 12:08:20 PM10/23/22
to SparkSDR
Hi Alan,

must soapy.dll  also be loaded I see this in the core log,
[2022-10-23 18:04:13.777] [sc] [error] soapy failed to load dll SoapySDR.dll

DEBUG CONSOLE,
starting
discover on drivers\SparkExtIOsource.exe
using gpu False
--Searching C:\Users\beheerder\Documents\SparkSDR\ExtIO_64bit
--
discover done on drivers\SparkExtIOsource.exe
discover on drivers\SparkExtIOsource_x86.exe
--Searching C:\Users\beheerder\Documents\SparkSDR\ExtIO_32bit
--
--
--
--trying ExtIO_elad_fdms2_3072k_v3_04.dll
--
--dll loaded
--
--FDM-S2 1 7
--
--@DISCOVERED ExtIO_elad_fdms2_3072k_v3_04.dll
--
--freed
--
discover done on drivers\SparkExtIOsource_x86.exe
start radio 0
0
start radio 2

start radio 3
comms thread
try running - drivers\SparkExtIOsource_x86.exe Run ExtIO_elad_fdms2_3072k_v3_04.dll
running - drivers\SparkExtIOsource_x86.exe Run ExtIO_elad_fdms2_3072k_v3_04.dll
radio ready
EXTIO running
start sent
StartHW
49152 StartedHW

Op zondag 23 oktober 2022 om 18:01:55 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 12:47:23 PM10/23/22
to SparkSDR
Hi Rinse,
It appears the extio callback is either not being called or called with something I don't expect, this may just fix it.

If it doesn't work it would be interesting as a sanity check to see if HDSDR works with the same extio dll

soapy is not needed and I will stop that being an error to save the log growing

73 Alan M0NNB

Rinse Pasma

unread,
Oct 23, 2022, 3:11:44 PM10/23/22
to SparkSDR
Hi Alan,

This version works :-) Thank you for your support

73 Rinse PD2RPS
Knipsel.JPG

Op zondag 23 oktober 2022 om 18:47:23 UTC+2 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Oct 23, 2022, 3:25:41 PM10/23/22
to SparkSDR
Hi Rinse,
brilliant, it appears the extio dll does not follow the spec fully, just enough to work with HDSDR. Hopefully this will increase the chance of other dlls working.  Thanks very much for your time on this, it is an interesting challenge debugging this stuff remotely but wildly inefficient compared to having the radio in front of me :)  Please feel free to mention any other issues you find.
Looking at the image you might want to tweak the smeter calibration to lift the signal a little to make some of the agc and squelch defaults work.
73 Alan M0NNB 
Reply all
Reply to author
Forward
0 new messages