PhantomSDR Support Forum

General Category => PhantomSDR Software => Topic started by: Bas ON5HB on Jun 22, 2025, 04:23 PM

Title: RX888MK2 via Soapy 32bit CF
Post by: Bas ON5HB on 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


Title: Re: RX888MK2 via Soapy 32bit CF
Post by: 9a7aof on 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
Title: Re: RX888MK2 via Soapy 32bit CF
Post by: Bas ON5HB on 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.
Title: Re: RX888MK2 via Soapy 32bit CF
Post by: Phil - NY4Q on Jun 24, 2025, 06:41 PM
I just looked and they are off on holiday until 09/07!
Title: Re: RX888MK2 via Soapy 32bit CF
Post by: Bas ON5HB on 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.
Title: Re: RX888MK2 via Soapy 32bit CF
Post by: Bas ON5HB on 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
Title: Re: RX888MK2 via Soapy 32bit CF
Post by: Bas ON5HB on Jun 26, 2025, 02:00 PM
I patched the Soapy RX888 driver to do 30MHz instead of 32MHz.

Works better with Phantom ;)
Title: Re: RX888MK2 via Soapy 32bit CF
Post by: Bas ON5HB on 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.