Linux taster

817 views
Skip to first unread message

Alan Hopper

unread,
Apr 7, 2018, 10:34:52 AM4/7/18
to SparkSDR
Hi Group,

I've had a go at running Spark on Linux and have had some success, this is using Avalonia for the display and the same c++ backend as the current 1.0 windows releases, multiple radios, receivers,virtual receivers work but loads of user interface is missing.  If I can get avalonia to do everything I want this will become the future direction for all platforms. Once I have the basic settings screens done I'll release a Linux alpha.
73 Alan M0NNB

Steve Haynal

unread,
Apr 8, 2018, 2:28:52 PM4/8/18
to SparkSDR
Hi Alan,

Great progress! I look forward to the Linux version.

73,

Steve
KF7O

gvj...@gmail.com

unread,
Apr 18, 2018, 2:42:08 PM4/18/18
to SparkSDR
Hi Alan,

Thanks for work you are doing on this. I have been looking forward to the day that you started the Linux development and am thrilled that it has arrived. I look forward to the first working release.

73, Graeme zl3apv

Freeman Pascal

unread,
Apr 24, 2018, 12:43:08 PM4/24/18
to SparkSDR
I'm really looking forward to this. Please make the Linux port available under github. I'd be happy to try contribute to the effort. I'll have a HL2.0b5 board available to test with once they are delivered, and I have a RedPitaya I can also test with.

-Freeman, N5FPP

Alan Hopper

unread,
Apr 26, 2018, 4:47:46 AM4/26/18
to SparkSDR
Hi Linux fans,

there is a very very alpha version here http://www.ihopper.org/radio/SparkSDR.avalonia.tar.gz this really is an experiment to see where it runs and to uncover basic Linux install issues. 

