[hpsdr] Newbies guide (v1.4) to HPSDR and Ubuntu 10.04

Erich Heinzle vk5hse at yahoo.com
Fri Dec 9 01:12:34 PST 2011


Newbies guide (v1.4) to HPSDR and Ubuntu 10.04  



This howto relates to installation of the ghpsdr3-alex branch of the ghpsdr3
software and also the ghpsdr application under ubuntu gnu/linux, and draws
together the input of many on the reflector, as well as various FAQs and wiki
pages. Contributions are welcome.



Contributors, in no particular order, and not necessarily exhaustive

Sid Boyce g3vbv
Erich Heinzle vk5hse
Dave Larsen kv0s
John Melton g0orx/n6lyt
Andrea Montefusco iw0hdv



Revision history:

1.4 - Some build instructions added for ghpsdr3-alex bundled applications,
    and for building the standalone version of ghpsdr
1.3 - Metis configuration information added
1.2 - fixed dsp-server typo
    added QtRadio direct down conversion zero offset: dspserver --lo 0 
1.1 - added /etc/udev/rules.d configuration info for ozy
1.0 - draft howto



This howto assumes:

an up to date ubuntu 10.04 installation on the computer, and
either a USB connection to the HPSDR (Ozy board)
or an ethernet connection to the HPSDR (Metis board)

These instructions have been tested on a fairly clean ubuntu 10.04
installation on a dumpster grade celeron 2.8GHz with 1GB of RAM



Cautionary note:

Don´t blame us if you accidentally delete your tax records, homework,
wedding photos, or windows partition.


USB HPSDR PRELIMINARIES (For an HPSDR with an Ozy board)

If the Ozy based HPSDR has not been used under linux previously, the operating
system needs to be told what to do if the HPSDR is plugged into a USB port.

Settings for identification and use of the USB device must be put in place

This is also discussed at:
http://openhpsdr.org/wiki/index.php?title=Ghpsdr_FAQ

A new file called "90-ozy.rules" must be added to the /etc/udev/rules.d directory

The easiest way to do this is to open your favourite text editor,
i.e. "Applications-Accessories-GEdit text Editor" and enter (you can copy and paste)

SUBSYSTEMS=="usb",ATTRS{idVendor}=="fffe",ATTRS{idProduct}=="0007",SYMLINK+="ozy",MODE="666"

and then save the file as 

90-ozy.rules

in your Documents folder.

the file must now be copied into the /etc/udev/rules.d directory.
Bring up a terminal window on the ubuntu machine
(i.e. via "applications-accessories-terminal")
and paste, followed by enter:

sudo cp ~/Documents/90-ozy.rules /etc/udev/rules.d

next reload the udev daemon:

sudo udevadm control --reload-rules

Once you do this the hpsdr should be recognised on the USB bus and you won't need
to do it again unless you do a complete operating system reinstallation at some
point in the future.


TRYING THE GHPSDR3 DISTRIBUTION THE EASY (PACKAGED) WAY

The first step is to install the ghpsdr3-alex software

Bring up a terminal window on the ubuntu machine
(i.e. via "applications-accessories-terminal") and paste, followed by enter:

sudo add-apt-repository ppa:andrew-montefusco/ghpsdr3 

this adds the ghpsdr3 software repository to your ubuntu installation's
software sources. Now type, followed by enter:

sudo apt-get update 

this pulls down a list of the software available on the newly added repository,
plus the usual software repositories. Now type, followed by enter:

sudo apt-get install ghpsdr3

this installs ghpsdr3 from the new repository

Now, you only need to drop copies of the current ozyfw-sdr1k.hex and
Ozy_Janus.rbf files you're using for the HPSDR into the directory
you launch the software from (by copying, downloading or copy and
pasting them using a file browser) if they are not found automatically
by the software when you fire them up in the next step.

Firing up the newly installed ghpsdr3-alex software components.

If you are using a USB (i.e. Ozy based) HPSDR, type, followed by enter:

hpsdr-server

If you are using an ethernet (i.e. Metis based) HPSDR, type, followed by enter:

hpsdr-server --metis --interface eth0

by default the interface hpsdr-server will look for Metis on is eth0, but this can be 
changed using the --interface option, for example, if metis is on eth1

hpsdr-server --metis --interface eth1

now that hpsdr-server is running...

in another terminal window, type, followed by enter:

dspserver --lo 0

running them in different windows will allow you to watch the messages scrolling
by if required.

the "--lo 0" tells the dspserver that you are using a direct down conversion (DDC)
radio such as an HPSDR, and an 18kHz offset is not added by default, which would
leave you wondering WWV or BCB stations are out by 18kHz.

