Using Two Receivers in Your Red Pitaya - Part 2
- Posted by Red Pitaya Team
As promised, here is the second part of The Reverse Beacon Network blog about using Red Pitaya's SDR.
The RP-16 has a hidden, bonus capability – it can run a second, 8 bands x 192 KHz receiver alongside but independent of the first. This capability has many potential uses – I often use it for comparing two antennas. I have also used it to run an RTTY Skimmer Server along with CW Skimmer Server on a single antenna, without having to resort to CWSL_Tee to share the output from a single receiver. Many operators use it to expand coverage on CW or RTTY to as many as 11 or 12 bands at once, or to add FT4 or FT8 capability.
One word of caution to be mentioned first for emphasis – if you run two Skimmer Servers on the RP-16’s two receivers, do not try to send spots from both to the Reverse Beacon Network. You would think that by identifying the Skimsrv operator by two different callsigns, like W8QZR and W8QZR/3, for example, they would appear separately on the server. The problem is that the RBN Aggregator is only capable of reporting one operator callsign to the RBN server, so each spot will be attributed to one call, and any stations that both receivers spot will appear twice. This is a function of how the Aggregators communicate with the server and, at least for the moment, cannot be changed.
Of course, this caveat does not apply to running CW Skimmer Server on one receiver and RTTY Skimmer Server on the other, since their modes are different. It also obviously does not apply to using one receiver on one set of bands and the other on different ones, as you might do to optimize receiving or covering 6 meters along with HF.
There are two options for the second receiver – it can either share the antenna with the first receiver, or it can use the second input on the RP-16 to connect a separate antenna.
When you boot up the RP-16, it starts two separate receivers and connects them to two different IP addresses. From there on, it’s up to you – you can connect a separate instance of Skimmer Server (see below), or any SDR that can use the Hermes_intf.dll. The only one I have tested this with is HPSDR.
To use a separate antenna on the second receiver, put the RP-16’s SD card in your reader and bring up the start.sh file for the hpsdr-compatible receiver in your text editor. It is pretty short and simple, and it will look like this:
apps_dir=/media/mmcblk0p1/apps
source $apps_dir/stop.sh
cat $apps_dir/sdr_receiver_hpsdr/sdr_receiver_hpsdr.bit > /dev/xdevcfg
address=`awk -F : '$5="FF"' OFS=: /sys/class/net/eth0/address`
ip link add mvl0 link eth0 address $address type macvlan mode passthru
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter
$apps_dir/sdr_receiver_hpsdr/sdr-receiver-hpsdr eth0 1 1 1 1 1 1 1 1 &
$apps_dir/sdr_receiver_hpsdr/sdr-receiver-hpsdr mvl0 1 1 1 1 1 1 1 1 &
All we are concerned with is the last line, and to activate the second receiver on its own antenna all we need to do is change each instance of “1” in that line to “2”, so it reads "$apps_dir/sdr_receiver_hpsdr/sdr-receiver-hpsdr mvl0 2 2 2 2 2 2 2 2 &”. Save the file to your SD card, and the second receiver is ready to go, on its own antenna.
In order to run Skimmer Server on the second receiver, you’ll need to create a separate instance of Skimmer Server in your computer, with a different name, and also rename the executable. What I did was to install it under the program folder name “Skimsrv 2”, and rename the executable from Skimsrv.exe to Skimsrv2.exe.
There’s one final thing to be done before you start the two simultaneous receivers. In the first Skimmer Server program folder, find the Hermes_Intf.DLL. Rename it to explicitly recognize the first receiver. The MAC address of that receiver is printed on top of its Ethernet connector. You need to copy the right-most four characters of the MAC address, and then use them to rename the Hermes_Intf.dll file. In my case, it became HermesIntf_7c93.dll. Don’t forget the “_”.
Now go into your second Skimmer Server directory and rename its HermesIntf.dll, in this case replacing the first two characters of the MAC address with “ff”. Rename the HermesIntf.dll as you did above for the first. In my case, it became HermesIntf_ff93.dll.
And now, finally, it’s ready to go. Start CW Skimserv on the first receiver. Go to its Skimmer tab and verify that it has the correct address, like this:
Now start the second instance of Skimmer Server and verify the same thing:
Now you can connect a second antenna to the second SMA input connector on the RP-16 (next to the first one), and you’re off and running. You can get data from either receiver using a Telnet program like Putty – be sure they have different Telnet addresses on the Telnet tab in Skimserv. You can also use the Aggregator’s Skimmer Traffic tab to follow what each is spotting, but if you do so, be sure that you check the “don’t send spots to RBN server” box on the Connections tab (far left side) and set up the Secondary Skimmers tab with the right (different) Telnet port number to connect to the second instance of Skimserv.