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

Version 3.1.0 released

Started by Emmanuel SV1BTL, Apr 07, 2026, 07:21 AM

Previous topic - Next topic

Emmanuel SV1BTL

Let us try to reinstall manually:

sudo apt update
sudo apt install -y \
    build-essential cmake git \
    python3 python3-pip \
    nodejs npm \
    aplay alsa-utils

Python packages:    
pip3 install websockets matplotlib torch numpy scipy

Verify Python packages:
python3 -c "import websockets, matplotlib, torch, numpy, scipy; print('All OK')"

Clone and Build the radae Repository (delete the previous ~radae -> rm -rf radae):
sudo apt install build-essential cmake git python3-pip
git clone https://github.com/drowe67/radae.git ~/radae
cd ~/radae
mkdir build && cd build
cmake ..
make -j$(nproc)

Verify lpcnet_demo was built:
ls -la ~/radae/build/src/lpcnet_demo

Verify model19_check3 weights are present (this is the correct model):
ls ~/radae/model19_check3/checkpoints/checkpoint_epoch_100.pth

Install Python Dependencies:
pip3 install websockets matplotlib torch numpy
pip3 install scipy

Verify the Decode Pipeline:
cd ~/radae
./inference.sh model19_check3/checkpoints/checkpoint_epoch_100.pth \
    wav/brian_g8sez.wav /dev/null \
    --rate_Fs --pilots --pilot_eq --eq_ls --cp 0.004 \
    --write_rx rx.f32 --auxdata
 
Wait for it to finish. It prints stats ending with:
loss: 0.741 Auxdata BER: 0.012

Then decode and play:
cat rx.f32 \
    | python3 radae_rxe.py --model_name model19_check3/checkpoints/checkpoint_epoch_100.pth \
    | ./build/src/lpcnet_demo -fargan-synthesis - - \
    | aplay -f S16_LE -r 16000


You should hear a voice. The output shows sync acquisition. The `underrun!!!` messages during this offline test are expected:
  1 state: search     ...
  5 state: sync       ... SNRdB:  4.03 uw_err: 0
Playing raw data 'stdin' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono


Verify the sidecar starts correctly:
python3 ~/PhantomSDR-Plus/rade_helper.py

Expected output (no WARNING lines):
[RADE] helper starting on ws://0.0.0.0:8074
[RADE] radae_rx.py    : /home/sv1btl/radae/radae_rxe.py
[RADE] model          : /home/sv1btl/radae/model19_check3/checkpoints/checkpoint_epoch_100.pth
[RADE] lpcnet_demo    : /home/sv1btl/radae/build/src/lpcnet_demo
[RADE] auxdata        : ON (default)
[RADE] torch threads  : 1 per instance (RADE_TORCH_THREADS to override)
[RADE] architecture   : per-connection (each user tunes independently)
[RADE] listening — waiting for PhantomSDR-Plus clients


F1NSK

I will try a full fresh install on an other server.

At this time, the ambulance is front the portal to bring me at the Psychiatric Hospital .... ;D  ;D  ;D

F1NSK

More seriously

I have :

[RADE] sidecar starting at Fri, 10 Apr 2026 15:41:13 +0200
[RADE] helper starting on ws://0.0.0.0:8074
[RADE] radae_rx.py    : /home/f1nsk/radae/radae_rxe.py
[RADE] model          : /home/f1nsk/radae/model19_check3/checkpoints/checkpoint_epoch_100.pth
[RADE] lpcnet_demo    : /home/f1nsk/radae/build/src/lpcnet_demo
[RADE] auxdata        : ON (default)
[RADE] torch threads  : 1 per instance (RADE_TORCH_THREADS to override)
[RADE] architecture   : per-connection (each user tunes independently)
[RADE] listening — waiting for PhantomSDR-Plus clients

But don't work  :-[

The most important, we solve the audio cut !

In a few time all my friends will be on W11 or Linux so i will switch on Opus.
Better sound and less latency.

Have a nice day Doctor !  ;D
 

Emmanuel SV1BTL

#18
Answer from AI:

everything is installed properly, without errors, rade.sh is running normally, 8074 is opened, but 'Sidecar not reachable. Start it on the server:python3 rade_helper.py  (listens on port 8074)" message appeared.


PM Diagnosed HTTPS/WebSocket protocol mismatch causing connectivity failureDiagnosed HTTPS/WebSocket protocol mismatch causing connectivity failure. This is almost certainly a mixed content block. Your PhantomSDR-Plus is served over https:// via Nginx/Certbot, so the browser refuses to open a plain ws:// connection to port 8074 — it requires wss://. The sidecar is running fine; the browser never even tries to connect.

Fix: proxy port 8074 through Nginx as wss://
Add this inside your existing server {} block in your Nginx config (the one that already has your SSL certificate):

nginxlocation /rade {
    proxy_pass        http://127.0.0.1:8074;
    proxy_http_version 1.1;
    proxy_set_header  Upgrade    $http_upgrade;
    proxy_set_header  Connection "upgrade";
    proxy_set_header  Host      $host;
    proxy_read_timeout 3600s;
}
bashsudo nginx -t && sudo nginx -s reload

Then in audio.js, find setRADEDecoding() and change the helper URI line:
js// Find:
var helperUri = uri || ('ws://' + window.location.hostname + ':8074');

// Change to:
var helperUri = uri || ('wss://' + window.location.host + '/rade');
Note wss:// (not ws://) — this goes through Nginx which holds the SSL certificate, so the browser accepts it.

Then rebuild:
cd ~/PhantomSDR-Plus
./recompile.sh

After this, port 8074 no longer needs to be reachable from the outside at all — traffic flows through your existing HTTPS port. The sidecar itself doesn't change, only the path the browser uses to reach it.

----

Please try this way and inform me about the results,

F1NSK

Nginx is not installed on the pc ....

Emmanuel SV1BTL

#20
I can't add something more. It is installed in 2 more pc's that they are now working in Greece and even locally in a Pi5...

Can you please ask AI, becuse it will ask you questions and make some test, that I cannot make them my self in your pc ?

F1NSK

No problem Emmanuel.

I will solve the bug later and try on a dev PC with a second RX888 of my own.

Its not very important. All other functions are perfect now.

As you can see,I've put a link to my alternative Web888 in the title menu.  ;D

I know more the app_svelte now...and imagine to put both analog and digital Smeter on the same page ! ::)  ::)
But not on the live server !  ;D  ;D

73's my friend

Powered by EzPortal