If you notice spammers in the forum, please notify Bas ON5HB, so they can be removed and banned. Give a link in the chatbox or send a PM to me. Thanks.

Phantom SDR Plus & RX888 - setup

Started by Martin G8JNJ, Sep 23, 2024, 10:55 PM

Previous topic - Next topic

John DF4UE

ge Martin and Bas,

when I installed Ubuntu 22.04 LTS I could choose which kernel should be installed. I selected HWE (newest kernel).
Can this have an influence on the installation of OpenCl ? I have now idea, just a thought.

uname -r
6.8.0-45-generic

73

John

Martin G8JNJ

Hi Bas,

I appreciate your help, and I'm not having a go at you, it's just very frustrating (for all parties) when something works for one person but not another.

We are using different hardware, and it may be that as part of the initial Ubuntu installation process, you have done something that I have not. Maybe using different libraries, or permissions, or something similar.


I followed the instructions on the intel Github and created a directory named neo, which housed all the downloaded deb files. They were all present, and seemed to have installed correctly without flagging up any errors.

I think I'll try again from scratch, just in case I've missed anything, but having now done it twice, with the same end result, it would seem to be something peculiar with the hardware / Bios / or some other incompatibility with Opencl.

I do know a Linux guru, so I may ask him, as you suggest.

Thnaks again for perservering.

Martin








Quote from: Bas ON5HB on Sep 28, 2024, 06:59 PMI can not understand why it keeps failing on your part, sorry I don't.

I especially took my Desktop machine, formatted it, and started from scratch.


Bas ON5HB

Quote from: John DF4UE on Sep 28, 2024, 07:37 PMge Martin and Bas,

when I installed Ubuntu 22.04 LTS I could choose which kernel should be installed. I selected HWE (newest kernel).
Can this have an influence on the installation of OpenCl ? I have now idea, just a thought.

uname -r
6.8.0-45-generic

73

John

Normally no. Test and find out. But typical a kernel has no impact.
Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

Bas ON5HB

Quote from: Martin G8JNJ on Sep 28, 2024, 08:50 PMHi Bas,

I appreciate your help, and I'm not having a go at you, it's just very frustrating (for all parties) when something works for one person but not another.

We are using different hardware, and it may be that as part of the initial Ubuntu installation process, you have done something that I have not. Maybe using different libraries, or permissions, or something similar.

We are NOT using different hardware, as I especially changed my Desktop machine to match yours.
It's the EXACT same machine and hardware,

I'm getting the feeling you are not following directions on purpose....ELSE IT WOULD HAVE WORKED!

At the same time you keep insisting on demands you want to see, and you post nasty comments.

You do not want to get it running, you want it all about Martin.

I have had enough of your tone and I'm not going to put any effort in solving your problem anymore.

You Sir, need to learn some manners, in all aspects. We are not your employees.
Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

Martin G8JNJ

Hi Bas,

I hadn't realised you were using exactly the same make and model as myself, including I assume the same processor.

I can assure you I have followed your written instructions to the letter, and I would not wish to self sabotage this project after spending a considerable amount of money on the RX888, cooling mods, the original PC, it's subsequent replacement, and the second replacement after the first had failed, not to mention several days worth of effort that has not produced the end result I had hoped for.


I don't understand which of my comments you have interpreted as being "a nasty demand", I'm not demanding anything of you, and wouldn't wish to, why should I ? In fact I can't recall any time I have "demanded anything of anyone" and that includes in a work environment, it's just not my style. I'll debate, and make persuasive statements, to try and move a project forward, but that's not the same as making a demand. I can't do much to alter your perception of me, it's your opinion, and is as valid as that of anyone else.

I genuinely appreciate that you have tried to help me, and I have already said as much. I'm not blaming you, I'm just stating that my outcome is different to yours, for an unknown reason. I would not have persevered if I wasn't bothered, and didn't want to know what had gone wrong. That's how we learn. I'm not trying to "wind you up" it would serve no purpose, and be counterproductive in trying to get the thing to work as it should.