It is a rather large download as I have embedded .netcore into it to (see https://docs.microsoft.com/en-us/dotnet/core/deploying/ this is a self contained deployment).

You will need to install portaudio. I'm not aware anything else is needed but this really is not something I have much experience of.

I've only tested on an recent copy of mint which I did install a number of dev tools to.

SparkSDR.avalonia is the executable.

It currently only supports ssb and am modes.

Please let me know if it works and any install issues 

73 Alan M0NNB

Josh Logan

unread,
Apr 27, 2018, 12:50:24 AM4/27/18
to Alan Hopper, SparkSDR

Which hardware is supported?  I have a V1 board I could test with.

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/18aa4ad6-0191-431c-9627-54c0333d4826%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Steve Haynal

unread,
Apr 27, 2018, 1:04:56 AM4/27/18
to SparkSDR
Hi Alan,

It ran out of the box on my Linux Mint 18.3 machine. I didn't have to install any additional packages, but my system already has many packages installed. Are you planning to distribute as binary like this, or eventually source code?

Attached is a screenshot. Here are few things I noticed, which you probably already know.

* Some of the fonts didn't fit nicely in the widgets
* When switching from USB to AM, the volume goes way down, barely audible. Switching back to USB does not restore the output level. I have to slide the threshold up?
* With two receivers, the CPU load was pretty high, 200% when counting SparkSDR and audio.

Thanks for all the work! I look forward to skimming JT9/FT8/WSPR with it.

73,

Steve
KF7O
sparksdr.png

Alan Hopper

unread,
Apr 27, 2018, 2:10:54 AM4/27/18
to SparkSDR
Josh,
it should work with all Hermes Lites.
73 Alan M0NNB

Alan Hopper

unread,
Apr 27, 2018, 2:24:25 AM4/27/18
to SparkSDR
Steve,
that's good news that it runs somewhere else. I will release it as source code at some point. The c++ component (sparkcore.so) was built with no optimizations which might explain the cpu usage.


73 Alan M0NNB  

Heikki Ahola

unread,
Apr 27, 2018, 3:48:04 AM4/27/18
to SparkSDR
Steve,

Have You been happy with Linux Mint 18,3 with HL-hardware ? I am asking this because I struggled with various versions of Linux when trying to run my HL2  connected to my ACER laptop. I actually started with Linux Mint 18.3 but after several iterations drifted to Mint 17-version which seemed to install and work better. As I see it now, I was missing DHCP (as discussed previously) and the Linux version was not critical.

I have not tried Spark with Linux yet, all my experience is with QUISK.

73 de Heikki (OH2LZI) 

pascal.v...@gmail.com

unread,
Apr 27, 2018, 4:42:00 PM4/27/18
to SparkSDR


hi Alan;
It doesn't open on a XU4 odroid (ARM cpu) probably because avalonia needs a x86 or x64 cpu - Or may be I missed something to do after extracting ?
Pascal

John Marvin

unread,
Apr 27, 2018, 4:53:02 PM4/27/18
to spar...@googlegroups.com
It's 64 bit x64 code. It won't run on arm unless you run it under emulation, and I can't imagine a quasi realtime program like any SDR program would work very well under emulation without some significant horsepower.

Regards,

John
--
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.

Alan Hopper

unread,
Apr 28, 2018, 1:46:45 AM4/28/18
to SparkSDR
Hi John, Pascal,
sorry I should have said this initial release is x64 only.  I believe someone has avalonia running on a raspberry pi so it should be possible, once I have the basics working well on x64 I'll have a go.
73 Alan M0NNB

On Friday, April 27, 2018 at 9:53:02 PM UTC+1, John Marvin wrote:
It's 64 bit x64 code. It won't run on arm unless you run it under emulation, and I can't imagine a quasi realtime program like any SDR  program would work very well under emulation without some significant horsepower.

Regards,

John

Alan Hopper

unread,
Apr 28, 2018, 7:50:31 AM4/28/18
to SparkSDR
Hi Group,
I've replaced the file linked at the top of this thread with a new version. This has slightly better performance ( but there is still an issue here), it fixes the agc issues Steve found and now supports WSPR as long as you have WSJTX installed.
73 Alan M0NNB

Steve Haynal

unread,
Apr 28, 2018, 1:57:51 PM4/28/18
to SparkSDR
Hi Heikki,

Yes, I have been happy with Linux Mint 18.3 and HL hardware.

Most of the time when I use Linux Mint, it is on a computer connected to my home network. The DHCP server runs on my home router. It is not installed on my Linux Mint machine. This configuration, without a direct ethernet cable between the Linux machine and HL works best.

I suspect that you are trying to connect an ethernet cable directly from your laptop to HL hardware? In that case, a DHCP server on the laptop is an option but can require expertise to setup correctly. For the RaspberryPi screening tests, I have to run the DHCP on the RaspberryPi and it turned out that an out-of-the box DHCP server configuration did not work. I had to customize it. Most of the time when I connect HL hardware directly to a computer, I assign a fixed IP address to the computer and a fixed IP address to the HL in the same subnet. This works well but requires recompiling the HL firmware. That process is not too bad and you can take a look at that. For the next firmware release, I will try to remember to release a version with fixed IP also. That way, you just need to set the IP address of you computer to one in the same subnet.

73,

Steve
KF7O

Heikki Ahola

unread,
Apr 29, 2018, 12:39:40 AM4/29/18
to SparkSDR
Steve,

Tnx again for the info ! I also came up with the conclusion that a router is needed for the DHCP. It is actually no real problem since I have used old(ish) ADSL modems (100 Mb/s) for this purpose only. An option for direct cabling would be welcome, though. I will consider switching back to the Mint 18.3 (or newer when available) but alsothe version 17 seems to work OK.

73 de Heikki (OH2LZI) 

Josh Logan

unread,
May 1, 2018, 1:09:08 AM5/1/18
to SparkSDR

I did a clean install of Ubuntu 18.04 and this is the message I get when I try to start the program:

josh@Hobby-Ubuntu
:~/tmp/SparkSDR.avalonia$ ./SparkSDR.avalonia (SparkSDR.avalonia:16619): Gtk-CRITICAL **: 21:14:40.579: gtk_application_new: assertion 'application_id == NULL || g_application_id_is_valid (application_id)' failed Unhandled Exception: System.TypeInitializationException: The type initializer for 'radio.sparkCore' threw an exception. ---> System.ArgumentNullException: Value cannot be null. Parameter name: ptr at System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointer(IntPtr ptr, Type t) at radio.sparkCore.load_function[T](String name) at radio.sparkCore..cctor() --- End of inner exception stack trace --- at radio.sparkCore..ctor() at radio.wirelessModel..ctor() at SparkSDR.avalonia.Program.<>c.<Main>b__0_0() at Avalonia.Controls.AppBuilderBase`1.Start[TMainWindow](Func`1 dataContextProvider) at SparkSDR.avalonia.Program.Main(String[] args) Aborted (core dumped)
I see a missing library:
josh@Hobby-Ubuntu:~/tmp/SparkSDR.avalonia$ ldd sparkcore.so linux-vdso.so.1 (0x00007ffcc54d7000) libportaudio.so.2 => /usr/lib/x86_64-linux-gnu/libportaudio.so.2 (0x00007fc618f5a000) libboost_system.so.1.58.0 => not found libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc618d3b000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc6189ad000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc61860f000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc6183f7000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc618006000) /lib64/ld-linux-x86-64.so.2 (0x00007fc619817000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc617dfe000) libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007fc617af6000) libjack.so.0 => /usr/lib/x86_64-linux-gnu/libjack.so.0 (0x00007fc6178af000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc6176ab000)
My choices are: libboost-system1.62.0 libboost-system1.65.1

