QIRX SDR

Linux Console Version
Step-By-Step


This describes the installation and startup procedure for the .net6 Console Version of QIRX, called qirxConsole. The Linux distribution used is Debian 11 ("Bullseye"), 64Bit.
The installation procedures described here may be different on other systems.
To see the qirxConsole running in an Ubuntu Virtual Machine, you might have a look at this youtube video, recorded by Herman Wijnants:

Prerequisites

  • Remark: It is assumed that the path /usr/lib/x86_64-linux-gnu is part of the search path of the library loader. In one of the steps below the necessary library files are copied to that location.

QIRX Installation

  • Step 1: Copy the downloaded file qirxConsole_Linux_xyz.7z into an arbitrary directory of your choice. For your convenience, you might rename the 7z file to myqirx.7z (or any other name).
  • Step 2: Unzip the renamed zip file myqirx.7z. This should create a directory myqirx. Its content should look like so:
    The names in the green blocks denote directories.
  • Step 3: To avoid collisions with a possibly existing version of librtlsdr, remove it by typing
    sudo apt-get remove librtlsdr0. This command might be different on non-Ubuntu or non-Debian distributions.
  • Step 4: Run the script "install.sh" by typing
    sh install.sh, requesting you to enter the root password.
    The script does the following:
    • Permissions: All files get the necessary permission (execute or read/write).
    • File Copy: The "own" shared libraries
      - libffts.so, performing the Fast Fourier Transform,
      - viterbi.so, performing the Forward Error Correction for DAB and DAB+,
      - kjmp2.so, performing the MP2 decoding for DAB,
      - librtlsdr.so, performing the library for the rtl_tcp I/Q server by old-dab,
      - libfaad.so, performing the AAC decoding for DAB+,
      - libportaudio.so.2, performing the audio output are all copied to the directory /usr/lib/x86_64-linux-gnu/,
      - The directory qirxConsole, is created in the local data directory ~/.local/share
      - The initial configuration file qirxConsole.config, is copied to the local data directory~/.local/share/qirxConsole

    The content of the myqirx directory now should reflect the changed permissions.

Running qirxConsole

  • Step 5: From within the myqirx directory, type (case-sensitive)
    ./startMe.sh
    The following should happen (pictures are from a previous version):
    Three xterm consoles should have opened:
    - rtl_tcp...: It will get the output from the rtl_tcp I/Q data server.
    - qirx_audio: It will get the output from the qirx_audio program, when DAB has been selected.
    - qirxConsole: From this input/output window you will operate the qirxConsole program.

    Important Remark: In case of the rtl_tcp console not showing up or showing errors, then your RTL-SDR hardware is not recognized properly. You must first repair this situation before proceeding.
    Unfortunately, there might be several reasons for this situation:
    • The original driver present on the Linux distribution prevents the proper loading of the rtlsdr library. This site describes the following "blacklisting" as a solution:
      echo 'blacklist dvb_usb_rtl28xxu' | sudo tee – append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf
    • The USB ports are write-protected, for whatever reason. The provided script "usbWrite.sh" might help:
      sudo sh usbWrite.sh
      Root privileges are necessary.
    • Another possible source of such a situation is that often not all USB ports work together with RTL-SDR dongles.
  • Step 6: Example how to make a DAB reception.
    • TCP/IP connection: In the qirxConsole window, type
      start=1
      QIRX tries to make a TCP/IP connection to receiver #1, with the parameters from the configuration file qirxConsole.config. This file is residing in the directory
      ~/.local/share/qirxConsole/qirxConsole.config.
      There you find the parameters for three receivers, the default for rx#1 is 127.0.0.1 1234 (IP Address, Port). These must match the parameters for the rtl_tcp xterm in the script file startMe.sh.
      In case it should be absent, it must be manually copied from the file qirxConsole.config contained in the installation directory.

      The output in the rtl_tcp and qirxConsole windows is like the next picture:
    • Select and create a demodulator: type
      demod=DAB
    • Select an (available!) ensemble: type e.g.
      ens=5C
    • Select an available service: type e.g.
      serv=Dlf

      After this step the output should be similar to the following picture:


      After this step, the qirx_audio will output some information, as audio is now generated.
    • Get help
      Entering help or a questionmark will list all possible commands.

A friendly request: For questions, critics, suggestions, discussions and the like, please consider to use the forum having been created for this purpose.


  • Cookies helfen uns bei der Bereitstellung unserer Dienste. Durch die Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen