The community websdr-plus-github can be found here: https://github.com/ny4qphil/PhantomSDR-Plus ..it is compatible with the normal version, but enhanced.

Recent posts

#41
PhantomSDR Software / Re: RX888MK2 via Soapy 32bit C...
Last post by Bas ON5HB - Jun 26, 2025, 04:32 PM
I did notice that Soapy uses about 80% CPU in top, where rx888_stream only uses 20%.

That is a major difference.
#42
PhantomSDR Software / Re: RX888MK2 via Soapy 32bit C...
Last post by Bas ON5HB - Jun 26, 2025, 02:00 PM
I patched the Soapy RX888 driver to do 30MHz instead of 32MHz.

Works better with Phantom ;)
#43
PhantomSDR Software / Re: RX888MK2 via Soapy 32bit C...
Last post by Bas ON5HB - Jun 25, 2025, 03:29 PM
BTW, I forgot something, startup needs to be bit different.

It has to start with:

#!/bin/bash
SoapySDRUtil --probe='SDDC'

Else the firmware isn't loaded ;D
#44
PhantomSDR Software / Re: RX888MK2 via Soapy 32bit C...
Last post by Bas ON5HB - Jun 25, 2025, 02:42 PM
I had a dream!

https://www.amazon.com/CableCreation-Thunderbolt-MacBook-External-Docking/dp/B0D734BWYV

It may do the trick...as I tested a normal USB printer cacle and it was seen but not marked as USB 3.x

However, USB-C may turn off at a reboot....if it does, the problem is solved.
#45
PhantomSDR Software / Re: RX888MK2 via Soapy 32bit C...
Last post by Phil - NY4Q - Jun 24, 2025, 06:41 PM
I just looked and they are off on holiday until 09/07!
#46
PhantomSDR Software / Re: RX888MK2 via Soapy 32bit C...
Last post by Bas ON5HB - Jun 24, 2025, 04:25 PM
Did anybody see this?

https://www.yepkit.com/products/ykush

It's a remote USB power on/off switch, 3 ports and can be controlled via Linux.
#47
PhantomSDR Software / Re: RX888MK2 via Soapy 32bit C...
Last post by 9a7aof - Jun 23, 2025, 03:16 PM
Hi,

this works for me too!

 I have a small problem that my computer does not have hardware acceleration.
With a bandwidth of 32 MHz it hiccupes, with 22 MHz it hiccupes, with 16MHz it works fine.
When (if) I get a better computer, I'll be able to play around with this option in more detail.

My config-soap-rx888mk2.toml
[server]
port=8905 # Server port
html_root="frontend/dist/" # HTML files to be hosted
otherusers=1 # Send where other users are listening, 0 to disable
#threads=2

[websdr]
register_online=false #true # If the SDR should be registered on https://sdr-list.xyz then put it to true
name="9A7AOF Test Websdr" # Name that is shown on https://sdr-list.xyz
antenna="Fan Dipole" # Antenna that is shown on https://sdr-list.xyz
grid_locator="JN86da" # 4 or 6 length Grid Locatlr shown on https://sdr-list.xyz and for the Distance of FT8 Signals
hostname="http://9a7aof.ddns.net" # If you use ddns or something to host with a domain enter it here for https://sdr-list.xyz

[limits]
#audio=100
#waterfall=100
#events=100

[input]
sps=32000000
#sps=44000000 #
#sps=64000000 # Input Sample Rate
fft_size=8388608
#fft_size=16777216
#fft_threads=2
#fft_size=524288
#fft_size=1048576
brightness_offset=-2 # Waterfall brightness offset. Reduce to negative if you see black regions in the waterfall
frequency=0 # Baseband frequency
signal="real" # real or iq
accelerator="none" # Accelerator: none, cuda, opencl, mkl
audio_sps=12000 # Audio Sample Rate
audio_compression="flac" # flac or opus
#waterfall_size=1024
waterfall_compression="zstd" # zstd or av1
smeter_offset=10 #4

