Support for the RTL-SDR dongle

The RTL-SDR dongle is available for under $30 US. Connect one to the IF on your rig, and WriteLog can display a panadapter on its Band Maps.

Zadig drivers

Getting this dongle to work with WriteLog requires you to make two computer security decisions that we at WriteLog are not going to make for you. You have to decide whether to install the kernel mode drivers available at zadig.akeo.ie. The version I downloaded from there does have a digital signature, which gives you more information for your choice. I know it is signed because Windows pops up a box from User Account Control saying that “Verified publisher: Akeo Consulting” requires an admin user name and password to “make changes to your device.” The nature of the digital signature is the same from zadig as it is for WriteLog: it gives you confidence that you know what developer built the installer, but it does not tell you anything about what procedures that developer uses to protect you from security intrusions. Confirm that dialog to continue with getting WriteLog to use that dongle, or else use some other panadapter solution.

We won’t repeat the zadig installation instructions here. They are well presented at https://www.rtl-sdr.com/rtl-sdr-quick-start-guide/. Ignore steps 2 through 5 regarding the SDRSharp setup, and scroll down to step #6, Plug in your dongle. Start there. Continue through step #11, Click Replace Driver.

ExtIO DLL

WriteLog conforms with the ExtIO API created for Winrad, and also used by other SDR packages like HDSDR. To use ExtIO, you need to download the Winrad ExtIO dll specific to the RTL-SDR dongle. Here is one: http://hdsdr.de/download/ExtIO/ExtIO_RTL2832.dll. Again, you must make a security decision about whether to use this software. This dll is not digitally signed, so you have no cryptographic assurance that the file you download is built by any particular developer. On the other hand, WriteLog can be configured to run ExtIO dll as a sandboxed user on your Windows machine. WriteLog does not elevate ExtIO code to administrator privilege, so ExtIO code cannot access anything on your machine that is protected from that sandboxed user. (How do you know WriteLog does not elevate ExtIO to admin? The short answer is that you don’t know. I am telling you it doesn’t, and WriteLog’s installer is signed, so you have some cryptographic assurance that the person telling you this, and the person writing the software you install are one and the same, but otherwise you have to decide for yourself.)

If you are using HDSDR with the same dongle, then that program requires you to place the ExtIO_RTL2832.dll in HDSDR’s installation folder. WriteLog can use it from that same folder. Otherwise, download ExtIO_RTL2832.dll to any folder on your PC that you intend to preserve while you have WriteLog installed.

WriteLog Setup. 12.22 or later required

With the zadig installation complete, and with a copy of the file ExtIO_RTL2832.dll downloaded, you are ready to start WriteLog and configure it to use the dongle. WriteLog version 12.22 or later is required. Earlier versions of WriteLog do not support the 8 bit digitizing format provided by ExtIO_RTL2832.dll, nor do they give you any error messages indicating they don’t.

In WriteLog, chose the menu entry Setup/SDR-Setup…

SDR1.png

The IQ source for the RTL-SDR dongle must be set as shown: “IQ provided by ExtIO”.
WriteLog supports up to three SDR spectra on its Band Maps, which is why there are three rows in the dialog. You may use any row–they are all equivalent.
Then click Setup…

SDR2.png

The “SDR on IF of configured rig” is what you want for the case that the dongle is connected to your rig’s IF port, and while WriteLog is configured in its Setup/Ports to read and write your rig’s frequency. Then click Next.

SDR3.png

For this example, I have an Elecraft K2 connected on COMM3. The (single) IF of the K2 is centered around 4915 KHz. In this example, I chose for the SDR center to be offset from the rig’s IF center because the SDR itself will run an oscillator at its tuned frequency. We don’t want to be able to hear the SDR in our rig’s headphones, so the offset helps with that. Also, for some SDRs—including the RTL-SDR—there are technical issues with decoding signals exactly at the SDR’s tuned frequency. We might prefer those issues to be up or down the band a bit from where the rig is tuned. But the choice is yours.

Click the Select ExtIO… button and choose the dll file you downloaded for this dongle.

SDR4.png