I also see this library missing:
libcoreclrtraceptprovider.so linux-vdso.so.1 (0x00007ffe30391000) liblttng-ust.so.0 => not found libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6810e51000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6810ab3000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f681089b000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f68104aa000) /lib64/ld-linux-x86-64.so.2 (0x00007f681147e000)
Which was fixed with:
sudo apt-get install liblttng-ust0

I symlinked the boost library:
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0

That let the program start. Two things I immediately saw/noticed.
The first thing was if the 2nd receiver had AM selected as the mode it caused problems for both receivers. Lots of noise and a tone.
The second was there was no indicator where the audio passband was located. I just had to tune the waterfall by hand, no click to tune, and no indicator if I was putting the station into the audio passband.

Favorites also did not open up a window with different selections.

Please let me know if there is anything you would like to to try.

73, Josh
KD7HGL

Alan Hopper

unread,
May 1, 2018, 2:43:36 AM5/1/18
to SparkSDR
Hi Josh,
thanks for the report.  I'll have to look into the best way to deal with the boost dependency, I thought I'd linked it with a more recent version but the linker obviously found the one installed by mint.  I'll investigate the am problem, it may be the way I use multiple instances of portaudio devices, the docs warn this might not work on all platforms, I have some code half done to share devices between receivers(already done for audio input). You could see if using a different audio device for each receiver helps.

I'm afraid the display and interaction are very rough at the moment, this is really just a proof of concept, the display, performance and jt9/ft8 are top of my list.

73 Alan M0NNB

Alan Hopper

unread,
May 14, 2018, 3:16:03 PM5/14/18
to SparkSDR
Hi list,
This is still very basic but fixes a few bugs and has initial FT8 support.  I doubt it is useful for real communications but may work well enough for skimming.

Log files and settings are stored in home/.config/m0nnb/sparksdr (on mint anyway).
Some logging goes to the console so it may be work running from the command line if you have problems.

73 Alan M0NNB

Alan Hopper

unread,
May 23, 2018, 4:03:32 PM5/23/18
to SparkSDR
Hi Group,
 I'm just trying to decide where to focus my effort on the linux version and am open to suggestions.  What platforms do people want to use it on? What features are most important?
73 Alan M0NNB   

Graeme Jury

unread,
May 23, 2018, 5:47:38 PM5/23/18
to spar...@googlegroups.com
Hello Alan,

In my case I am using Linux Mint which is a pretty good all round system without much learning curve. Most drivers and software have an Ubuntu/Debian binary which runs fine on Mint. My criticism is that a lot of binaries are not the most recent version e.g. Quisk whereas distro's like Arch are usually right up there but installation and maintenance time is high. I would recommend Mint as the binaries necessary for the job are easy to upgrade via ppa's.

73, Graeme zl2apv
--
You received this message because you are subscribed to a topic in the Google Groups "SparkSDR" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sparksdr/Dzu9oegafII/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sparksdr+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sparksdr/8204394a-744c-4575-b2c8-300bbde0d35b%40googlegroups.com.