[input.driver]
name="stdin" # Driver name
#format="f32" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64
format="f32" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64

[input.defaults]
frequency=3675000 # Default frequency to show user
modulation="LSB" # Default modulation

and

start-soap-rx888mk2.sh
#!/bin/bash
cd /home/websdr/PhantomSDR-Plus/

killall -s 9 spectrumserver
killall -s 9 rx_sdr

# Turn USB powersaving off
echo on | sudo tee /sys/bus/usb/devices/*/power/control > /dev/null

RUST_BACKTRACE=1

##./rx888_stream/target/release/rx888_stream -f ./rx888_stream/SDDC_FX3.img -s 60000000 -g 30 -m high -o - > fifo.fifo &

#HF
rx_sdr -f 0 -s 16000000 -d driver=SDDC -g 30 -I CF32 -F CF32 - > fifo.fifo &
#rx_sdr -f 0 -s 22000000 -d driver=SDDC -g 30 -I CF32 -F CF32 - > fifo.fifo &
#rx_sdr -f 0 -s 22000000 -d driver=SDDC -g 30 -I CF32 -F CF32 - | ./build/spectrumserver --config config-soap-rx888mk2.toml
#rx_sdr -f 0 -s 32000000 -d driver=SDDC -g 30 -I CF32 -F CF32 - > fifo.fifo &



#HF
./build/spectrumserver --config config-soapy-rx888mk2.toml < fifo.fifo &

exit

Thanks Bas!

Darko, 9a7aof
#48
PhantomSDR Software / RX888MK2 via Soapy 32bit CF
Last post by Bas ON5HB - Jun 22, 2025, 04:23 PM
Hi all,

After weeks of searching, I have the RX888MK2 running via Soapy.

The Soapydriver is here, just clone it / mkdir build / cmake .. / make / make install

I cloned the GIT so we know this version works:

git clone https://github.com/ON5HB/RX888MK2-Soapy
Now a problem with the firmware, it won't find it....so create a directory called:

mkdir /opt/Cypress/cyfx3sdk
And copy the SDDC_FX3.img file in it, so Soapy can find the firmware.

The TOML to work with it:

[server]
port=81 # Server port
html_root="frontend/dist/" # HTML files to be hosted
otherusers=1 # Send where other users are listening, 0 to disable
#threads=2

[websdr]
register_online=true # If the SDR should be registered on https://sdr-list.xyz then put it to true
name="Heppen Test Websdr" # Name that is shown on https://sdr-list.xyz
antenna="G5RV Dipole" # Antenna that is shown on https://sdr-list.xyz
grid_locator="JO21oc" # 4 or 6 length Grid Locatlr shown on https://sdr-list.xyz and for the Distance of FT8 Signals
hostname="http://websdr.heppen.be" # If you use ddns or something to host with a domain enter it here for https://sdr-list.xyz

[limits]
audio=100
waterfall=100
events=100

[input]
sps=64000000 # Input Sample Rate
#fft_size=8388608
#fft_size=16777216
#fft_threads=2
#fft_size=524288
fft_size=1048576
brightness_offset=-2 # Waterfall brightness offset. Reduce to negative if you see black regions in the waterfall
frequency=0 # Baseband frequency
signal="real" # real or iq
accelerator="opencl" # Accelerator: none, cuda, opencl, mkl
audio_sps=12000 # Audio Sample Rate
audio_compression="flac" # flac or opus
waterfall_size=1024
#waterfall_compression="zstd" # zstd or av1
smeter_offset=4

[input.driver]
name="stdin" # Driver name
format="f32" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64

[input.defaults]
frequency=3630000 # Default frequency to show user
modulation="LSB" # Default modulation

And last the start-script....well, it shows you how to do it ;)

#!/bin/bash
cd /opt/PhantomSDR-Plus/

killall -s 9 spectrumserver
killall -s 9 rx_sdr

# Turn USB powersaving off
echo on | sudo tee /sys/bus/usb/devices/*/power/control > /dev/null

