A quick update for you, I am delighted to announce that the FUNcube Dongle Pro+ works perfectly on Windows 10, in both 32 and 64 bit versions.

There’s no need for any driver updates, by design the FUNcube Dongles have been designed to use drivers already shipped with the operating system, and require no special or separate installation from your SDR software.

As you may know, although the FUNcube Dongle was originally designed with receiving signals from space in mind, there’s nothing special about extraterrestrial radio waves when compared to those on terra firma.

In fact, at least one FUNcube Dongle has even found its way into space itself on board a satellite.

Back here with our feet on the ground, I received a link to an article in TechRepublic about security researchers at Tel Aviv University using the FUNcube Dongle to sniff the ether around computers, and determine security keys in a so-called side-channel attack.

Normally the RF hash associated with computers is something that we try to avoid, but as far as I can tell, the researchers sniff the RF fingerprint of the cipher algorithms from the computer, and from that they can determine keys used in schemes like RSA.

Today we spent some time with the new Raspberry Pi 2 and the FUNcube Dongle Pro Plus.

As many will be aware, the original Raspberry Pi had a problem with its USB host stack, for which I released a workaround here: this simply reduced the dongle’s bandwidth so that the Raspberry Pi could keep up.

Well the good news is that the Raspberry Pi 2 so far does not seem to show the same limitation. I recorded an hour of full bandwidth this afternoon, and it plays back perfectly, which would not have happened with the original Raspberry Pi.

Talking of the Pi 2 in general, this is a very significant update. Compiling code natively on the original Pi was hard work, it was tediously slow. Frequently, you’d cross-compile, which although is frequently done, it’s hard to set up and the environment needs continually tweaking and updating. On the Pi 2 on the other hand, it’s like night and day, it’s a piece of cake to compile your code natively. I was really enjoying running both a native screen and keyboard/mouse combo together with a VNC X session simultaneously, it really is a joy to use.

I’ve been working on some firmware for the FCD Pro+ to work around the USB stack limitations of the Raspberry Pi.

The workaround reduces the bandwidth of the FCD to work within those conditions: there is one version for 48kHz bandwidth and the other for 96kHz.

The documentation for updating your firmware is here, and the firmware bootloader/upgrade program is here.

The firmware for 48kHz is here, 96kHz is here, and the original 192kHz firmware is here.

Take care when using this new firmware! Due to the way Windows works, it doesn’t fully re-enumerate the USB port when you re-insert your device, so you’ll find that your Windows software might get a little confused. In short, the way to resolve this is to shut down any programs using the FCD Pro+ first, uninstall the FUNcube sound device from the Device Manager control panel applet (run devmgmt.msc), unplug the FCD Pro+, re-insert it a few seconds later, and let it re-enumerate (may take a minute or so depending on your system). Once this is done you can restart your programs. Of course, if you have installed a restricted bandwidth version of the firmware, this will be restricted in Windows too. You can always install the original firmware using the same steps.

Why are there two versions? It’s because there are two “features” of the Raspberry Pi stack. Warning: this will get a bit nerdy.

The first problem is that the USB stack has a problem with USB full speed isochronous streams of more than about 750 bytes per 1ms frame. The USB specification allows for up to 1023 bytes per frame, and the FCD Pro+, with the default firmware, uses 768 bytes per frame. So while the FCD Pro+ is within the USB specification, it’s just beyond the Pi’s capabilities.

The second feature of the Pi’s USB stack is that there is only a single transaction translator (TT) for USB full speed devices (such as the FCD), so all full speed devices have to share this TT. Having a single TT unfortunately is not a unique scenario on USB 2.0 hosts and hubs, we sometimes see it on PCs too. Obscurely, this can be circumvented by putting the FCD Pro+ on an external USB 2.0 hub, because the hub will have its own TT.

So, in short, the 48kHz version is designed to work on the Pi without an external USB 2.0 hub, allowing for the USB full speed devices to share the single available TT. The 96kHz version _might_ work on your Pi, depending on what other full speed devices are connected, and should work if the FCD Pro+ is placed on an external USB 2.0 hub, either on its own as the only full speed device on that hub if the hub only has one TT, or with other full speed devices if the hub is a multi TT hub.

Although the FUNcube Dongle is capable of receiving many different types of signals, both from terra firma and from space, it was originally designed to receive the FUNcube-1 satellite launched back in November 2013.

What we weren’t expecting when we first embarked on the FUNcube project was that we’d have any more than just the one satellite. Well, we now have three FUNcube satellite payloads in orbit. As well as FUNcube-1, we now have both FUNcube-2 and FUNcube-3 in space.

Although FUNcube-1 is a satellite in its own right, FUNcube-2 hitched a ride on-board the UK Space Agency’s UKube-1 satellite as a payload and was launched on Tuesday (8 July 2014), and already signals have been received. There’s some more news here. The FUNcube-2 payload carries similar capabilities to FUNcube-1, as well as the other payloads carried by UKube.

FUNcube-3 is a satellite in its own right, and was launched on 19 June 2014 from Yasny on a DNEPR rocket, and was heard in South Africa ten minutes after deployment and has a BPSK telemetry downlink as well as a linear transponder. There’s more information here.