gvj...@gmail.com

unread,
May 23, 2018, 7:14:42 PM5/23/18
to SparkSDR
Hello Alan,

As I have indicated I am very much interested in your Linux development  but am a bit hampered by only having an HL1. I hope that I will be part of the next group buy for an HL2 and will be able to participate fully in the SparkSDR testing. This message is to let you know that although I can't do much right now as soon as I can I will be an enthusiastic tester for you.

73, Graeme zl2apv

John Williams

unread,
May 23, 2018, 7:20:49 PM5/23/18
to gvj...@gmail.com, SparkSDR
Agree. Easiest to use on slower hardware that a ham is likely to repurpose for a project. Also a binary for raspian, maybe. Buildable source is best for Linux support but then you cross into the whole open source thing.

John

--
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.

John Marvin

unread,
May 23, 2018, 7:23:23 PM5/23/18
to spar...@googlegroups.com
Alan,

If you plan to keep supporting SparkSDR on Linux in the long term on multiple platforms, I would highly recommend installing and learning how to use Docker. Docker is the top "Linux container" system, with a lot of support from the various distributions via DockerHub. It uses the native Linux kernel of your machine (although you may need to reconfigure it to support the features that Docker needs). Docker would let you install Linux Mint, Ubuntu, Debian, Arch, Centos, etc. containers on your system. Typically the base install within each container is very minimal, so you would need to install the extra packages required to run an X client (but not an X server, SparkSDR running within a container can talk to the non containerized X server you are running on your native OS. Once you know what you are doing you can easily install current and perhaps 1-2 year old versions of various popular distributions on your Linux machine and then easily test SparkSDR in those environments.

It is also worth investigating what packages SparkSDR needs, and determine why for each one. In some cases you may find that SparkSDR has a dependency on something just because you chose to do something a certain way, and there might be a simple alternative that removes that dependency.  The more dependencies you get rid of, the less likely a package with change it's major rev and cause a dependency issue with your software.  Another strategy, if you have a dependency on a package that is known for changing major revision number often, you can ship a shared library version of that package with your software (depends on licensing for that package), therefore removing the requirement that an old version of that package exists on the users machine. This strategy has some drawbacks (e.g. a security update for a package wouldn't update the package you are shipping, but then most likely hackers are not going to see SparkSDR as a significant vector for gaining access to peoples machines!).

Note to SparkSDR users, if you can't get SparkSDR to run on your old distribution, or even a new distribution, you do have the option of installing Docker yourself and creating a SparkSDR specific container to run SparkSDR. It's going to certainly take some extra space on your machine, but since SparkSDR would still be running natively you won't be paying any performance penalties, which can be an issue with SDR software.

73,
John
AC0ZG
--
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.

Jack Generaux

unread,
May 24, 2018, 11:34:09 AM5/24/18
to SparkSDR
Just loaded on Mint 18.3 -- ran immediately.  Clicking a couple time on the FT8 'Call CQ' into dummy load produced full output.

Great Promise.
Thanks,
Jack (W0FNQ)

SparkSDRMint18.3.jpg

Alan Hopper

unread,
May 24, 2018, 11:38:39 AM5/24/18
to SparkSDR
Hi John,
this is all a bit of a learning curve for me, I've written plenty of linux code in the past but always for use in controlled environments so I don't have experience of distributing code and what is normal.   The plan is to make it open source, but even then I'd like it to be as simple as possible. The stumbling block at the moment seems to be boost.system that is used by boost.asio that I use for network communications. I could try to statically link it or ship a version, how would this normally be done?
73 Alan M0NNB
To unsubscribe from this group and stop receiving emails from it, send an email to sparksdr+unsubscribe@googlegroups.com.

Alan Hopper

unread,
May 24, 2018, 11:54:39 AM5/24/18
to SparkSDR
Jack,
thanks, I'm intrigued by the screenshot, was the top of the title bar really cut off like that and did you have the black blocks as the bottom?
73 Alan M0NNB

Alan Hopper

