gr-dsd icon indicating copy to clipboard operation
gr-dsd copied to clipboard

Just a heads-up

Open kantooon opened this issue 11 years ago • 13 comments

HI, I just wanted to let you know that I've used gr-dsd successfully with Gqrx: https://www.youtube.com/watch?v=BI3u8kfuhQ0 Great work!

kantooon avatar May 02 '14 16:05 kantooon

Nice! Have you let the author of gqrx know about that? Maybe you should post to the gqrx mailing list.

argilo avatar May 02 '14 16:05 argilo

I will, once I clean up the code a bit. It was a couple of nights of work, so it's not that pretty. Works very well though in automatic mode.

kantooon avatar May 02 '14 16:05 kantooon

Cool! I have been thinking about doing this for a while. Let me know when you have the code up.

robotastic avatar May 19 '14 13:05 robotastic

You can find gr-dsd integrated in gqrx here: https://github.com/kantooon/gqrx_fork (in branch digital).

kantooon avatar May 29 '14 06:05 kantooon

fyi: gqrx-digital has as a dependency gr-dsd, which uses dsd.h from the dsd project. global int exitflag should be defined as an extern, otherwise the linker will complain. Saw this being reported on pybombs as well as on my repo, but I don't read these messages often.

kantooon avatar Oct 14 '14 21:10 kantooon

Hello everyone,

I just installed: gr-dsd from: https://github.com/argilo/gr-dsd.git as well as installed Gqrx from https://github.com/kantooon/gqrx_fork.git. However, when I open Gqrx there is NO DSD Mode listed; only the standard Gqrx modes are available e.g. Raw I/Q, AM, Narrow FM, WFM (Mono), etc... However, if I open GNU Radio Companion there is a DSD Block available. Would anyone have an idea as to why there is no DSD Mode available after installing Gqrx from this fork? I forgot to add that I'm running: Ubuntu 14.04, kernel: 3.13.0-29-generic, GNU Radio Companion 3.7.5.1 and a Ettus Research USRP N210 if that makes any difference.

alteredstate82 avatar Dec 26 '14 07:12 alteredstate82

You need to use the digital branch. The new code has not been merged into master yet.

kantooon avatar Dec 26 '14 13:12 kantooon

