After John Seamons added a 10KHz IQ stream to the KiwiSDR clients, the opportunity to send the SDR IQ data to another receiver such as HDSDR or Dream DRM receiver needed to be setup! There are general instructions at kiwisdr.com located here: http://kiwisdr.com/quickstart/index.html#id-faq-drm
The system I chose to configure for this service sports an Intel I5 2nd generation processor and 8Gb of RAM. So not a super duper computer, but a serviceable one. It is using openSUSE 42.3 for the operating system and the standard and community repositories are installed, including this one: http://download.opensuse.org/repositories/hamradio/openSUSE_Leap_42.3/
The Dream receiver is available in the above repository as well as the codec that is needed to decode the DRM signals.
faad2, libfaad-devel, libfaad2, libfaad_drm2, are all installed on this system.
Pulseaudio, Alsa, and Pavucontrol are installed. Google Chrome and Firefox are the web browsers in use.
Pulseaudio is configured to provide a virtual audio cable with the following command sent via the terminal: ron@linux-4cdz:~/> pactl load-module module-null-sink sink_name=MySink \ sink_properties=device.description=”MySink” 25 ron@linux-4cdz:~/
To make the audio connections, open a KiwiSDR client instance in your web browser, such as http://fenu-radio.ddns.net:8073/?f=3965iqz8 , then start Pavucontrol. Open the “Playback” tab and select “My Sink” for the output of the Web Browser. Start Dream then in the Pavucontrol “Playback” tab select “Built-in Audio Analog Stereo”, or whatever your normal sound card is, as the output for the Dream receiver. In Pavucontrol open the “Recording” tab and select “monitor of My Sink” for the input to the Dream receiver.
In the Dream receiver open Settings/Sound Card/Signal Input/Device and select ALSA:Pulse, then open Settings/Sound Card/Audio Output/Device and select ALSA:Pulse.
In the Dream receiver open Settings/Sound Card/Signal Input/Channel and select I/Q Pos Split.
All things being operational, you should hear the DRM station audio. If a DRM station is not available, you can use the Dream receiver to listen to other modes, just pick one and listen to it.
This video might be more understandable then my notes:
A “How To” For Linux User to Add N4PY Radio Control Software to the Operating Position.
Getting started, we need to choose a distribution. For purposes of this discussion I will describe the
setup in OpenSUSE 13.1. I won’t go through it for Ubuntu, but if you follow this with openSUSE, you
should be able to interpolate and succeed with the other Linux distributions.
At KA7U, I am currently using an IBM Intellistation Zpro with dual XEON processors and an NVIDIA
6800 video card, for the radio control computer. I have also used an ACER Aspire One ZG5 to
interface to the radio. The IBM is quicker and the display is much better, but both of these computers
get the job done.
While this is not specifically for openSUSE 13.1, it is for openSUSE 12.1, the available software
should be similar. Pick and choose what you want to install.
You must install WINE, http://en.opensuse.org/Wine , the current version being used here today is
WINE version#1.7.8 . Both 32 bit and 64 bit versions are in use here and both run N4PY without
special consideration or addition of native Windows DLL files.
You will need to enable serial ports in the directory ~/.wine/dosdevices . One of my computers has a ~/.wine/dosdevices directory that lists the following:
ron@linux-i6yo:~/.wine/dosdevices> ls -l
lrwxrwxrwx 1 ron users 10 Nov 22 14:49 c: -> ../drive_c
lrwxrwxrwx 1 ron users 10 Nov 6 09:31 com1 -> /dev/ttyS0
lrwxrwxrwx 1 ron users 12 Nov 18 23:42 com3 -> /dev/ttyUSB0
lrwxrwxrwx 1 ron users 8 Nov 23 09:47 d:: -> /dev/sdb
lrwxrwxrwx 1 ron users 17 Nov 22 14:48 e: -> /sys/kernel/debug
lrwxrwxrwx 1 ron users 13 Nov 22 14:48 f: -> /proc/bus/usb
lrwxrwxrwx 1 ron users 8 Nov 5 09:46 g:: -> /dev/sdd
lrwxrwxrwx 1 ron users 9 Nov 22 14:48 h: -> /home/ron
lrwxrwxrwx 1 ron users 8 Nov 5 09:46 i:: -> /dev/sdg
lrwxrwxrwx 1 ron users 8 Nov 5 09:46 j:: -> /dev/sdf
lrwxrwxrwx 1 ron users 8 Nov 5 09:46 k:: -> /dev/sr1
lrwxrwxrwx 1 ron users 8 Nov 21 11:25 l:: -> /dev/sdh
lrwxrwxrwx 1 ron users 9 Nov 21 11:25 m:: -> /dev/sdh2
lrwxrwxrwx 1 ron users 9 Nov 21 11:25 n:: -> /dev/sdh5
lrwxrwxrwx 1 ron users 9 Nov 21 11:25 o:: -> /dev/sdh1
lrwxrwxrwx 1 ron users 8 Nov 23 09:47 p:: -> /dev/sdc
lrwxrwxrwx 1 ron users 8 Nov 23 09:47 q:: -> /dev/sde
lrwxrwxrwx 1 ron users 8 Nov 23 09:47 r:: -> /dev/sr0
lrwxrwxrwx 1 ron users 9 Nov 24 23:44 s:: -> /dev/sdc1
lrwxrwxrwx 1 ron users 9 Nov 24 23:44 t:: -> /dev/sdc2
lrwxrwxrwx 1 ron users 9 Nov 24 23:44 u:: -> /dev/sdc5
lrwxrwxrwx 1 ron users 55 Nov 28 10:42 v: -> /var/run/media/ron/babd3add-c7bf-422a-83e7-5955e9581a33
lrwxrwxrwx 1 ron users 9 Nov 24 23:51 v:: -> /dev/sdb1
lrwxrwxrwx 1 ron users 9 Nov 24 23:51 w:: -> /dev/sdb2
lrwxrwxrwx 1 ron users 9 Nov 24 23:51 x:: -> /dev/sdb5
lrwxrwxrwx 1 ron users 8 Nov 25 11:14 y:: -> /dev/sdi
lrwxrwxrwx 1 ron users 1 Sep 26 22:07 z: -> /
Notice that com1 is linked with /dev/ttyS0 , which is an actual serial port on this computer.
Notice that com3 is linked with /dev/ttyUSB0 which is a USB to Serial converter device.
When you plug in your USB to Serial converter it will be assigned a device name in the /dev directory.
You can find out what it is called by searching for it like so:
ron@linux-i6yo:~> dmesg |grep ttyUSB
[21825.616981] usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0
You can further search for it in the /dev directory.
ron@linux-i6yo:~> cd /dev/
ron@linux-i6yo:/dev> ls -l ttyUSB*
crw-rw---- 1 root dialout 188, 0 Dec 12 16:14 ttyUSB0 # notice ownership is root:dialout
If you unplug a USB to Serial converter and plug it back in, the name assignment may increment up a
number. So generally don’t do that and if you do, think about needing to reboot the computer or relink
the com port.
So what do you do in the ~/.wine/dosdevices directory to link the Serial Ports?
It is important that you create these symbolic links while logged into the terminal as the normal user.
Otherwise, you will get an error message when trying to connect to the ports that they are busy or in
use. Which brings us to the need of our normal user belonging to the required groups in order to have
permission to access certain hardware items. So add your user to the user group “dialout”. The image
below should help you to get this done.
Once these things are accomplished, you should be able to install N4PY in the usual way as if you were
using Windows. I do use the WINE utility “Uninstall Software “ to add and remove programs
however. So I would download N4PY, and then run “Uninstall Software” from the WINE program
group in the start menu.
There are some minor anomalies in N4PY when it is running under WINE, but if you are willing to
overlook some minor font display issues, and possibly some other little details, you should find that
N4PY functions as expected working with Linux and WINE. http://wiki.winehq.org/FAQ
I find that other applications work well with N4PY using Linux, such as MixW, N4PY remote, IPSound,
and several other windows programs. Your experience may vary.