| Summary: | Gqrx software defined radio receiver | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | mr spring <playthatbeat> |
| Component: | New RPM package request | Assignee: | Barry Jackson <zen25000> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Normal | CC: | zen25000 |
| Version: | Cauldron | Keywords: | NEEDINFO |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | OK | ||
| Source RPM: | CVE: | ||
| Status comment: | |||
|
Description
mr spring
2014-12-24 12:57:35 CET
claire robinson
2014-12-24 23:55:10 CET
CC:
(none) =>
zen25000 (In reply to mr spring from comment #0) > Gqrx is a software defined radio receiver powered by GNU Radio and the Qt > GUI toolkit. It can process I/Q data from many types of input devices, > including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal Software > Radio Peripheral (USRP) devices. http://sourceforge.net/projects/gqrx/ > > Mageia has gnu-radio, but it is almost useless. That's hardly a fair comment! > Gqrx is the front-end that makes it worth the package. It does seem that gqrx does provide a useful interface especially for beginners, so i am looking at the possibility of packaging it. > Requires gr-osmosdr (driver support) and a full deployment of a recent > gnuradio (analog etc.) ...and also requires gr-iqbal, which also requires libosmo-dsp, which also requires hackrf. Thankfully Fedora have done most of the work on this so it's mainly a matter of cleaning specs and figuring out dependency names in Mageia unless we hit any brick walls. But it won't be tomorrow ;) Assignee:
bugsquad =>
zen25000 Ah, i said 'almost' useless - and i felt that was justified at the time, as i was feeling frustrated and defeated after failing to get anywhere with Gqrx. I think the implication is GnuRadio will enable Your SDR within linux, the reality is it provides a starting point from which to develop functionality with an SDR, and unless a user has previous experience in RF theory, or alot of time on their hands, it's not functional as a front end or control surface for Your SDR. Gqrx looks like a validation for GnuRadio to me, and as close to SDR# as we can get right now. I already tried to package everything needed, but Qt Creator and checkinstall took turns to ruin my attempts, with varying problems. GnuRadio and Osmosdr would install manually, but so many issues making .rpm i had to give up. I'll try again in the new year and log what _actually_ is the stumbling block, maybe it will help speed things along. I saw there is a script for ubuntu that will build everything from scratch to get Gqrx running, i ofc noticed this near the end of my futile package attempts, compounding my irritation. OK, NP on whenever, i know there are bigger fish in the cauldron, i just felt the inclusion of GnuRadio in Mageia was being underutilised without something like Gqrx in the repo to make it instantly deliver. Yes, OK, i'm also lazy. OK I have spent some time on this and have enough to begin some tests if you wish. I assume that you are using Cauldron (x86_64) and have some suitable SDR hardware. In order to test you will need to add my test repo to your media in Cauldron and then install gqrx (it will pull another heap of new packages (also only available in my repo). It's not likely to work out of the box as there is work to be done, but maybe we can work together on this as I have no SDR hardware (yet) ;) So, to add my media and install gqrx: su urpmi.addmedia Extra http://mtf.no-ip.co.uk/pub/linux/barjac/distrib/cauldron/x86_64/extra/release urpmi gqrx Now disable Extra media in mcc (Don't update your system with it enabled!!) Run it from CLI as your normal user with the SDR dongle attached and let me know how you get on. Correction: urpmi.addmedia Extra http://mtf.no-ip.co.uk/pub/linux/barjac/distrib/cauldron/x86_64/media/extra/release I should have double checked it.
Barry Jackson
2015-01-02 11:28:08 CET
Keywords:
(none) =>
NEEDINFO I'm making a cauldron install now on my radio machine, as it's already in daily use for various radio things with clunky XP. It's not a serious machine by any stretch - unremarkable nforce mobo, twin core AMD FX, GT6 nVidia graphics card, 4GB of ram, extra serial ports for keying, pretty standard for SDR, logging and rig control, and probably typical for a 'hand-me-down' desktop in use for radio. Nothing fancy. I have an RTL dongle (and an upconvertor for HF) in the shack, and an RF-space SQR IQ paired with an IF board in an FT-2000, so should be able to get some results pretty quick once i have cauldron up.. WTS. Sounds good - I'm glad you don't have fcd+ as I can't get that to build yet, so it's not compiled in. I need to go back through everything and check that services run properly etc. I will push all the lot when Cauldron re-opens after Mga5 release. assuming that you have some success. I'm not sure if gqrx actually pulls in all the required bits of gnuradio, so it may be good to try installing it without gnuradio pre-installed so you can check if anything essential is missing. BTW what's your callsign? (email me if you don't want it on here) - I will do likewise. Barry OK, sorry for delay - been a hectic work week for me.. this works my friend! 1 minute of fiddling with an RTL2838UHIDIR and a behringer usb soundcard and it's working with good results on FM broadcast band with clean and solid stereo. just waiting for the XYL to go out then i can try and break it in elsewhere :) gqrx sees all the soundcards on the machine, and also sees the RFspace SDR i/q - i'll some diff combos later. I'm in the Mageia IRC as 'playthatbeat' if You want to PM me BTW.. [code] [user@radio ~]$ gqrx linux; GNU C++ version 4.9.2 20141001 (prerelease); Boost_105500; UHD_003.007.002-0-unknown gr-osmosdr v0.1.x (0.1.5git) gnuradio 3.7.5.1 built-in source types: file fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy Using Volk machine: sse4_a_64_orc Could not resolve property : pattern10600 gr-osmosdr v0.1.x (0.1.5git) gnuradio 3.7.5.1 built-in source types: file fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy Using device #0 Realtek RTL2838UHIDIR SN: 00000001 Detached kernel driver Found Rafael Micro R820T tuner Exact sample rate is: 1500000.014901 Hz Could not resolve property : pattern10600 rtlsdr_read_async returned with -5 [/code] Excellent - I was not really expecting that! :) Really very impressed with how this cheapo RTL is working! This can be classed as a win IMHO - and i'm quite sure this will provide the instant gratification needed to stimulate now to look at the RF Space SDR I/Q - it's not working causing a fatal crash when selected. I'm not clear if this is about the device itself appearing as /dev/ttyUSB0 and being "in a confused state", a driver issue, or if it's about the physical port on the rear of the SDR I/Q itself. [code] Reattached kernel driver gr-osmosdr v0.1.x (0.1.5git) gnuradio 3.7.5.1 built-in source types: file fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy FATAL: Could not open /dev/ttyUSB0: Permission denied Trying to fill up 1 missing channel(s) with null source(s). This is being done to prevent the application from crashing due to gnuradio bug #528. Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::notify() and catch all exceptions there. terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::math::rounding_error> >' what(): Error in function boost::math::round<f>(f): Value -inf can not be represented in the target integer type. Aborted [/code] Next time gqrx kicks off it tries to start with the last-selected device, but avoids a crash loop by noticing it crashed previously, and asking You to re-select the hardware choice! NICE! In the above what are the permissions on /dev/ttyUSB0?
You may want to check if you are included in rtlsdr group
I will look closer at rtl-sdr package.
For your interest this is the build dependency tree that I came up with for gqrx.
All currently build except gr-fcdproplus.
*hackrf *libosmo-dsp *hidapi *bladerf *rtl-sdr *airspy
| | | | | |
| *gr-iqbal | | | |
| | | | | |
| | gr-fcdproplus | | |
|_________|___________|_______|_________|_______|
|
*gr-osmosdr
|
*gqrx
Ah ok, this is a replay of the GPS external antenna issue of old, all the [SDR IQ] hardware needs is for root to: "chmod 666 /dev/ttyUSB0" then everything works as expected. demod is stunning for HF, very clean and a very low noisefloor. Best sample rate i can handle for the SDR IQ is 158730 when running to a USB soundcard at 48k. If You change this rate, you need to retune to start the streaming again. Also tested the .raw grabbing and it appears to work superbly. Didn't see an rtlsdr group BTW. Hmm.. What is the output of: $ lsusb with the dongle inserted? Removing and replacing the dongle should currently reset the permissions to 660, so could you please do that and then give the output of: $ ls -l /dev/ttyUSB0 Thanks, Barry BTW What up-converter are you using for HF? $ lsusb Bus 001 Device 007: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 006: ID 058f:9360 Alcor Micro Corp. 8-in-1 Media Card Reader Bus 002 Device 007: ID 08bb:2902 Texas Instruments PCM2902 Audio Codec Bus 002 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC Bus 002 Device 005: ID 06f2:0011 Emine Technology Co. KVM Switch Keyboard Bus 002 Device 003: ID 0451:2046 Texas Instruments, Inc. TUSB2046 Hub Bus 002 Device 002: ID 2192:0010 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub $ ls -l /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 Jan 12 14:25 /dev/ttyUSB0 ttyUSB0 is the rfspace device - and it's bombing gqrx again "FATAL: Could not open /dev/ttyUSB0: Permission denied" upconvertor is a 125MHz UC 1.21b4 www.nooelec.com the opendous.org design. think it might be a clone. blue board, waiting for a lead to run it properly.. Jan 12 15:03:56 radio.hole su[26152]: pam_tcb(su:session): Session opened for root by user(uid=500) Jan 12 15:04:31 radio.hole kernel: usb 2-4: new full-speed USB device number 8 using ohci-pci Jan 12 15:04:31 radio.hole kernel: usb 2-4: New USB device found, idVendor=0403, idProduct=6001 Jan 12 15:04:31 radio.hole kernel: usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Jan 12 15:04:31 radio.hole kernel: usb 2-4: Product: SDR-IQ Jan 12 15:04:31 radio.hole kernel: usb 2-4: Manufacturer: FTDI Jan 12 15:04:31 radio.hole kernel: ftdi_sio 2-4:1.0: FTDI USB Serial Device converter detected Jan 12 15:04:31 radio.hole kernel: usb 2-4: Detected FT232RL Jan 12 15:04:31 radio.hole kernel: usb 2-4: FTDI USB Serial Device converter now attached to ttyUSB0 Jan 12 15:04:31 radio.hole mtp-probe[26787]: checking bus 2, device 8: "/sys/devices/pci0000:00/0000:00:02.0/usb2/2-4" Jan 12 15:04:31 radio.hole mtp-probe[26787]: bus: 2, device: 8 was not an MTP device ^ above is the RFSPACE SDR I/Q Below is for the RTL DVBt Dongle Jan 12 15:06:10 radio.hole kernel: usb 1-9: new high-speed USB device number 10 using ehci-pci Jan 12 15:06:10 radio.hole kernel: usb 1-9: New USB device found, idVendor=0bda, idProduct=2838 Jan 12 15:06:10 radio.hole kernel: usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Jan 12 15:06:10 radio.hole kernel: usb 1-9: Product: RTL2838UHIDIR Jan 12 15:06:10 radio.hole kernel: usb 1-9: Manufacturer: Realtek Jan 12 15:06:10 radio.hole kernel: usb 1-9: SerialNumber: 00000001 Jan 12 15:06:10 radio.hole kernel: usb 1-9: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state Jan 12 15:06:10 radio.hole kernel: usb 1-9: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer Jan 12 15:06:10 radio.hole kernel: DVB: registering new adapter (Realtek RTL2832U reference design) Jan 12 15:06:10 radio.hole kernel: i2c i2c-2: Added multiplexed i2c bus 3 Jan 12 15:06:10 radio.hole kernel: i2c i2c-2: Added multiplexed i2c bus 4 Jan 12 15:06:10 radio.hole kernel: usb 1-9: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))... Jan 12 15:06:10 radio.hole kernel: r820t 2-001a: creating new instance Jan 12 15:06:10 radio.hole kernel: r820t 2-001a: Rafael Micro r820t successfully identified Jan 12 15:06:10 radio.hole kernel: usb 1-9: Registered as swradio0 Jan 12 15:06:10 radio.hole kernel: i2c i2c-2: rtl2832_sdr: Realtek RTL2832 SDR attached Jan 12 15:06:10 radio.hole kernel: usb 1-9: rtl2832_sdr: SDR API is still slightly experimental and functionality changes may follow Jan 12 15:06:10 radio.hole kernel: Registered IR keymap rc-empty Jan 12 15:06:10 radio.hole kernel: input: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:02.1/usb1/1-9/rc/rc0/input14 Jan 12 15:06:10 radio.hole kernel: rc0: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:02.1/usb1/1-9/rc/rc0 Jan 12 15:06:10 radio.hole kernel: input: MCE IR Keyboard/Mouse (dvb_usb_rtl28xxu) as /devices/virtual/input/input15 Jan 12 15:06:10 radio.hole kernel: rc rc0: lirc_dev: driver ir-lirc-codec (dvb_usb_rtl28xxu) registered at minor = 0 Jan 12 15:06:10 radio.hole kernel: usb 1-9: dvb_usb_v2: schedule remote query interval to 400 msecs Jan 12 15:06:10 radio.hole kernel: usb 1-9: dvb_usb_v2: 'Realtek RTL2832U reference design' successfully initialized and connected Jan 12 15:06:10 radio.hole mtp-probe[28311]: checking bus 1, device 10: "/sys/devices/pci0000:00/0000:00:02.1/usb1/1-9" Jan 12 15:06:10 radio.hole mtp-probe[28311]: bus: 1, device: 10 was not an MTP device And this is both being inserted at roughly the same time: Jan 12 15:08:09 radio.hole kernel: usb 1-9: new high-speed USB device number 11 using ehci-pci Jan 12 15:08:09 radio.hole kernel: usb 1-9: New USB device found, idVendor=0bda, idProduct=2838 Jan 12 15:08:09 radio.hole kernel: usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Jan 12 15:08:09 radio.hole kernel: usb 1-9: Product: RTL2838UHIDIR Jan 12 15:08:09 radio.hole kernel: usb 1-9: Manufacturer: Realtek Jan 12 15:08:09 radio.hole kernel: usb 1-9: SerialNumber: 00000001 Jan 12 15:08:09 radio.hole kernel: usb 1-9: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state Jan 12 15:08:09 radio.hole kernel: usb 1-9: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer Jan 12 15:08:09 radio.hole kernel: DVB: registering new adapter (Realtek RTL2832U reference design) Jan 12 15:08:09 radio.hole kernel: i2c i2c-2: Added multiplexed i2c bus 3 Jan 12 15:08:09 radio.hole kernel: i2c i2c-2: Added multiplexed i2c bus 4 Jan 12 15:08:09 radio.hole kernel: usb 1-9: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))... Jan 12 15:08:09 radio.hole kernel: r820t 2-001a: creating new instance Jan 12 15:08:09 radio.hole kernel: r820t 2-001a: Rafael Micro r820t successfully identified Jan 12 15:08:09 radio.hole kernel: usb 1-9: Registered as swradio0 Jan 12 15:08:09 radio.hole kernel: i2c i2c-2: rtl2832_sdr: Realtek RTL2832 SDR attached Jan 12 15:08:09 radio.hole kernel: usb 1-9: rtl2832_sdr: SDR API is still slightly experimental and functionality changes may follow Jan 12 15:08:09 radio.hole kernel: Registered IR keymap rc-empty Jan 12 15:08:09 radio.hole kernel: input: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:02.1/usb1/1-9/rc/rc0/input16 Jan 12 15:08:09 radio.hole kernel: rc0: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:02.1/usb1/1-9/rc/rc0 Jan 12 15:08:09 radio.hole kernel: input: MCE IR Keyboard/Mouse (dvb_usb_rtl28xxu) as /devices/virtual/input/input17 Jan 12 15:08:09 radio.hole kernel: rc rc0: lirc_dev: driver ir-lirc-codec (dvb_usb_rtl28xxu) registered at minor = 0 Jan 12 15:08:09 radio.hole kernel: usb 1-9: dvb_usb_v2: schedule remote query interval to 400 msecs Jan 12 15:08:09 radio.hole kernel: usb 1-9: dvb_usb_v2: 'Realtek RTL2832U reference design' successfully initialized and connected Jan 12 15:08:09 radio.hole mtp-probe[30139]: checking bus 1, device 11: "/sys/devices/pci0000:00/0000:00:02.1/usb1/1-9" Jan 12 15:08:09 radio.hole mtp-probe[30139]: bus: 1, device: 11 was not an MTP device Jan 12 15:08:13 radio.hole kernel: usb 2-4: new full-speed USB device number 9 using ohci-pci Jan 12 15:08:13 radio.hole kernel: usb 2-4: New USB device found, idVendor=0403, idProduct=6001 Jan 12 15:08:13 radio.hole kernel: usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Jan 12 15:08:13 radio.hole kernel: usb 2-4: Product: SDR-IQ Jan 12 15:08:13 radio.hole kernel: usb 2-4: Manufacturer: FTDI Jan 12 15:08:13 radio.hole kernel: ftdi_sio 2-4:1.0: FTDI USB Serial Device converter detected Jan 12 15:08:13 radio.hole kernel: usb 2-4: Detected FT232RL Jan 12 15:08:13 radio.hole kernel: usb 2-4: FTDI USB Serial Device converter now attached to ttyUSB0 Jan 12 15:08:13 radio.hole mtp-probe[30164]: checking bus 2, device 9: "/sys/devices/pci0000:00/0000:00:02.0/usb2/2-4" Jan 12 15:08:13 radio.hole mtp-probe[30164]: bus: 2, device: 9 was not an MTP device And the permissions again: RTL: (working fine) crw-rw----+ 1 root video 81, 0 Jan 12 15:08 /dev/swradio0 SDR I/Q: (crashes) crw-rw---- 1 root dialout 188, 0 Jan 12 15:08 /dev/ttyUSB0 then after a chmod from root, SDR I/Q: (working) crw-rw-rw- 1 root dialout 188, 0 Jan 12 15:08 /dev/ttyUSB0 Reading http://sdr.osmocom.org/trac/wiki/GrOsmoSDR Quote: The ftdi_sio driver is being used for SDR-IQ. It creates a character device of the form: crw-rw---- 1 root dialout 188, 0 Dec 19 22:14 /dev/ttyUSB0 To be able to open the device without root permissions add yourself to the "dialout" group or do a "chmod 666 /dev/ttyUSB0" after pluggin in. Which is exactly what you did on IRC today. I suspect that having the rtl device attached at the same time may be confusing things. Can you try the RFSpace on it's own. Maybe boot without either and then plug in RFSpace and then try to run the software. It should work with you in dialout group. If it works on it's own, then maybe it needs to be detected first, so switching USB ports for the two devices may solve it. confirm the RFspace works from boot, permissions stuck, all good if the RTL is not inserted.. The RFspace is in a socket at the rear of the machine (mobo mounted) while the SDR i had been running in the socket on a multi-card-reader in a bay at the front - not the place You would have it if You were seriously using it in fairness.. i should move it to the rear on a 'real' socket... OK finally it's in Cauldron. Please test it as best you can! Closing the bug as fixed, but please comment with any feedback or issues that you find. For reference the new srpm package names involved here are: airspy bladerf gqrx gr-fcdproplus gr-iqbal gr-osmosdr hackrf hidapi libmirisdr libosmo-dsp osmo-sdr rtl-sdr Status:
NEW =>
RESOLVED Just installed from Cauldron, and it's working OOB now. After uninstalling the Test version and orphans, this is what it pulled in for me: - airspy-1.0.3-1.mga5.x86_64 - bladerf-2014.11-1.mga5.x86_64 - gr-fcdproplus-0-0.20150118git22f51738.1.mga5.x86_64 - gr-osmosdr-0.1.4.0-2.mga5.x86_64 - hackrf-2014.08.1-1.mga5.x86_64 - lib64airspy0-1.0.3-1.mga5.x86_64 - lib64bladerf1-2014.11-1.mga5.x86_64 - lib64boost_filesystem1.55.0-1.55.0-8.mga5.x86_64 - lib64boost_regex1.55.0-1.55.0-8.mga5.x86_64 - lib64boost_serialization1.55.0-1.55.0-8.mga5.x86_64 - lib64gnuradio-analog0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-audio0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-blocks0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-fcd0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-fft0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-filter0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-pmt0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-runtime0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-uhd0-3.7.5.1-3.mga5.x86_64 - lib64gnuradio-volk0-3.7.5.1-3.mga5.x86_64 - lib64gr-fcdproplus0-0-0.20150118git22f51738.1.mga5.x86_64 - lib64gr-iqbal0-0.37.2-1.mga5.x86_64 - lib64gr-osmosdr0-0.1.4.0-2.mga5.x86_64 - lib64hackrf0-2014.08.1-1.mga5.x86_64 - lib64hidapi0-0.7.0-0.a88c724.2.mga5.x86_64 - lib64libosmo-dsp0-0.3-1.mga5.x86_64 - lib64mirisdr0-0.0.20130608-2.mga5.x86_64 - lib64osmo-sdr0-0.1.20131117-2.mga5.x86_64 - lib64rtl-sdr0-0.5.3-1.mga5.x86_64 - libmirisdr-0.0.20130608-2.mga5.x86_64 - rtl-sdr-0.5.3-1.mga5.x86_64 - uhd-3.7.2-3.mga5.x86_64 I'll use it for a day non-stop as a panadaptor, see how we go. |