New RTL-SDR Drivers and SDR-Console ExtIO Available: Bias Tee Support, Direct Sampling, Tunable IF Filters and Improved Gain Profiles

Recently two branches of RTL-SDR drivers were updated. Over on GitHub racerxdl’s librtlsdr branch adds bias tee support for our V3 dongles to rtl_adsb, rtl_fm, rtl_power and rtl_tcp.

For SDR-Console users jdow’s ExtIO and driver now has an option to enable the direct sampling mode, which is allows the HF mode on our V3 dongles to be activated. The ExtIO module can be downloaded from her Google drive.

To use Joannes drivers download the SDRconsole folder by right clicking it, and selecting download. Then copy files from the x86 (32-bit) or x64 (64 bit) folders into the SDRConsole folder, replacing any files that already exist. Run the RtlSdr Catalog.exe file, then open SDR-Console and from the definitions choose RTL-SDR(Full). Then in the Radio Configuration settings you can choose to use the Q-branch, which will automatically enable the direct sampling mode when tuned below 24 MHz.

SDRConsole with a V3 dongle and HF Direct Sampling.
SDRConsole with a V3 dongle and HF Direct Sampling.

We’ve also discovered that Joanne has been working on RTLSDR++, which is a driver upgrade that includes some pretty interesting enhancements. When running Joanne’s drivers in SDR-Console we also see options to change the IF filter bandwidths of the R820T2 tuner. This is very useful as this allows you to control the preselector on board the R820T2. You can use this to attenuate strong out of band signals. Her driver also has improved gain profiles. One gain profile is optimized to reduce IMD distortion (prevent overload and images), and the other is designed to optimize sensitivity.

RTLSDR++ Driver: New IF bandwidth settings for preselection.
RTLSDR++ Driver: New IF bandwidth settings for preselection.
RTLSDR++ Drivers: New Gain Options
RTLSDR++ Drivers: New Gain Options

In addition Joanne has also created RtlTool.exe which is a GUI replacement for rtl_test.exe and rtl_eeprom.exe. It can be used to test for lost samples on your RTL-SDR and to flash the EEPROM memory. Most RTL-SDR dongles on most PCs are stable up till 2.56 MSPS, but this tool can be used to check. It can also be used to set the dongle serial number, vendor ID and name by flashing the EEPROM which most RTL-SDRs contain.

There’s also the RtlSdr Catalog tool which also helps manage multiple dongles being connected to the PC at once. See the readme file for more information on using this tool.

