Friday, May 19, 2023

Using an SDRPlay RSP1 Clone with CubicSDR on Linux Mint

Here I describe how I've been able to use a SDRPlay RSP1 clone with CubicSDR via SoapySDR on Linux Mint (a Debian/Ubuntu derivative) without using any proprietary software from SDRPlay. This is the device I'm using in this post:

I fully realise that these clone devices are controversial but they are now widely available at low cost and are a copy of an old device, soon to be no longer supported by SDRPlay. 

I respect the folks at SDRPlay and have bought from them in the past. There is some criticism of their closed source driver which runs as root and I think it's great that there is an open source alternative. 

Clicking on the Mirics device will hang CubicSDR.

Unfortunately, the software that ships currently on Linux Mint doesn't work out of the box but some good work by third parties have made it possible with a bit of messing about as I document below.

On a fresh install of Linux Mint 21.1 Cinnamon 64bit on an x86 laptop.

If you plug in the device and look at loaded kernel modules you’ll see two msi… modules like this:

lsmod |head

Module                  Size  Used by

msi001                 20480  1

msi2500                36864  0

To stop these loading, and capturing the device, we need to blacklist them.

  • sudo nano /etc/modprobe.d/blacklist.conf
    • blacklist msi001
    • blacklist msi2500
  • sudo reboot
  • sudo apt install cubicsdr
    • Note that this installs a bunch of soapysdr packages: 

soapyosmo-common0.8 soapysdr-module-all soapysdr0.8-module-airspy soapysdr0.8-module-all

  soapysdr0.8-module-audio soapysdr0.8-module-bladerf soapysdr0.8-module-hackrf

  soapysdr0.8-module-lms7 soapysdr0.8-module-mirisdr soapysdr0.8-module-osmosdr

  soapysdr0.8-module-redpitaya soapysdr0.8-module-remote soapysdr0.8-module-rfspace

  soapysdr0.8-module-rtlsdr soapysdr0.8-module-uhd

That soapysdr0.8-module-mirisdr module has issues and needs to be replaced. While it’s tempting to `sudo apt remove libmirisdr0` this will remove all the other soapy stuff which we need.

We need to build a new version of libmiri and the SoapyMiri driver:

  • sudo apt install libsoapysdr-dev soapysdr-tools
  • sudo apt install git cmake libusb-1.0-0-dev gcc g++
  • git clone
  • cd libmirisdr-5
  • mkdir build
  • cd build
  • cmake ..
  • make
  • sudo make install # puts the library in /usr/local/lib/
  • sudo rm /usr/lib/x86_64-linux-gnu/
  • sudo rm /usr/lib/x86_64-linux-gnu/
  • sudo rm /usr/lib/x86_64-linux-gnu/
  • sudo ln -s /usr/local/lib/ /usr/lib/x86_64-linux-gnu/
  • cd
  • git clone
  • cd SoapyMiri
  • mkdir build
  • cd build
  • cmake ..
  • make
  • sudo cp /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.8/.
  • sudo rm /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.8/

SoapySDRUtil --info will now show:

Available factories... airspy, audio, bladerf, hackrf, lime, osmosdr, redpitaya, remote, rfspace, rtlsdr, soapyMiri, uhd

CubicSDR will now run and show soapyMiri

Now you can configure the mirics device and there's even a "flavour" for SDRPlay that is said to make it work better.

I was also able to get the soapyMiri driver working with SDR++ remote.

I hope this helps someone. At least it will be a note for future me.

Monday, May 15, 2023

MFT-40 a double sideband TX, direct conversion RX kit from Spain

I build lots of little electronic projects, some work well, some work poorly, some just don't come to life. After a few failures I lose confidence and a good way to get my home made mojo back is to build a kit. A kit for a "My first transceiver" MFT-40 (20m also available) from Spain's QRPHamradiokits caught my eye recently.

The designer references Peter, VK3YE's "Beach-40" which I've also built but has improved on the design. Peter's simple circuit suffers from feedback during switching from transmit to receive and uses a diode ring mixer rather than an NE602.

"The MFT-40 incorporates a DC (direct conversion) receiver with a 3-stage front-end passband filter, followed by a balanced mixer, an audio preamplifier and filter using an operational amplifier, and an output amplifier for driving a loudspeaker. The local oscillator is based on a 7.2 MHz ceramic resonator element that allows coverage of a part of the 40m band.

The DSB (double sideband) transmitter uses a DSB generator with input from an economical electret condenser microphone and three stages of amplification which produce 3-4W to the antenna."

The kit is well presented with a top quality board that cleverly can be cut in half to make separate receiver and transmitter sub-boards if you wish.

The instructions are good (and you can see the schematic there) but the designer can't quite make up his mind about the best order to add components. Parts lists are presented both sorted by value and again but sorted by number (R1, R2, etc) which doesn't always group by where they are located in the circuit. Also there's the suggestion that new constructors might just build the receiver first - probably a good idea but maybe there could be a separate kit for a receiver only.

There's some minor errors with carrier suppression pot P4 in the text actually being P3 on the schematic and mic gain P3 actually being P2 on the schematic but it wasn't hard to figure this out. My kit had an incorrect component that was easily found in my junk box.

In use, the receiver works very well although, not-unexpectedly, tuning is very sensitive. The transmitter perhaps suffers from not enough mic gain - the supplied electret mic directly drives the input to the NE602 mixer. (I don't know where QRP Ham Radio Kits managed to source through hole NE602s - they are very hard to find these days).

Here it is in use:

I spotted the biscuit tin while shopping in Kyneton. The size is perfect for this project and others for sure. Drilling was easy. The biscuits are also very nice, if a bit sweet for my taste.

An enjoyable kit.