QtRadio can then be launched either from the Applications-Internet-QtRadio menu
or, by typing in another terminal, followed by enter:

QtRadio &

QtRadio needs to be aimed at the computer running the server software, in the
"receiver-configure-server" dialogue. If it is the same machine, it will already
be aiming at the default loopback address of 127.0.0.1, and nothing needs to be changed.

if it is another machine on the network with the HPSDR connected and running dspserver
and hpsdr-server, enter its IP address, i.e. 192.168.0.5 for example - yours will
probably be different.

select "receiver 0" in the "receiver-configure-server" dialogue if it 
isn't already, and you're not doing funky stuff with multiple receivers.

then select "Receiver-Connect" and you should be off and away.

Further info on using QtRadio in the ghpsdr3-alex distribution can be found at
http://napan.ca/ghpsdr3/index.php/QtRadio_-_Operation



TO PLAY WITH BLEEDING EDGE GHPSDR3-ALEX CODE

For those wishing to play with the bleeding edge code, the ghpsdr3-alex software
repository is availablevia git. A number of additional packages will be required.

using the command line in a terminal again, type

sudo apt-get install libqt4-opengl-dev glutg3-dev libusb-0.1-4
sudo apt-get install libfftw3-dev portaudio19-dev libpulse-dev
sudo apt-get install libsamplerate0-dev libusb-1.0-0-dev libconfig8-dev
sudo apt-get install autoconf
sudo apt-get install libtool
sudo apt-get install libusb-dev
sudo apt-get install libjack-dev
sudo apt-get install git-core

this last instruction installs the git software revision control system.
You can then pull down a copy of the development software to the directory
you are in if you issue the following command from the terminal window

git clone git://github.com/alexlee188/ghpsdr3-alex.git

this will create a clone of the ghpsdr3-alex software repository

to build the ghpsdr3 software

cd ghpsdr3-alex
autoreconf -i
./configure
make all

you will then have the three key pieces of ghpsdr3 software built

ghpsdr3-alex/trunk/src/QtRadio/QtRadio
ghpsdr3-alex/trunk/src/dspserver/dspserver
ghpsdr3-alex/trunk/src/server/hpsdr-server

it would pay to try them before using, from the ghpsdr3-alex directory,

make install

so that you do not overwrite working software previously installed
using the aforementioned apt-get install ghpsdr3 approach

if you go into
/home/esh/ghpsdr3-alex/trunk/src/monitor
you can type ¨make¨, and ¨monitor" the binary will end up in ghpsdr3-alex/trunk/bin

if you go into
/home/esh/ghpsdr3-alex/trunk/src/bandscope
you can type ¨make¨, and ¨bandscope" the binary will end up in ghpsdr3-alex/trunk/bin

if you go into
/home/esh/ghpsdr3-alex/trunk/src/receiver
you can type ¨make¨, and the network client version of ¨ghpsdr¨ will end up in ghpsdr3-alex/trunk/bin

further instructions can be found on the hpsdr reflector and 

https://github.com/alexlee188/ghpsdr3-alex/blob/master/README
http://napan.ca/ghpsdr3/index.php/Main_Page


BUILDING AND INSTALLING THE STANDALONE VERSION OF GO0RX/N6LYT GHPSDR

To play with with a USB attached HPSDR directly, you can use the
standalone NY6LT/G0ORX ghpsdr application

First of all, make sure the 90-ozy.rules file has been set up as
described at the beginning of this howto.

To install standalone ghpsdr under ubuntu, additional packages will
be needed (you may have some already installed by now):

sudo apt-get install make gcc
sudo apt-get install libfftw3-dev
sudo apt-get install libusb-1.0-0-dev libgsl0-dev
sudo apt-get install libgtk2.0-dev

sudo apt-get install subversion
svn co svn://svn.openhpsdr.org/svn/repos_sdr_hpsdr/trunk/N6LYT/ghpsdr ghpsdr

On U11.04 please add into INCLUDE  macro (inside ghpsdr/Makefile) the
following directory:

    -I/usr/lib/i386-linux-gnu/glib-2.0/include/

With all of the preliminaries out of the way

cd ghpsdr/
make clean
rm libDttSP.a
tar xvzf DttSP.tar.gz
cd DttSP
make clean
make -j4
cp libDttSP.a ..
cd ..
make -j4


which gives you the following binary to play with

ghpsdr/bin/ghpsdr

and you can aim your desktop launcher, if you want to, at the associated shell script

ghpsdr/bin/ghpsdr.sh



More information about the Hpsdr mailing list