Notice in this case I am keeping the DLL’s in HDSDR’s installation directory. Click Open and then Next.

SDR5.png

This page is used to describe to WriteLog how to put the SDR output on-frequency in its Band Map. Its OK to leave everything zero here and WriteLog will center the SDR on the rig’s display frequency. That frequency will not be exactly correct, however. The SDR Receiver IF Ranges page needs to be set up according to how your rig uses its IF on the various ham bands. The K2 is more complex than I am showing here, but since we’re discussing the RTL-SDR, we’ll get it close and deal with the details in a later post.

The Flip I/Q, however, will have a much bigger impact than the offsets. If it is wrong, the tuned signals will move in the wrong direction as you tune your receiver. Each rig has its own design (and the K2 is different on the ham bands above 20MHz than it is below, for example.) But it is not critical to get this page correct now as you’ll see signals anyway, just not at the right frequencies.

Click Next.

SDR6.png

If you want to sandbox the ExtIO code into a specific Windows username/password, you can fill out this panel as I show here. The user NonPriv on my machine cannot see the files for other users on the same machine, so the ExtIO code cannot do anything untoward with them. Click Next.

SDR7.png

With the RTL-SDR dongle, it is important to set up for the first time with a reduced Target bandwidth on the order of 50KHz as shown. This is less important on a PC with many and fast CPU cores. Lower powered and older CPUs should be throttled back in this way. You can come back to this wizard to open it up after you have it working. Click Finish.

SDR8.png

You are back to the WriteLog Opens page, SDR Setup tab, but it has changed its appearance. You now have a GUI button and an RF/IF selection under ExtDLL that you did not have before. The RF/IF button uses ExtIO API features that, as far as I can tell, are not supported by the RTL-SDR dongle DLL, so don’t bother with it.

The GUI button, however, is very important at this point. Click the GUI button. Note that if you are here for a second or subsequent attempt to set up the RTL-SDR dongle, and you have not been successful yet, you can hold down CTRL as you click GUI to reset WriteLog’s RTL-SDR dongle settings back to defaults, which discards any previous settings.

SDR9.png

The HF Direct Sample setting defaults to Disabled. This must be changed if your rig’s IF is below 24MHz. (See the specifications of the RTL-SDR dongle at http://rtl-sdr.com if you want to know why this is the case.)

But it takes a bit of extra magic to change it away from Disabled. If you click on it or the down-triangle to its right, nothing happens on the screen. However, it is changeable anyway! (Why it behaves differently for WriteLog than it does for HDSDR is a mystery to the WriteLog developers.) Type the down-arrow key (or up-arrow) until it says “Q input”. If your rig’s IF is below 24MHz, do not leave this step until you succeed at change HF Direct Sample to Q input like this:

SDR10.png

Similarly, I have changed the Sample Rate down to 1024 ksps from its default 2400 ksps. This is not as critical as the Q input change because WriteLog most likely will work at 2400, but it takes less CPU power at the slower rate. Its easier to raise the rate after you get it working once than it is to figure out exactly why its not working when there is not enough CPU power on your machine.

I show the Buffer Size and the RTL AGC settings left at their defaults. The RTL AGC definitely changes the amplitudes of the displayed SDR data in WriteLog’s Band Maps. You may come back to this dialog while the WriteLog SDRs are running to experiment with that button.

The Buffer Size, however, can only be changed while the Run the SDRS check box is OFF (and you have done an Apply to force the SDRs off.) However, I have not seen any improvement with larger buffers sizes. It will completely fail, however, if you reduce the buffer size! Leave it at 128 kB. Then you may click the X in the upper right (or the dialog will disappear on its own in the next step.)

Without two dongles to plug into one computer, I cannot verify this, but I assume that the Device: selector allows you to assign one of multiple dongles to a given WriteLog SDR. And I assume the Device setting (like the Buffer Size) can only be changed if the SDR is not set to Run.

SDR11.png

We’re ready for the big moment. Turn ON the Run the SDRs button and click Apply!

SDR12.png

Once it makes a display for you to evaluate, you can go back to the original page, click on Setup again and tweak the settings to your liking. Also try a right click in the Band Map and change Appearance.