I find the situation as frustrating as you do, and I would really like to find out what is causing the problem. It is more than likely to be something that I have done incorrectly, and I would like to know what it is. If I have made a mistake, I will willingly admit to it, especially if it helps someone else to avoid the same problem. I see this as a work in progress, and finding and resolving bugs are an inherent part of it.

Regards,

Martin


Quote from: Bas ON5HB on Sep 28, 2024, 09:07 PM
Quote from: Martin G8JNJ on Sep 28, 2024, 08:50 PMHi Bas,

I appreciate your help, and I'm not having a go at you, it's just very frustrating (for all parties) when something works for one person but not another.

We are using different hardware, and it may be that as part of the initial Ubuntu installation process, you have done something that I have not. Maybe using different libraries, or permissions, or something similar.

We are NOT using different hardware, as I especially changed my Desktop machine to match yours.
It's the EXACT same machine and hardware,

I'm getting the feeling you are not following directions on purpose....ELSE IT WOULD HAVE WORKED!

At the same time you keep insisting on demands you want to see, and you post nasty comments.

You do not want to get it running, you want it all about Martin.

I have had enough of your tone and I'm not going to put any effort in solving your problem anymore.

You Sir, need to learn some manners, in all aspects. We are not your employees.

magicint1337

Hi guys. Please keep it respectful, we are all here to help. To be honest the easiest way would be to let me ssh into the system and let me find the error so we know what it is. If thats fine for you we can do it, but its your decision. Otherwise if not we need more info on what you did exactly, maybe explain here the steps you did in the order and not refer to the tutorial, maybe we can find something missing.

Greetings!
Maintainer and Developer of PhantomSDR-Plus

9a7aof

What is the problem?

For me, PhantomSDR+ works on an old FUJITSU LIFEBOOK S752 laptop with 20MHz bandwidth, the operating system is LMDE 6 (Debian Bookworm with Cinammon interface).

There is no acceleration, it is not even necessary for that bandwidth, the load on the processor is less than 55 percent.

You need to read the instructions and follow them consistently, the people who made that SDR did a great job and simplified the installation process to the limit.

I tried PhantomSDR+ with RTL-SDR v3, RSP1 clone, RSP1A original... everything worked fine.

I'm currently working with RX888MK2 and everything works fine. The waterfall is deliberately slow because if I speed it up the processor load rises too much for my taste.

websdr@Siemens:~/PhantomSDR-Plus$ inxi
System:
  Kernel: 6.1.0-25-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    Console: pty pts/0 Distro: LMDE 6 Faye base: Debian 12.1 bookworm
Machine:
  Type: Laptop System: FUJITSU product: LIFEBOOK S752 v: 10601581625
    serial: <superuser required>
  Mobo: FUJITSU model: FJNB252 v: L3 serial: <superuser required>
    UEFI-[Legacy]: FUJITSU // Phoenix v: Version 2.04 date: 10/16/2012
CPU:
  Info: dual core model: Intel Core i5-3320M bits: 64 type: MT MCP
    arch: Ivy Bridge rev: 9 cache: L1: 128 KiB L2: 512 KiB L3: 3 MiB
  Speed (MHz): avg: 2968 high: 3063 min/max: 1200/3300 cores: 1: 2934
    2: 3063 3: 2934 4: 2944 bogomips: 20753
  Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics
    vendor: Fujitsu . LIFEBOOK E752 driver: i915 v: kernel arch: Gen-7
    bus-ID: 00:02.0
  Display: server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: X:
    loaded: modesetting unloaded: fbdev,vesa dri: crocus gpu: i915 tty: 80x24
    resolution: 1366x768
  API: OpenGL Message: GL data unavailable in console. Try -G --display
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio
    vendor: Fujitsu . LIFEBOOK E752 driver: snd_hda_intel v: kernel
    bus-ID: 00:1b.0
  API: ALSA v: k6.1.0-25-amd64 status: kernel-api
  Server-1: PipeWire v: 0.3.65 status: active
  Server-2: PulseAudio v: 16.1 status: off (using pipewire-pulse)