All these programs can also be downloaded from Google drive. Her RTL++ driver is also open sourced and available on GitHub.



      • admin

        Hi Jdow, i’ve had to edit the link into a tinyurl for brevity as long strings mess up the sidebar. But isn’t this the same link as in the article?

        • JDow

          Please edit the original article’s link. People who cannot be bothered to read the comments are getting flushed out of my mailbox because I am not going to answer them all. Life’s too short, especially at my age.

  1. Clueless

    I feel so stupid – why it works on one windows 10 machine and not on another. The prgram can’t find divice.


    • JDow

      What does the device manager say? Compare the two machines. Perhaps you only ran Zadig on one of them or (shudder) ran it incorrectly on the machine that does not work. Also make sure you use 32 bit or 64 bit files as appropriate.


      • vicsdr

        hi, i have a similar problem: i downloaded rtltool, and run the program, and it does not display any connected sdr, even if my rtl-sdr is connected to the pc, is recognised by the machine and is running correctly with sdr console or sdr++. i’ve tried several things but none of them works out. thanks in advance, i look out for help!

        • JDow

          I know about the problem. I abandoned the project when Google screwed up access to the tools. The simple work around is to run the catalog. The catalog is part of the rtlsdr++ distribution I had, “” and for completeness this is the current tool address “”.

          Since new links do not provide anything useful to me just endless email please I’ve discontinued all work on it. I don’t use the rtlsdr dongles anymore so the motivation went away. But, do run the catalog. “It’s magic” for rtltool.

  2. chipbutty

    Same thing happened today but I then ran RtlSdr_Catalog, started SDR Console and the radio started no problems. I didn’t realise you need to start this each time you want to run SDR Console. At least that’s my experience.

    • JDow

      You are aware that SDRConsole replaces rtlsdr.dll as part of the install, I hope. What I do is save off a copy of my rtlsdr.dll, libusb-1.0.dll, and SDRSourceRTL2832UFull.dll. The latter is not really needed. But for awhile I ran tests on SDRSourceRTL2832UFull.dll fairly often and wanted an easy to reestablish baseline.

      Every time I install SDRC I copy those three files back into the C:\Program Files\ (V3) folder.

    • JDow

      This points to a problem in the rtlsdr.dll I made. It seems to require at least the registry entry the catalog makes for it to work right. As a workaround for now run the catalog. It’s size and computational load is negligible. I need to prepare a “virgin” machine and perform some debugging. That will take me awhile. I have other issues on the agenda at the moment and this one has a workaround.

  3. Ste

    Hi, so I came across this post last night and followed the guide – everything went great and I was happy to find I could now find HF signals with my V3 dongle, even without a proper antenna. It worked all night, then when I tried it this morning Console would not start the radio at all. No error messages, I clicked the button to start the radio and nothing happened. In the end the only way I could get it working again was to uninstall Console and reinstall it with the standard drivers. The PC was shutdown last night and restarted this morning. It’s a newly built high end Ryzen system. Whilst Console was not working, I tried the dongle with HDSDR and SDRUno on the same machine, as well as in Cubic SDR and GQRX on another machine and it was working fine. The only issue was with Console. Any ideas? I really want to use Console over the other programmes, and I’d really like to use the HF capability.

    • Jock Mckie

      Using latest software. if you have sdruno shortcut on the desktop, right click on the the shortcut, open file location, look at files, you will see two shortcut files files, “SDRuno.exe” and “SDRuno.EXTIO.exe”. it seems that the default on the desk top is SDRuno.exe. where as for rtl-v3 dongle use “SDRuno.EXTIO.exe.” you can make another short cut by highlighting and right clicking the file and selecting “create shortcut”

      • Ste

        Nope that’s not the problem. I never ever ever use desktop shortcuts, and I am not trying to use SDRUno either, I am talking about using SDR Console here, SDRUno is working fine for me. This topic is about using an alternative driver to enable HF without an upconverter in SDR Console, it has nothing to do with SDRUno.

    • JDow

      All that comes to mind is unplug the dongle and plug it back in. Also make sure you are working out of the same directory into which I put the rtlsdr.dll and libusb*.dll file. If you are launching from a shortcut then make sure the shortcut points to the SDRC directory as the working directory.


    • chipbutty

      I had the same issue. Installed yesterday and today I went to start the radio and nothing. Removed the dongle and reinserted but still nothing. Rebooted and still wouldn’t work. Reinstalled Console and went through the RTL setup and all is well again. Will see if the same thing happens again tomorrow.

  4. John G

    Appologize for resurecting an old thread…. I am attempting to use the HF mode through SDR console with the .DLL updates mentioned in this article. When I apply the updates to my version 3.0.6 build 1443 of SDR Console, I do see the “RTL SDR (FULL)”. When I select it and then click start, nothing happens / fails to start receiving. If I revert the DLL files, re-select the old RTL Dongle, SDR Consle starts receiving fine. I am scratching my head why the simple steps are not working for me. I have not installed a previous version of these DLLs. I have also re-installed SDR Console with the same result.

    • JDow

      Do not replace the native drivers. There is no need to do this.

      You do need to create a new definition with my driver for the dongle. Then you can use the native driver with your original definition and my driver with the newly created definition. You should see a significant difference in the configuration panels, too. Simon’s are more limited and are modal. Mine are not modal allowing you to interact with the main body of the GUI while the configuration panels are up.

      I suspect you may find the direct mode disappointing, though. It was useless enough for me that I have never revisited it. (20 meters is close to useless due to Mr. Nyquist’s theorem.)Two means of achieving this HF operation exist. One is selecting I or Q mode on a modified dongle. The other throws the tuner into an imbalanced state and works on leakage through the mixer. If you use I or Q mode reception please please include a lot of static suppression as it goes directly into the chip with no real protection.


      • JDow

        Addendum – I repeat that I am not sure either of these methods really work. I’ve not regression tested those paths because of their lack of utility for me. Source exists on GitHub if you want to fix it. Look for rtlsdr-Cplusplus-VS2010. (I also have it compiling with VS2017 and you can download the community edition compiler for free.)

      • John G

        Thank you for the reply… I think I have it working now with your steps. I do not see any options under the IF Bandwidth Setting tab. Is this a separate .dll?

        • JDow

          Hm, I thought I had that blocked out normally. However, you can get it by using a qualifier. shift or control (I forget which off hand)). And if you have more detail than “simply explore the settings possibilities” let me know and I may put together time to refine the DLL. Or if you want source I can send it to you.


          • David C Jackson

            So pressing “Ctrl + Radio Configuration” enables the super secret “Adjust Filters For.. / Adjust Filter Parameters”. Very cool! What can I do with it though? I have phenomenal performance on HF (150 foot long wire, 9:1, 50 foot counterpoise, 1:1 unun, AM bandstop filter), I’m just looking to try and kill some hellacious intermod I get around sunset that severely overloads the dongle, that I can’t get rid of without bypassing the UNUN. Would these filter parameters be helpful?

            • JDow

              In a word, “Hack”. It’s for experimentation. You might find settings you like better than the ones I found.

  5. Sivaramaprasad Kappagantu

    I very much request the experts to post a tutorial video as to how to configure SDR Console software for SDR RTL2832 + R820T (which I purchased from FabtoLab details in this link ) Although I could configure to receive FM stations, I am not able to configure for MW/SW stations. Kindly post a tutorial Video for the benefit of people like me.

  6. Sivaramaprasad Kappagantu

    Thank you for the write up and the files shared. I am using SDR Console V3.0.2 and configured my RTL SDR in the software. However, I am able to get only local FM stations. But I am not able to get the MW/SW stations in the frequency range of 100Khz~30 Mhz. I hope the details and files provided in this article shall solve my problem, I shall try tomorrow afresh in the morning.

    • JDow

      If you bring up the Radio Configuration panel and mouse around a little you will find an option “Direct Sampling”. Tick it AND select a frequency below about 28 MHz. What you get may and may not be useful. The code came from an rtlsdr that claims direct sampling performance. I gave it a brief try and decided the mode was trash so never rechecked that mode again. It’s too close to useless. Feel free to fork the project as needed.

      That said you SHOULD be able to receive a whole lot more than FM radio if you use a modest antenna, NOT the ridiculous spike that comes with mode dongles. The desirable antenna length for a simple suction cup vertical is about 2.94/F with F in MHz. The tolerance on this for a receiver is VERY high so don’t get anal about more than 10% accuracy. Then set the gain, RF Gain on the home menu, to about 19.7 dB or 20.7 dB. You should be able to find aircraft, probably between 120 MHz and 135 MHz for example. In the US, at least, there is a whole lot more including several ham bands within the coverage of the dongles.


  7. gmvoeth

    It would be nice if someone could possibly collect all the SDR drivers into one collection to be downloaded as a zip or rar file

  8. Sergey

    The new driver with SDR Console works fine.
    How to enable direct sampling in the SDRServerManager program?

    • jdow

      You don’t. I never put it in because it’s utility was too low for what I needed. Feel free to fork the project. The sensitivity is rather lacking unless you use a full size antenna. The mode for operation below 50 MHz works on leakage through the mixer stage. Without filters in front of it you are never going to be sure precisely what you hear. So for my interests, ham radio reception, it won’t do. For example it will not work on 20 meters and 10 meters due to Nyquist nulls from the 28.8 MHz sample rate.


  9. jdow

    Let’s straighten up some interesting points here. My rtlsdr++ is not an ExtIO driver. It is a customized Windows replacement for rtlsdr.dll itself with some fun stuff on the side. You can read my ramblings in the text files which accompany the executables. Sources are up on GItHub. Username is ms-jdow.

    RTLTool is a separate tree. If need be I am certainly willing to toss it up onto GitHub as well. It useful for testing different modes for drawing down data. (Sync/Async doesn’t make a material difference in performance if done right.) It also allows renaming dongles. This is important if the catalog tool is used. If you have multiple dongles plugged in this helps at least SDR Console startup faster and delivers the dongle you want not the first one seen.

    And there is an SDR Console “Source*.dll” that wrings more performance out of the dongles than Simon’s default driver. For Simon’s SDR-Radio (V3) you download the “SDRSourceRTL2832U Distribution” file. Unzip it some place handy. Drill down to the x64 or x86 directory. Then copy at least the SDRSourceRTL2832UFull.dll and rtlsdr.dll files into the “SDR-Radio (V3)” folder in the appropriate program files folder. The catalog and libusb files are there for convenience. The catalog tool is a TINY tray tool that keeps a catalog of rtlsdr dongles on your system – as long as they all have different serial numbers. With it in action SDR Console starts faster. This is not true with SDRSharp due to the way it operates inside. I use it as a tool in the Startup folder with a “-quiet” parameter.

    But, I repeat, it is NOT an ExtIO thingus at all.


  10. CW

    Just downloaded the latest sdr console v3, installed this as shown… It wont switch to q sample or I sample, stays in quad. I am using the v3 dongle.

    • LU

      I fixed my problem.

      I change and Add a new Dongle Device “RTL-SDR FULL” in SDR-Console options, now you can view a NEW Driver options.

  11. Jeffery Legere

    This was not very well written. first it says there are two branches that are updated, then only talks about one. Then he starts talking about rtlsdr++ and mixes that in for more confusion over what can be done with the one branch.

    • admin

      First branch is racerxdl’s from the first paragraph. Second is jdow’s. Jdow’s branch has more to show so the article is mainly about that.

    • Maurice

      why isnt zadig part of all these sdr programs/applications – why does it need to be downloaded separately? so confusing all these .dlls and .exes one needs to download to make these dongles work.

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>