unread,
May 25, 2018, 7:18:34 AM5/25/18
to SparkSDR
Hi Group,
there is a new version of sparkcore.so here http://www.ihopper.org/radio/sparkcore.so.tar.gz which now has the boost dependency statically linked so hopefully will work in more places.  It can just be copied over the version in http://www.ihopper.org/radio/SparkSDR.avalonia-0.0.3.tar.gz 
73 Alan M0NNB

Alan Hopper

unread,
May 25, 2018, 8:50:14 AM5/25/18
to SparkSDR
Hi Group,
I've added a page to the website http://www.ihopper.org/radio/sparksdr-avalonia.htm so as to have a central place to get latest versions, I have also added a basic help file there as it is not in the program yet.
73 Alan M0NNB

Tony Fuge

unread,
May 25, 2018, 9:22:14 AM5/25/18
to SparkSDR
Hi, I am using Mint 18.3 and had the same screen as Jack’s, also note the tuning line is missing. This caused me some confusion initially, I usually use Quisk with my HL2 and think that the SparkSDR gives a slightly better noise reduction and bandwidth control but the use is a little clunky at present.
I have been running Linux and SDR applications for more than a decade so have seen many developments and changes over this time, I look forward to witnessing improvements on SparkSDR now that you will commit some more time to its Linux base.

73,
Tony
G4DEU

Alan Hopper

unread,
May 25, 2018, 10:23:21 AM5/25/18
to SparkSDR
Hi Tony,
so do you see the odd black blocks and lines at the bottom and the cut off title bar that are on Jack's picture? Jack reported that he thought they only appeared in the screen shot, I've never seen them. The display is very crude at the moment whilst I investigate the best way to draw efficiently in Avalonia so there is no tuning line or scale etc.
73 Alan M0NNB

Tony Fuge

unread,
May 26, 2018, 7:57:38 AM5/26/18
to SparkSDR
Hi Alan,
No I don't see the black boxes, I have attached a screen shot for reference.
My computer has many of the Ham lib and associated applications loaded, I didn't see any terminal issues when running the SparkSDR application.

When I have confirm the filter configuration I will check the transmit function.

Let me know if you require any other information or testing.
73 Tony G4DEU
Screenshot from 2018-05-26 12-52-09.png

Alan Hopper

unread,
May 29, 2018, 11:23:49 AM5/29/18
to SparkSDR
Hi group,
there is a version 0.0.4 here http://www.ihopper.org/radio/sparksdr-avalonia.htm this has favourites and help enabled, mouse interaction with the panadapter and variable persistence on the panadapter. boost is statically linked so the patch or symlink are no longer needed.  Some of the dialogs are a little slow on first use, this is an Avalonia issue that should improve in time, the same thing causes the pause at the end of a FT8 time slot.

73 Alan M0NNB

Steve Haynal

unread,
Jun 4, 2018, 12:11:36 AM6/4/18
to SparkSDR
Hi Alan,

This seems to work on USB for me, but when I select a FT8 or WSPR from the favorites, I see this crash:

Unhandled Exception: System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length
   at System.String.Substring(Int32 startIndex, Int32 length)
   at radio.FT8ModDemod.setup()
   at radio.vtrx.set_modulation(String value)
   at Avalonia.Controls.Button.OnClick()
   at Avalonia.Controls.Button.OnPointerReleased(PointerReleasedEventArgs e)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Avalonia.Interactivity.RoutedEvent.<>c__DisplayClass25_0.<AddClassHandler>b__0(Tuple`2 args)
   at Avalonia.Interactivity.Interactive.RaiseEventImpl(RoutedEventArgs e)
   at Avalonia.Interactivity.Interactive.BubbleEvent(RoutedEventArgs e)
   at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e)
   at Avalonia.Input.MouseDevice.MouseUp(IMouseDevice device, IInputRoot root, Point p, MouseButton button, InputModifiers inputModifiers)
   at Avalonia.Input.MouseDevice.ProcessRawEvent(RawMouseEventArgs e)
   at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs e)
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority)
   at Avalonia.Gtk3.Gtk3Platform.<>c__DisplayClass28_0.<Signal>b__0()
   at Avalonia.Gtk3.Interop.GlibTimeout.Handler(IntPtr data)
   at Avalonia.Gtk3.Gtk3Platform.RunLoop(CancellationToken cancellationToken)
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
   at SparkSDR.avalonia.Program.Main(String[] args)
SparkCore Init doneasio runner thread started None  1None  0default  1asyncUdpServer connected speaker buffer reset 0  21563default  0None  1Aborted

73,

Steve
KF7O

Alan Hopper

unread,
Jun 4, 2018, 2:26:39 AM6/4/18
to SparkSDR
Hi Steve,
Have you entered your callsign and locator in the settings, if not that would explain the error, I'll put some checks in.
73 Alan M0NNB

Steve Haynal

unread,
Jun 4, 2018, 11:10:25 AM6/4/18
to SparkSDR
Hi Alan,

Thanks. That fixed that problem. I don't see any decodes for FT8. Wsjtx is installed in the standard place, /usr/bin. Is that where SparkSDR expects it under Linux? Also, my wsjtx is configured to use hamlib to talk to Quisk. If Quisk is not running, then there is an error and wsjtx will stop. Does SparkSDR use the executable or some libraries? 

73,

Steve
KF7O

Alan Hopper

unread,
Jun 4, 2018, 11:37:10 AM6/4/18
to SparkSDR
Hi Steve,
your wsjtx location should be ok, it only uses the jt9 executable so should not be affected by your settings,  does anything show up in the log?  You should see temp files appear in ~./config/m0nnb/sparksdr/ft8/ if it is working.  I have not tried the new 1.9 release yet.
73 Alan M0NNB

Rick Koch

unread,
Jun 4, 2018, 3:36:35 PM6/4/18
to SparkSDR
Hi Alan,

Congrats on all the development progress with SparkSDR, and now cross platform!

I just gave it a whirl on my Ubuntu 16.04 AMD64 and both the latest (.004) and previous give me the
error below (my apologies if I missed some instructions):

$ ./SparkSDR.avalonia 

Unhandled Exception: Avalonia.Gtk3.Interop.NativeException: Exception of type 'Avalonia.Gtk3.Interop.NativeException' was thrown.
   at Avalonia.Gtk3.Interop.UnixLoader.GetProcAddress(IntPtr dll, String proc, Boolean optional)
   at Avalonia.Gtk3.Interop.Resolver.Resolve(String basePath)
   at Avalonia.Gtk3.Gtk3Platform.Initialize()
   at Avalonia.Controls.AppBuilderBase`1.Setup()
   at Avalonia.Controls.AppBuilderBase`1.Start[TMainWindow](Func`1 dataContextProvider)
   at SparkSDR.avalonia.Program.Main(String[] args)
Aborted (core dumped)


-Rick / N1GP

Alan Hopper