Network:
  Device-1: Intel 82579V Gigabit Network vendor: Fujitsu . LIFEBOOK E752
    driver: e1000e v: kernel port: 4080 bus-ID: 00:19.0
  IF: enp0s25 state: down mac: <filter>
  Device-2: Intel Centrino Advanced-N 6205 [Taylor Peak] driver: iwlwifi
    v: kernel bus-ID: 0a:00.0
  IF: wlp10s0 state: up mac: <filter>
  Device-3: Sierra Wireless MC8305 Modem type: USB driver: qcserial,qmi_wwan
    bus-ID: 1-1.5:4
  IF: wwan0 state: down mac: <filter>
Drives:
  Local Storage: total: 232.89 GiB used: 19.06 GiB (8.2%)
  ID-1: /dev/sda vendor: Toshiba model: MK2552GSX size: 232.89 GiB
Partition:
  ID-1: / size: 33.61 GiB used: 14.73 GiB (43.8%) fs: ext4 dev: /dev/sda5
  ID-2: /home size: 61.94 GiB used: 4.33 GiB (7.0%) fs: ext4 dev: /dev/sda6
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 67.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 160 Uptime: 2d 14h 4m Memory: 7.62 GiB used: 1.06 GiB (13.9%)
  Init: systemd target: graphical (5) Compilers: gcc: 12.2.0 Packages: 2948
  Shell: Bash v: 5.2.15 inxi: 3.3.26
websdr@Siemens:~/PhantomSDR-Plus$


websdr@Siemens:~/PhantomSDR-Plus$ neofetch
`.-::---..                     websdr@Siemens
      .:++++ooooosssoo:.       --------------
    .+o++::.      `.:oos+.     OS: LMDE 6 (faye) x86_64
   :oo:.`             -+oo:    Host: LIFEBOOK S752 10601581625
 `+o/`    .::::::-.    .++-`   Kernel: 6.1.0-25-amd64
