SDR project for SDRplay (RTLsdr) for Linux

  • Hi, we (DARC club U02) just started to convert an short-wave Web-SDR software (for Linux only)

    for es'hail-2.

    The original software was written by myself last year and is available at github. Now we

    heavily modified it to have a software perfectly matched to es'hail-2


    It is written for the SDRplay hardware but also running with RTLsdr-sticks and compatibles.

    The automatic beacon-lock however works only with the SDRplay because the frequency resolution of the RTLsdr is not fine enough.


    It is a "Web" SDR in the sense that it uses a Webserver and the browser as GUI, but its not a multi-user system. All stations logged in will hear the same audio.


    If some of you Linux guys are interested to play with it, it is available at github:

    https://github.com/dj0abr/es-hail-2-WebSDR


    It is still "work in progress", but the U02-group and myself will do our best to upload only working versions.


    The idea behind this project is to make the receiver available in the web, so I can listen to my own station even if I am travelling.


    vy 73
    Kurt


    [Blocked Image: https://www.helitron.de/dj0abr/files/esh1.png]

  • @Kurt,


    on SuSE 42.3 make complains:

    make

    cc -g -o playSDReshail2 playSDReshail2.o sdrplay.o fir_table_calc.o wf_univ.o color.o websocket/websocketserver.o websocket/ws_callbacks.o websocket/base64.o websocket/sha1.o websocket/ws.o websocket/handshake.o audio.o setqrg.o rtlsdr.o timing.o fifo.o ssbfft.o audio_bandpass.o hilbert90.o downmixer.o antialiasing.o -lpthread -lm -lmirsdrapi-rsp -lfftw3 -lsndfile -lasound -lgd -lz -ljpeg -lfreetype -lrtlsdr

    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: wf_univ.o: in function `drawWFimage':

    wf_univ.c:(.text+0x28c): undefined reference to `gdImageFile'

    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: wf_univ.o: in function `drawWF':

    wf_univ.c:(.text+0x59a): undefined reference to `gdImageCreateFromFile'

    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: wf_univ.c:(.text+0x626): undefined reference to `gdImageFile'

    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: wf_univ.c:(.text+0x63c): undefined reference to `gdImageCreateFromFile'

    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: wf_univ.c:(.text+0x655): undefined reference to `gdImageFile'

    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: wf_univ.c:(.text+0x895): undefined reference to `gdImageFile'

    collect2: error: ld returned 1 exit status

    Makefile:14: recipe for target 'playSDReshail2' failed

    make: *** [playSDReshail2] Error 1


    73 de Achim

  • I am now active on the satellite using the AMSAT converter boards and an Icom Transceiver, but the SDR still runs in parallel to show the waterfall display.


    Therefore I have extended this software with a synchronisation between the Icom and the SDR waterfall (ttyUSB0 is used by default, make sure that the user has access right to the dialout group, which is required for the USB/serialPort).


    A mouse click into the waterfall sets the Icom to this frequency and also the waterfall will follow if the frequency knob on the Icom is rotated.


    Only for the linux guys. I have it running on an Odroid-XU4. A Raspberry is probably too slow, at least if it also runs the browser.


    The program is pre-configured for the frequencies used by the AMSAT converter boards.


    https://github.com/dj0abr/es-hail-2-WebSDR

  • triggered by the current discussion about the max. uplink power, I have extended this Web SDR with a beacon level monitor.

    It measures the maximum level of the beacons and displays its value as a red line.

    The measurement is taken over >1min, so the maximum value is still valid if the beacon sends CW.


    Its a nice tool to check if the own (and others) transmission is in the limits of the QO-100 rules. Additionally it can be used to measure the bandwidth of a signal in the lower HiRes waterfall.



    this program is now combined with the WB Transponder monitor into one software, selectable by the build file.


    The github link is:


    https://github.com/dj0abr/QO-100_SSB-WebSDR_DATV-WebSpectrum


    73 de Kurt

  • tnx to all, lot of downloads and also some forks on github.
    I'm glad that this project is of interest for many people.


    Again a new and nice feature:


    Like a spectrum analyser it now has a "peak hold" function which allows to monitor the peak signals of the NB transponder over a longer time. I.e. watch the peak power over a couple of hours.


    Download as usual: https://github.com/dj0abr/QO-100_SSB-WebSDR_DATV-WebSpectrum


    73 de Kurt

  • Hi Kurt,

    Just installed your software on a old Sony laptop

    Running on Linux Lite 4.6 (my favorite flavour).

    Working well in Firefox local , but only on the real ip adres , not on the well know 127.0.0.1 or localhost.

    I.e. the soft is running but you can't pick a QRG with the mouse .

    A second problem for me is that the second waterfall is not visible , it 's falling off the screen.

    Any chance in the future for CAT with other TRX then icom ?

    Good job Kurt.

    73 Luc on4aol

  • hello kurt,

    a very nice program. Have the software on a Odroit N2

    to run. Works ufb. An SDRplay will be added soon.

    Kurt may add the CAT control for YAESU devices.

    73 de Rudi

  • Hello,

    have some trouble with the software. Neither Chromium nor Firefox nor slimjet on linux can change the rx-qrg by clicking on a signal or with the mousewheel. Only Microsoft Edge on a win10 PC seems to work. At least in local network. Asked a friend to try over the internet with his windows pc. He used Firefox, Chrome and Edge, but could not change rx-qrg either. Any hints?

    73, Martin

  • Hmh, Kurt hat ja am Anfang beschrieben, dass die Software unter Linux läuft. Nun schreibt DM4IM Martin diese Software läuft bei ihm unter Windows 10 und Edge? Über eine Aufklärung würde ich mich freuen.


    73 Joachim

  • dm4im

    I had the same problem ! If you open your browser on the same pc where the soft of Kurt is running , then you need to use your ip address of your computer (e.g. 192.168.1.10/nb.html) and not using localhost or 127.0.0.1

    If you connect from a other pc , be sure your linux firewall is open for port 80 , 8090 and 8091

    You can do this with follow commando in linux


    sudo ufw allow 80 and so on for the other two portnumbers.

    Reboot the linux pc


    PS , i am running Firefox


    Hope this helps :)

    73 Luc on4aol

  • there are a few limitations for internet access, which can be removed from the software, if needed.


    I am usually using this SDR synchronized to my Icom transceiver. Therefore I have disabled some features if a user is not in the local network.

    Also I have limited the number of simultaneous users from the same IP to "1" because some funny people flooded my WebSDR with hundreds of requests.


    If you want, you can remove these limitations:


    file: ws_callback.c, function: onmessage(..)

    In the beginning of this function you see the check for "192.168". You can remove this if clause and the internet access it fully opened for everybody.


    the second limitation is in the same file, function: check_address

    It limits the access per IP to one. To remove this limitation make a "return 0" at the beginning of this function.


    vy 73, Kurt, DJ0ABR


    (I have updated the software a few days ago. You should always use the actual version)

  • I got it to work for users over the internet. Place // before if(useCAT && memcmp(cli,"192.168",7))


    // if(useCAT && memcmp(cli,"192.168",7))


    Now internet users can qsy , BUT: If someone clicks on the Icom-Cat, the program tries to open a USB-Port and if it finds none, it will do that forever . Internet users can no longer qsy until the program ist restarted by hand. The software is not usable for remote access as it is now. But i think it wasn't DJ0ABR's intention to provide another WEB-SDR software, right?

  • Another observation: If 2 or more users connect to the websdr, the last qsy determines the frequency for all. In other words, if you click on a signal, all users will hear the same signal.

  • yes right, if the 192.168 is removed, the Icon button should still be blocked for internet access.


    To your other observation: the WebSDR has one SSB demodulator which runs on the single board computer. It was my intention to have a Web Access for myself, not anybody else, so one decoder is enough.

    (In big WebSDRs the SSB demodulation is done by Javascript in the browser).