RUST_BACKTRACE=1

##./rx888_stream/target/release/rx888_stream -f ./rx888_stream/SDDC_FX3.img -s 60000000 -g 30 -m high -o - > fifo.fifo &

#HF
rx_sdr -f 0 -s 32000000 -d driver=SDDC -g 30 -I CF32 -F CF32 - > fifo.fifo &

#VHF
#rx_sdr -f 110000000 -s 32000000 -a VHF -d driver=SDDC -g 30 -I CF32 -F CF32 - > fifo.fifo &

#HF
./build/spectrumserver --config config-rx888mk2-soapy.toml < fifo.fifo &

#VHF
#./build/spectrumserver --config config-rx888mk2-soapy-vhf.toml < fifo.fifo &

exit

As you can see, I tested VHF but can't get it working yet.

I did notice that a reboot will let the RX888MK2 in running state and as such Soapy can't find it again. Have to sort this out.

But this is the progress on Soapy, as via Soapy it's easy to run multiple receivers and versions of Phantom.

When it runs it should look like this:

root@Intel-Test:/opt/PhantomSDR-Plus# ./start-rx888mk2.sh
rx_sdr: geen proces gevonden
root@Intel-Test:/opt/PhantomSDR-Plus#
 __                   __ __  __     
|__)|_  _  _ |_ _  _ (_ |  \|__) _|_
|   | )(_|| )|_(_)|||__)|__/| \   | 
                                     
Thank you for using PhantomSDR+, you are supporting the Development of an Open-Source WebSDR Project ♥
Using OpenCL
Using device RX888 mkII: index=-1 origin=https://github.com/ik1xpv/ExtIO_sddc
Found 1 channel(s) :
Channel 0 :
  Found 2 antenna(s): HF VHF
  Found 2 gain(s): RF IF
  Found 1 frequencies: RF
  Found 6 sample rates: 2000000 4000000 8000000 16000000 32000000 (beware this is halve of Phantom!)
  Found 0 bandwidths:
Using output format: CF32 (input format CF32, 8 bytes per element)
Sampling at 32000000 S/s.
Tuned to 0 Hz.
Using OpenCL platform: Intel(R) OpenCL HD Graphics
Using OpenCL device: Intel(R) HD Graphics 530 [0x1912]
Markers updated.
Tuner gain set to 30.00 dB.
[INFO] Using format CF32.
Reading samples in sync mode...
Waterfall is sent every 12 FFTs
OOOO


#49
PhantomSDR Bugs / Coredumps and crash.
Last post by Bas ON5HB - Jun 22, 2025, 11:28 AM
Well I ran out of memory and it crashed with a core-dump.

It seemed to have happened after this message:

jun 22 00:11:56 Websdr start-websdr.sh[1824032]: terminate called after throwing an instance of 'std::bad_alloc'
jun 22 00:11:56 Websdr start-websdr.sh[1824032]:  what():  std::bad_alloc

But at the same time systemd-coredump service started acting up and took a very long time to finish.

I'm not certain if it was caused by the core-dumping itself, but it looks like it.

So I decided to remove core-dumping....and here is shown how to do it.

https://linux-audit.com/software/understand-and-configure-core-dumps-work-on-linux/

and here:

https://www.cyberciti.biz/faq/linux-disable-core-dumps/

It seems not usefull other then for Linux developers.

Also added to /etc/sysctl.conf

kernel.perf_cpu_time_max_percent=0
net.core.netdev_max_backlog=8192
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_keepalive_time=300
net.ipv4.tcp_keepalive_probes=4

To make TCP-connection not last too long, as they typical last 7200 seconds, kind of much for an websdr.
And stopped the kernel from throttling.
#50
PhantomSDR Software / Re: cant move the bandwidth of...
Last post by Bas ON5HB - Jun 21, 2025, 09:07 PM
Why not post the starting lines and the toml?

We have no clue what you are doing, or trying.
Powered by EzPortal