Thank you for the prompt reply! I apologize, because I was executing: "git clone https://github.com/kantooon/gqrx_fork.git", when I needed to be executing: "git clone -b digital https://github.com/kantooon/gqrx_fork.git" (I'm still learning). However, when trying to build using: "make" I encounter this error:
file included from ../../gqrx_fork/receivers/nbrx.h:42:0, from ../applications/gqrx/receiver.cpp:36: /usr/local/include/dsd/dsd_block_ff.h:25:21: fatal error: dsd_api.h: No such file or directory #include dsd_api.h

compilation terminated. make: *** [receiver.o] Error 1

But the: "dsd_api.h" header file is indeed in the following directory as running the: "ls" command reveals: $:/usr/local/include/dsd$ ls dsd_api.h dsd_block_ff.h swig

Any idea what might be causing this?

alteredstate82 avatar Dec 29 '14 21:12 alteredstate82

Seems like include paths for the headers are incorrect. You can either fix this in 5 minutes by editing manually the headers to add <dsd/dsd_api.h> (notice the path there) or you can wait for Clayton to push a fix to gr-dsd.

kantooon avatar Jan 04 '15 13:01 kantooon

Ahhh, thanks for pointing me in the right direction (I'm learning something new all the time). I was looking through the Gqrx headers when it actually was the dsd_block_ff.h header file that needed changed. I changed the dsd_block_ff.h to show the correct path and that seems to have corrected that issue.

Now I have another issue:

g++ -m64 -Wl,-O1 -o gqrx main.o mainwindow.o receiver.o cafsk12.o costabf.o agc_impl.o correct_iq_cc.o lpf.o resampler_xx.o rx_demod_am.o rx_demod_fm.o rx_fft.o rx_filter.o rx_meter.o rx_agc_xx.o rx_noise_blanker_cc.o sniffer_f.o stereo_demod.o afsk1200win.o agc_options.o audio_options.o demod_options.o dockinputctl.o dockaudio.o dockfft.o dockiqplayer.o dockrxopt.o freqctrl.o gain_options.o ioconfig.o meter.o nb_options.o plotter.o qtcolorpicker.o nbrx.o receiver_base.o wfmrx.o rx_demod_qpsk.o qpsk_to_audio.o shoutstreamer.o pa_device_list.o pa_sink.o pa_source.o moc_mainwindow.o moc_cafsk12.o moc_afsk1200win.o moc_agc_options.o moc_audio_options.o moc_demod_options.o moc_dockaudio.o moc_dockfft.o moc_dockinputctl.o moc_dockiqplayer.o moc_dockrxopt.o moc_freqctrl.o moc_gain_options.o moc_ioconfig.o moc_meter.o moc_nb_options.o moc_plotter.o moc_qtcolorpicker.o qrc_icons.o -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_program_options -lrt -lgr-dsd -losmocore -lshout -L/home/marcus/Desktop/osmo-tetra/src -losmo-tetra-phy -losmo-tetra-mac -lpulse-simple -lpulse -L/usr/local/lib -lgnuradio-analog -lgnuradio-filter -lgnuradio-fft -lgnuradio-osmosdr -lgnuradio-blocks -lgnuradio-digital -lgnuradio-runtime -lgnuradio-pmt -lQtSvg -lQtGui -lQtCore -lpthread nbrx.o:(.bss+0x0): multiple definition of `exitflag' receiver.o:(.bss+0x0): first defined here collect2: error: ld returned 1 exit status make: *** [gqrx] Error 1

The only thing I have changed in the: "gqrx_fork" git file folder is the: "gqrx.pro" file. I changed these fields towards the end of the file within the: "unix:!macx {..." brackets:

DEPENDPATH += /home/marcus/Desktop/osmo-tetra/src LIBS += -L/home/marcus/Desktop/osmo-tetra/src -losmo-tetra-phy -L/home/marcus/Desktop/osmo-tetra/src -losmo-tetra-mac INCLUDEPATH += /home/marcus/Desktop/osmo-tetra/src

I could only get gqrx_fork to compile this far by changing those fields...otherwise it complained of osmo-tetra errors (there is no make install file for osmo-tetra either). Is this latest error the result of something I did, or something else? Again, thanks for all the help!

alteredstate82 avatar Jan 05 '15 20:01 alteredstate82

Your solution for osmo-tetra is just fine. Regarding the dsd global variable which confuses the linker, see my comment from October above. Again, an easy fix of 5 minutes if you are willing to grep through the source code, find the declaration and change it by adding the extern keyword. Though this issue should probably be reported on another bug, and fixed within gr-dsd.

kantooon avatar Jan 06 '15 16:01 kantooon

exitflags are incorrect because defined twice regarding to my colleague. once in dsd and a second time at some other point. he defined it as static flag and then it worked fine for us.

second is that the g++ command is incomplete. we receive

/usr/bin/ld: qpsk_to_audio.o: undefined reference to symbol '_talloc_zero@@TALLOC_2.0.2' //usr/lib/x86_64-linux-gnu/libtalloc.so.2: error adding symbols: DSO missing from command line

this is because the library is not in the call of LIBS in the Makefile add in the end if this happens to you too -ltalloc

all what is left then is a warning with: /usr/bin/ld: warning: libvolk.so.0.0.0, needed by //usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.7.5, may conflict with libvolk.so.1.0.2

but now it runs on kali 2.0

Highpressure avatar Jan 08 '16 19:01 Highpressure

Was there any progress regarding possible upstreaming of the Gqrx DSD support? Thanks!

AsciiWolf avatar Sep 16 '22 23:09 AsciiWolf