The RTL-SDR has two receiver portions, the 2832U portion used by GNU Radio, and the 2838 DVB-T receiver used for European terrestrial TV broadcast reception.  The RTL-SDR 2832U receiver DSP interface is natively included in the GNU Radio DSP library.  With GNU Radio version changes, GRC3.7.3 and above, a driver bug fix is sometimes required for the RTL-SDR receiver to function in a flow graph.  The driver bug fix involves directing the USB driver to the 2832U portion of the RTL-SDR device, and to not recognize the 2838 DVB-T portion.  Without the bug fix the 2832U and 2838 receivers are both recognized at the same time and the 2832U circuitry cannot to link via the USB port to the flow graph.  Without a driver bug fix an error message appears in the Console at the bottom of the GRC work area: ” …..usb_claim_interface error -6 Failed to open rtlsdr device #0 “

How to temporarily bypass the bug

A temporary bug fix turns off the 2838 DVB-T function and selects the 2832U to connect to the USB port.  This bug fix must be performed each time the RTL-SDR unit is connected to the USB port.  The USB driver reverts on reconnect and recognizes both components again.  The temporary bug fix must be repeated.  The USB setting fix is durable as long as the RTL-SDR device is left connected to the USB port.  To implement the temporary driver bug fix follow this procedure:

1) plug the RTL-SDR into a USB port

2) enter, or copy and paste this command into the terminal program:

~$ sudo rmmod dvb_usb_rtl28xxu  (Enter)

3) execute the flow graph that uses the RTL-SDR

How to permanently change the Ubuntu USB driver using ‘Blacklist’

A permanent bug fix prevents the Ubuntu USB driver from recognizing the 2838 DVB-T device.  No further terminal entries will be needed with this permanent driver bug fix to use the RTL-SDR on demand.  This process is often called “blacklist” and uses Ubuntu modprobe.  A simple way to “blacklist” is as follows:

1) in the terminal application enter, or copy and paste the following commands:

~$ cd /etc/modprobe.d/  (Enter)

~$ sudo nano ban-rtl.conf  (Enter)

2) At this point a blank text window appears (nano) and you enter this command:

blacklist dvb_usb_rtl28xxu

3) Save the file, and reboot your computer.

4) On reboot use the terminal application to enter or copy and paste:

~$ rtl_test -t

5) The screen should display the RTL-SDR 2832U device instead of the “busy” error message.

Link to Terms and Abbreviations: Terms and Abbreviations

Link to Home Page: Home Page