unread,
Jun 4, 2018, 4:02:38 PM6/4/18
to SparkSDR
Rick,
thanks, I doubt you have missed any instructions ( as there aren't any :)). I'm afraid my Linux support skills are sadly lacking. Maybe you don't have Gtk 3 installed, I've posted this to the Avalonia gitter to see if it is a known issue.
73 Alan M0NNB

Rick Koch

unread,
Jun 4, 2018, 5:00:03 PM6/4/18
to SparkSDR
Ala,

Tnx for the update. I believe I have Gtk 3 installed. Maybe things are expected to be in a different location?
Hopefully your post to gitter will provide some responses. Here's my gtk3 installation info:

$ dpkg -l | grep gtk3
ii  gtk3-engines-unico:amd64                              1.0.3+14.04.20140109-0ubuntu1                       amd64        Unico Gtk+ 3 theme engine
ii  ibus-gtk3:amd64                                       1.5.5-1ubuntu3.2                                    amd64        Intelligent Input Bus - GTK+3 support
ii  libcanberra-gtk3-0:amd64                              0.30-0ubuntu3                                       amd64        GTK+ 3.0 helper for playing widget event sounds with libcanberra
ii  libcanberra-gtk3-module:amd64                         0.30-0ubuntu3                                       amd64        translates GTK3 widgets signals to event sounds
ii  libdbusmenu-gtk3-4:amd64                              12.10.3+14.04.20140612-0ubuntu1                     amd64        library for passing menus over DBus - GTK+ version
ii  libunity-gtk3-parser0:amd64                           0.0.0+14.04.20141212-0ubuntu1                       amd64        GtkMenuShell to GMenuModel parser
ii  overlay-scrollbar-gtk3:amd64                          0.2.16+r359+14.04.20131129-0ubuntu1                 amd64        GTK 3 module for overlay scrollbars
ii  python-aptdaemon.gtk3widgets                          1.1.1-1ubuntu5.2                                    all          Python 2 GTK+ 3 widgets to run an aptdaemon client
ii  python3-aptdaemon.gtk3widgets                         1.1.1-1ubuntu5.2                                    all          Python 3 GTK+ 3 widgets to run an aptdaemon client
ii  unity-gtk3-module:amd64

$ dpkg -l | grep gtk-3
ii  gir1.2-gtk-3.0                                        3.10.8-0ubuntu1.6                                   amd64        GTK+ graphical user interface library -- gir bindings
ii  gir1.2-javascriptcoregtk-3.0                          2.4.10-0ubuntu0.14.04.1                             amd64        JavaScript engine library from WebKitGTK+ - GObject introspection data
ii  libgtk-3-0:amd64                                      3.10.8-0ubuntu1.6                                   amd64        GTK+ graphical user interface library
ii  libgtk-3-bin                                          3.10.8-0ubuntu1.6                                   amd64        programs for the GTK+ graphical user interface library
ii  libgtk-3-common                                       3.10.8-0ubuntu1.6                                   all          common files for the GTK+ graphical user interface library
ii  libgtk-3-dev                                          3.10.8-0ubuntu1.6                                   amd64        development files for the GTK+ library
ii  libjavascriptcoregtk-3.0-0:amd64                      2.4.10-0ubuntu0.14.04.1                             amd64        JavaScript engine library from WebKitGTK+
ii  libswt-cairo-gtk-3-jni                                3.8.2-3                                             amd64        Standard Widget Toolkit for GTK+ Cairo JNI library
ii  libswt-glx-gtk-3-jni                                  3.8.2-3                                             amd64        Standard Widget Toolkit for GTK+ GLX JNI library
ii  libswt-gnome-gtk-3-jni                                3.8.2-3                                             amd64        Standard Widget Toolkit for GTK+ GNOME JNI library
ii  libswt-gtk-3-java                                     3.8.2-3                                             amd64        Standard Widget Toolkit for GTK+ Java library
ii  libswt-gtk-3-jni                                      3.8.2-3                                             amd64        Standard Widget Toolkit for GTK+ JNI library
ii  libswt-webkit-gtk-3-jni                               3.8.2-3                                             amd64        Standard Widget Toolkit for GTK+ WebKit JNI library
ii  libwebkit2gtk-3.0-25:amd64                            2.4.10-0ubuntu0.14.04.1                             amd64        WebKit2 API layer for WebKitGTK+
ii  libwebkitgtk-3.0-0:amd64                              2.4.10-0ubuntu0.14.04.1                             amd64        Web content engine library for GTK+
ii  libwebkitgtk-3.0-common                               2.4.10-0ubuntu0.14.04.1                             all          Web content engine library for GTK+ - data files


Alan Hopper

unread,
Jun 5, 2018, 2:08:25 AM6/5/18
to SparkSDR
Hi Rick,
the suggestion from the  Avalonia gitter is that a more recent version of Gtk3 maybe required.
73 Alan M0NNB

Rick Koch

unread,
Jun 5, 2018, 6:10:13 PM6/5/18
to SparkSDR
Alan,

Updating GTK3 did the trick, Thank-you!

I'll now give it a test and will report back.

Best 73's

-Rick / N1GP

Steve Haynal

unread,
Jun 6, 2018, 1:31:23 AM6/6/18
to SparkSDR
Hi Alan,

I see the below in the logs. SparkSDR on Windows is working very well. I am currently testing a firmware with 4 receivers and my underpowered Liva PC seems to be doing okay.

73,

Steve
KF7O
 



6/4/18 8:53:57 AM v1.0 beta 7
ft8 decode
No such file or directory
System.Diagnostics.Process
Void ForkAndExecProcess(System.String, System.String[], System.String[], System.String, Boolean, Boolean, Boolean, Int32 ByRef, Int32 ByRef, Int32 ByRef, Int32 ByRef)
   at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at radio.FT8ModDemod.decode(String filename)

Alan Hopper

unread,
Jun 6, 2018, 4:30:27 AM6/6/18
to SparkSDR
Steve,
I appear to have broken ft8 in the 0.0.4 release. It is fixed in 0.0.5 here http://www.ihopper.org/radio/sparksdr-avalonia.htm .
73 Alan M0NNB

Steve Haynal

unread,
Jun 11, 2018, 2:09:17 AM6/11/18
to SparkSDR
Hi Alan,

This version is now working with FT8 decode for me. Is the path to jt9 hard coded to /usr/bin? My install is in /usr/loca/bin and I had to make some symbolic links to make it work even though jt9 is in my path.

Everything works fine for multiband provided I have the same mode selected for each band. If I try to mix modes and have several virtual receivers on 1 band, for example WSPR and FT8 on 20M, then SparkSDR hangs. I don't see anything in the logs. It happens for FT8 and USB too.

73,

Steve
KF7O

Alan Hopper

unread,
Jun 12, 2018, 2:26:32 PM6/12/18
to SparkSDR
Hi Steve,
yep the path is hard coded, I should probably just rely on the path being set.  I don't see your issue with mixed modes here, I'm trying to improve the logging to capture your issue, if you run from a command prompt do you see any errors there at the point it hangs? Does it shutdown or just freeze?
73
Alan M0NNB  

Jack Generaux

unread,
Jun 28, 2018, 7:14:02 PM6/28/18
to SparkSDR
For grins I have been trying to bring up SparkSDR.Avalonia in a VirtualBox running under OS-X High Sierra.  I used macports to install various prerequisite programs mainly to try and get quisk up. No luck with SparkSDR -- only a blank screen with the circle arrow, cog, and ?.  I have installed dotnet independently to see if that would help but no.  Log file gives some NTPD errors but that does seem relevant.  Is there a toggle to dump more debug info?  Or other ideas on tracing the problem?   I brought my macbook along on a trip thinking it would be a snap to get Quisk or something else running under the VirtualBox -- Best laid plans gang aft agley.

73,
Jack (W0FNQ)

Alan Hopper

unread,
Jun 29, 2018, 1:06:49 AM6/29/18
to SparkSDR
Jack,
that sounds like a networking issue preventing discovery working, can you access your network from the virtual box?  In the long term this should run directly on mac, I borrowed an old mac to try but unfortunately it is one model too old to run dotnet core.
73 Alan M0NNB

Jack Generaux

unread,
Jun 29, 2018, 11:36:30 AM6/29/18
to SparkSDR
Alan that was at least part of the issue.  I set the Adapter to a local-link and now see something (see attached.)
Screen Shot 2018-06-29 at 9.19.07 AM.png

Alan Hopper

unread,
Jun 29, 2018, 12:06:18 PM6/29/18
to SparkSDR
Hi Jack,
I'm not sure what to suggest, the fact it says 'false' in the receiver summary is odd, I have seen this a few times as I have a broken track pad that creates multiple fast clicks and causes a race situation. Does it do this repeatedly? Maybe the discovery gets through but not the direct comms.

73 Alan M0NNB

Jack Generaux

unread,
Jun 29, 2018, 12:15:13 PM6/29/18
to SparkSDR
I will play some more with wireshark to see if I can learn anyhting.  Thanks -- this is just a "for grins" exercise at this time.  I have lots of other options that work for the HL2/SparkSDR config at home.  I like the mac for trips so eventually want to get something together for it.

73,
Jack

Jack Generaux

unread,
Jun 29, 2018, 4:32:17 PM6/29/18
to SparkSDR
I got it to work by giving the computer the address of 169.254.19.222.  The display is a bit jumpy but it is decoding FT8.
j
Screen Shot 2018-06-29 at 2.29.49 PM.png
Reply all
Reply to author
Forward
0 new messages