`/s/    .yyyyyyyyyyo:   +o-`   Uptime: 2 days, 14 hours, 8 mins
`so     .ss       ohyo` :s-:   Packages: 2948 (dpkg)
`s/     .ss  h  m  myy/ /s``   Shell: bash 5.2.15
`s:     `oo  s  m  Myy+-o:`    Resolution: 1366x768
`oo      :+sdoohyoydyso/.      Terminal: /dev/pts/0
 :o.      .:////////++:        CPU: Intel i5-3320M (4) @ 3.300GHz
 `/++        -:::::-           GPU: Intel 3rd Gen Core processor Graphics Contr
  `++-                         Memory: 689MiB / 7800MiB
   `/+-
     .+/.                                             
       .:+-.                                           
          `--.``

websdr@Siemens:~/PhantomSDR-Plus$

websdr@Siemens:~/PhantomSDR-Plus$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       1,0Gi       4,1Gi        32Mi       2,9Gi       6,6Gi
Swap:             0B          0B          0B
websdr@Siemens:~/PhantomSDR-Plus$


Martin G8JNJ

OK, another day of effort and...

Third time lucky.

What I did differently this time.

When installing Ubuntu, I didn't tick the option to install 3rd party drivers.

Installed clinfo intel-gpu-tools, OpenCL, cuFFT and clFFT10, all of these were installed before the deb files.

I had previously installed libclfft-dev, after the deb files, in the order shown on this page  https://www.phantomsdr.fun/index.php?topic=58.msg331#msg331

When I initially tried Bas's list of deb files on the same page https://www.phantomsdr.fun/index.php?topic=58.msg331#msg331 I got an error.

N: Download is performed unsandboxed as root as file '/home/wessex/neo/intel-igc                      -core_1.0.17537.20_amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire:                      :Run (13: Permission denied)

I then used the list on the Intel Github, and that seemed to run OK.

Each time I was instructed to open a new terminal, I also performed a reboot, just to be safe.

All the rest was performed as before, so I don't know which of these actions made the difference.

intel-gpu-top now shows OpenCL performing as expected, this is when running smoothly at 80meg sample rate, so it was definitely worth the effort.


intel-gpu-top: Intel Skylake (Gen9) @ /dev/dri/card0 - 1051/1099 MHz;   3% RC6
   11.06/19.64 W;      507 irqs/s

      IMC reads:     8073 MiB/s
     IMC writes:     6154 MiB/s

         ENGINES     BUSY                                       MI_SEMA MI_WAIT
       Render/3D   94.94% |█████████████████████████████████▎ |      0%      0%
         Blitter    0.00% |                                   |      0%      0%
           Video    0.00% |                                   |      0%      0%
    VideoEnhance    0.00% |                                   |      0%      0%


Thanks to everyone who helped me to resolve this issue. Even though I don't know which part of the installation caused the problem. Hopefully, these observations may help identify why it didn't work on previous occasions.

Regards,

Martin

Martin G8JNJ

You can now connect to it (on a temporary basis) at http://g8jnj.zapto.org:8090

It's running at 82Meg sample rate, which is good, as I wanted to cover the 40MHz 8m band.

Once I sort out how to get it to start on boot, I'll move it to my Wessex site.

Regards,

Martin

John DF4UE

Congratulation Martin,

software is sometimes magical  ;D

John

Martin G8JNJ

I think I'd prefer "unpredictable" I tried adding a service, so that it would start up automatically on boot.

It didn't work, due to some form of timing issue.


× rx888boot.service - Start RX888 on boot
     Loaded: loaded (/etc/systemd/system/rx888boot.service; enabled; vendor preset: enabled)
     Active: failed (Result: start-limit-hit) since Sun 2024-09-29 15:40:57 UTC; 29s ago
    Process: 1110 ExecStart=/home/wessex/PhantomSDR-Plus/start-rx888mk2.sh (code=exited, status=0/SUCCESS)
   Main PID: 1110 (code=exited, status=0/SUCCESS)
        CPU: 19ms

Sep 29 15:40:57 phantom systemd[1]: rx888boot.service: Scheduled restart job, restart counter is at 5.
Sep 29 15:40:57 phantom systemd[1]: Stopped Start RX888 on boot.
Sep 29 15:40:57 phantom systemd[1]: rx888boot.service: Start request repeated too quickly.
Sep 29 15:40:57 phantom systemd[1]: rx888boot.service: Failed with result 'start-limit-hit'.
Sep 29 15:40:57 phantom systemd[1]: Failed to start Start RX888 on boot.

But somehow the OpenCL part became corrupted in the process, and when started manually with the service disbaled, the streamer wouldn't run.

Re-installing the deb files fixed it, but I don't understand how adding something unrelated managed to mess things up so badly.

Regards,

Martin

Quote from: John DF4UE on Sep 29, 2024, 06:35 PMsoftware is sometimes magical  ;D


Bas ON5HB

Quote from: 9a7aof on Sep 29, 2024, 08:58 AMWhat is the problem?

For me, PhantomSDR+ works on an old FUJITSU LIFEBOOK S752 laptop with 20MHz bandwidth, the operating system is LMDE 6 (Debian Bookworm with Cinammon interface).

There is no acceleration, it is not even necessary for that bandwidth, the load on the processor is less than 55 percent.


Sorry you do not run 50%, you run 200%, equals to 4-core loaded upto 50%.

This may sound the same but it isn't.

As you can only load 1 core upto 100% IF the program is single-threaded, go beyond this and it will give problems, slowdowns etc.
With applications that can handle more threads you may count all loads together.

So a 4 core CPU may be loaded upto 400% (in practice it's not more then 350%).

That is why the thread-settings in the toml are important, to make sure the cores are NOT overloaded and you never get above the max the CPU can handle.

It depends on the CPU how much bandwidth you can do, however, OpenCL takes so much load OFF the cores that 30MHz will result in 70% usage (total!).

If the USB port would be faster, the RX888MK2 could do 60MHz bandwidth and because of OpenCL the CPU can handle it.
That is the difference.

In fact, you could run 2 instances of the RX-888MHz on 1 CPU at 30MHz....try that without OpenCL or Cuda...no way ;)

Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

9a7aof

Yes i know,

QuoteSorry you do not run 50%, you run 200%, equals to 4-core loaded upto 50%.
I should have written the load per core, four virtual cores, each about 50 percent, a total of 200 percent.

websdr@Siemens:~$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +64.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:        +66.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:        +56.0°C  (high = +87.0°C, crit = +105.0°C)


I was not able to write a script to automatically start Phantom SDR+ as a service, so I start it through cron on reboot:
#-------------------
@reboot /bin/bash -lc 'cd /home/websdr/PhantomSDR-Plus/ && ./start-rx888mk2.sh'
#-------------------

I have a question, I see that some colleagues managed to fix the bug with switching the modulation type AM => FM => AM and the problem with the correct display of the modulation type when the marker is clicked.

Is it possible to start a test branch where the rest of us can test the fixed bugs before the final version.

Another possibility would be to put the fixed scripts in a tar.gz archive with included paths where these scripts should be located.

By simply unpacking the tar.gz archive, the fixed scripts would be in the right place.

I know what I'm writing about, I've been a satisfied Linux user since 1996.

Kind regards,
Darko, 9a7aof




Bas ON5HB

The problem of going to FM and back to other modulation has been seen before.
I also noticed it.

However, running OpenCL acceleration doesn't show this problem.

I can not say where this problem is, but it's shown all over non-OpenCL running systems.

I do not know when I started Linux, it was at the time of OS/2 1.3x when I side-looked at Linux.
But compiling a system took days, and failed a lot.

My first Linux was Slackware....still hate it ;D TurboLinux wasn't much better :o
Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

Emmanuel SV1BTL

#119
Hi,
After too many experiments and fine tunings during the last week, I've setup the .toml and .sh files as follows. No cross modulation or overloads until now, even during hard periods of extreme high propagation and very strong signals in radio bands of 41 and 49 meters.
Antenna is EndFed, with 64:1 balun, ~46m. long, loading coil at 38m. (192μH), covering all amateurs' band from 160-10m. It is the same antenna used for transmitting my radioamateur activities. The sack is located in Athens, Greece, so the conditions are the expected ones for an urban area.

config-rx888mk2.toml

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

[websdr]
register_online=true # If the SDR should be registered on https://sdr-list.xyz then put it to true
name="SV1BTL - Athens, GR" # Name that is shown on https://sdr-list.xyz
antenna="EndFed 160-10m." # Antenna that is shown on https://sdr-list.xyz
grid_locator="KM17VX" # 4 or 6 length Grid Locator shown on https://sdr-list.xyz and for the Distance of FT8 Signals
hostname="sv1btlham.no-ip.org" # If you use ddns or something to host with a domain enter it here for https://sdr-list.xyzv

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

[input]
sps=60000000 # Input Sample Rate
fft_size=8388608 # FFT bins
fft_threads=2
brightness_offset=-4
# 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
audio_sps=12000 # Audio Sample Rate
audio_compression="flac" # flac or opus
waterfall_size=2048
waterfall_compression="zstd" # zstd or av1
smeter_offset=9

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

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

.sh

#!/bin/bash
cd ~/PhantomSDR-Plus
killall -s 9 spectrumserver
sudo killall -s 9 rx888_stream
sleep 1

# Turn USB powersaving off
echo on | sudo tee /sys/bus/usb/devices/*/power/control > /dev/null
if test -e ~/PhantomSDR-Plus/rtl.fifo; then
echo fifo alredy exists
else
echo creating fifo...
mkfifo ~/PhantomSDR-Plus/rtl.fifo
fi
sleep 1

RUST_BACKTRACE=1

sudo ~/PhantomSDR-Plus/rx888_stream/target/release/rx888_stream -f ~/PhantomSDR-Plus/rx888_stream/SDDC_FX3.img -s 60000000 -g 50 -a 50 -m high --pga -r -d -o - > ~/PhantomSDR-Plus/rtl.fifo &
sleep 1
~/PhantomSDR-Plus/build/spectrumserver --config ~/PhantomSDR-Plus/config-rx888mk2.toml < ~/PhantomSDR-Plus/rtl.fifo &
# > /dev/null 2>&1 &

exit
#####

P.S. Using a Mini PC Intel Core i5-12450H, 16 GB DDR4, 512 GB M.2 2280 NVMe. Ubuntu 22.04

73 de SV1BTL, Emmanuel

Powered by EzPortal