If you’ve read my first post, you may have noticed a passing reference to an optional piece of software called BaseStation. This application is the software that ships with the Kinetic Avionics SBS radar boxes. However, you can also download the software and — using some third-party magic — connect it to your cheap RTLSDR dongle.
Even if you aren’t planning to use BaseStation as your main virtual radar application, you may still want to download and install it in order to get a virgin copy of the BaseStation SQLite database. This database seems to be the one on which all others are based; at the very least, it is used (directly or indirectly) or referenced by most of the other virtual radar applications like Virtual Radar Server or PlanePlotter.
The BaseStation database stores all of the information about the aircraft received by your dongle, and in a separate table it stores flight information for those aircraft. This is a wealth of data that can be used to determine how many times a single aircraft has been within range, the different routes it flies, and other tidbits that are considered useless information by your spouse but fascinate you.
When you go to download BaseStation, you’ll notice there are two options: the first is a .zip file and the second is the CDROM version but is also a .zip file. I’m honestly not sure what the difference is, but I used the CDROM .zip file so I’m going to suggest you do as well. Save the .zip file somewhere you can locate it later, like in your Downloads folder or on your Desktop.
Once the download is complete, locate the .zip file and right-click on it. In the contextual menu that appears, select Extract All…. In the window that appears, make sure the box is checked beside Show extracted files when complete. That way the path where the files are uncompressed isn’t important. When the extraction finishes you’ll get a new window with a list of the uncompressed files. Double-click Setup.exe to start the install.
By default, BaseStation will want to install in C:\Program Files\Kinetic\BaseStation, but we want to change that to C:\Kinetic\BaseStation. The reason we want to eliminate Program Files from the path is that some of the other virtual radar apps that use the BaseStation database can’t write to a file that is within the Program Files directory structure. By installing BaseStation outside of that structure, we can get around that restriction. After the install completes, don’t run BaseStation just yet. We need to install that third-party magic I mentioned earlier before BaseStation will work with our dongle.
First of all, thank you to François (F5ANN) for figuring out the software and steps required to do this. With that out of the way, let’s get that software. You will need:
- COMbyTCP — this application will take a stream of data from a TCP port (like 31001, the one RTL1090 uses to serve the data from our dongle) and outputs it to a virtual COM port (like COM1, COM2, etc…) that you’re probably used to seeing on your computer.
- com2tcp — a command line tool that takes the data from the virtual COM port and turns it back into a TCP port. (The download link is on the left side of the page.)
- com0com — a utility that creates the virtual COM port for the other two apps to use. NOTE: You may have difficulty getting com0com to work in a 64-bit version of Windows due to the way Windows restricts digitally unsigned drivers.
There is a command line version that can be used in a 64-bit OS, but I haven’t managed to get it to work properly yet (so many options!), so I’m just going to pretend it doesn’t exist for now. Please see the comments below for instructions on modifying the app to work in 64-bit Windows.
We’ll begin by installing and setting up the last app, com0com. Double-click Setup.exe to run the installer. Once it’s finished, you should have a folder in your Start menu for com0com, and inside that folder is a Setup application. Run that and you should get a window something like this:
It should have setup two virtual pairs of ports, one called CNCA0 and CNCB0, and a second pair whose names start with COM. Depending on your system’s configuration and the number of real, physical COM ports installed, the numbers after the word COM could be anything. The important thing to remember is that they are pairs; so if the first one is COM3 the second should be COM4. Or the pairs could be COM11 and COM12. Because the numbers could (likely would) be different on your system compared to mine, I’m going to refer to them as COMx and COMy. Substitute x and y with whatever the numbers are for your virtual pair. Remember these two virtual port numbers because you’re going to need them in the next steps.
TCP to COM and Back Again
Next we’ll configure COMbyTCP. This app doesn’t have an installer so you can put COMbyTCP.exe anywhere on your system that you like. Run it by double-clicking its icon and you’ll see a screen that needs some configuring. There are essentially two sides to the app: the left side is for setting up the TCP port you want to get the data stream from; and the right side is to tell the app which COM port you want to send the data stream to. Setup the left side of COMbyTCP like this:
If you’ve changed anything in the setup of RTL1090, or you’re running RTL1090 on a different computer from the one on which you are running BaseStation, COMbyTCP, com2tcp and com0com, you’re settings will be different than these. But if you’re new to this hobby and haven’t changed anything, then it’s likely that your server is 127.0.0.1 and the port is RTL1090’s default 31001.
The right side of COMbyTCP is where you tell the app which COM port to send the data stream to. Here you will enter COMx as the port (remember, substitute x with your actual port number) and 3000000 as the baud rate. The rest of the fields should already be completed by default.
Once you’ve entered the correct information, you need to click two buttons in COMbyTCP: the first is Client, which will start the program listening to the TCP port; the second button to click is Get COM, which will connect to COMx and start sending the data stream to it.
Phew. I know this seems like a lot of work just to see some real-world aircraft on a virtual radar screen, but I think it’s worth it. And after you’ve done it once or twice, it gets easier and quicker to go through these steps. Anyway, at the moment we’re about halfway there. Yes, just half. Let’s continue.
We’ve now established a connection to RTL1090’s TCP data stream and are pumping it through to a virtual com port, but now we need to convert it back to TCP again. Why? BaseStation can connect to a Kinetic Avionic SBS box two ways: through a USB cable, or using Ethernet. Since we can’t fake a USB port, our only other option is Ethernet. And that means converting our data back to a TCP stream.
We’ll use com2tcp to do this, but unfortunately this application runs only from the command line. So we’re going to write a batch file (.bat) that we can save and use to run com2tcp using the same settings over and over again. Start by opening Notepad (Start Menu > All Programs > Accessories) and type in the following line of text:
com2tcp.exe --baud 3000000 --ignore-dsr --sbsbin \\.\comY 10001
Replace comY with the second com port number from your virtual port pair. So if COMx was 3, then COMy might be 4. Check com0com to make sure you’ve got the right pair. The last five digits in the command, 10001, are the port number to which you want to send the data. You don’t have to use 10001, but you should use a port that you know isn’t being used by any other application on your system. 10001 is as good a port as any other.
Now save your Notepad document. Call it com2tcp.bat and save it in the same folder as the com2tcp application. (In Notepad’s save dialog, you likely will need to change the format drop-down to “All files” in order for it to take the .bat file extension.) Double-click your batch file and it should execute a command window a return some text. After that it will appear to do nothing. That’s perfect. It won’t display anything else until BaseStation connects to it. At this point, you can minimize the command window and COMbyTCP.
Running and Configuring BaseStation
You probably thought we’d never get here. It seems like a lot of work, but it isn’t really. It takes just seconds to get this far the next time. But now we’re at the stage where we can launch BaseStation, configure it, and see some pretty planes. At this point, you’ll need to know your GPS co-ordinates in decimal format. If you don’t know them, you can find them by entering your address at http://www.gpsvisualizer.com/geocode.
Launch BaseStation. (This is so exciting!) The configuration wizard will run and prompt you to enter your location. You can either enter a city near you or enter your latitude and longitude. I recommend the latter. Click Next and you’ll be prompted to specify how you’re connecting to the data stream: USB or Network. Choose Network and enter the ip address and port number that you want BaseStation to connect to. This will be the ip address of the computer running com2tcp, which we setup earlier (likely this is 127.0.0.1), and the port you specified in the batch file (our default was 10001).
When you click Next, BaseStation will attempt to connect to the specified TCP port and read the data stream coming from it. If you’ve done everything right, within just a few seconds you should see a virtual radar screen with some aircraft plotted on it. Congratulations!
In addition to seeing planes plotted on the screen, the command window running com2tcp should now be displaying additional lines of text regarding a connection from BaseStation. You don’t need to do anything with this information; I just wanted you to be aware that it appears there.