Support QRP CoA Everywhere

Thursday, 18 November 2021

QBSA Again...

Postie delivered an old part built project, but a very good one. Feels like an eternity passed looking for a replacement for one I sold in error.



I was about to loose hope as spoke to Steve KD1JV and he didn't have anything from the original (very old) project left.

I must backup that AVR processor read the HEX off it (not an attempt to clone etc) before it gets used.

Monday, 18 October 2021

RASPAD3 and SDR++ on RaspberryPi

Going to be trying a few other SDR.

Raspberian OS and compiled on the RaPi4 (before putting into RASPAD3).

RX only. SDRPlay (version 1)

RX and TX. Lime Mini SDR and Adalm Pluto SDR (found it)

I use an external USB 3.0 powered hub with these.

I expect will also try the DragonOS for the RaPi as well.

I have an SDR and an HF upconverter (basically an RTL dongle) so you can sample down to about 50Hz is needed, will try that was well.

This had already been tested by David Taylor https://twitter.com/gm8arv and the developer https://twitter.com/cemaxecuter of Dragon OS using other SDR.


update: 20th October 2021

I added the software for the Lime Mini SDR and the Pluto SDR, going to be taking a copy of the SD card before do anything else.


Last night checked both the speaker and audio out connections with a simple music WAV file playing in a loop. Didn't want RF issues.


Note: SDR++ used was the source build 1.0.4 obtained from https://github.com/AlexandreRouma/SDRPlusPlus/releases and compiled on the RaPi (see this blog post for details) https://m1kta-qrp.blogspot.com/2021/10/installing-gqrx-and-sdr-on-raspberrypi.html

What it could do when was version V1.0.0 this is what AlexandreRouma at the time:

SDR++ v1.0.0 Released!

Hi everyone :)

After over a year of work, I'm proud to released version 1.0.0 of SDR++!

For those who don't know, SDR++ is a crossplatform (Windows, Linux, MacOS, BSD) and open-source (https://github.com/AlexandreRouma/SDRPlusPlus/releases) general purpose receiver software meant to be simple and easy to use. It has advances features like multi-vfo and uses a fully custom DSP making it very efficient.

Here are the following additions compared to the last version:

  • Support for the SpyServer protocol

  • Support for all SDRplay devices

  • Support for all BladeRF devices

  • Support for all LimeSDR devices

  • Optional IQ correction

  • Optional Decimation

  • Broadcast FM Stereo

  • Frequency manager to create lists of frequency and optionally display them directly on the FFT/Waterfall

  • Network sink to stream the audio output via TCP or UDP

  • Options to set the FFT framerate, FFT size and FFT window.

  • Theming with Dark and Light themes supplied by default

  • RigCTL server module to control SDR++ from, for example, gpredict.

  • A bunch of keyboard shortcuts (see wiki on the github page)

  • SNR meter

  • More info when hovering a VFO

  • Colored VFOs to easily identify which is which at a glance

  • Meteor M2 demodulator compatible with LRPTOfflineDecoder and Satdump

  • Ability to resize VFOs by directly dragging the sides on the FFT and waterfall

  • Module manager to easily add or remove any module on the fly without having to restart or edit the config manually

  • File dialogs to select directories in the recorder or files in the file source (instead of having to type in the path)

  • Ability to disable modules that support it (Radio and Meteor M2 demodulator) with one click (to save CPU power or just if they're not needed)

  • Lots of performance improvements

  • Ludicrous amounts of bugfix :)

I'd like to thank the many contributors, patrons and companies (SDRplay, Airspy, Nuand, LimeMicro) who helped make this project possible!

If you have any issue with the software, please open a github issue or contact me directly on the SDR++ discord (see readme on github)

I hope this software comes in useful to at least some of you ;)



Thursday, 14 October 2021

RASPAD3



 

 Will turn this into SDR thing tomorrow. 

I compiled the SDR++ and GQRX for the RaPi4 yesterday.


Wednesday, 13 October 2021

Installing GQRX and SDR++ on RaspberryPi

 Installing GQRX and SDR++ on RaspberryPi

These are all the steps I actually performed.

sudo apt update
apt list --upgradable
sudo apt install gqrx-sdr
rtl_test -t
gqrx

So GQRX sort of worked...

So SDR++

Grab the source
git clone https://github.com/AlexandreRouma/SDRPlusPlus.git
ls
cd SDRPlusPlus
mkdir build
cd build/
cmake ..

so erroring as missing these packages....fftw3 glfw glew libvolk

so to install them...
sudo apt-get install freeglut3
sudo apt-get install freeglut3-dev
cmake ..
sudo apt install libglew-dev
cmake ..
sudo apt install glfw3
sudo apt install libglfw3-dev
cmake ..
sudo apt install libairspy-dev
cmake ..
sudo apt install libairspyhf-dev
cmake ..
sudo apt install libhackrf-dev
cmake ..
sudo apt install libsoapysdr-dev
cmake ..

libiio missing....so get that compile and install

cd
git clone https://github.com/analogdevicesinc/libiio.git
cd libiio/
cmake ./
See what errors are (there were some)
cat /home/pi/libiio/CMakeFiles/CMakeOutput.log

install more prerequisites some were already there so it ignores them (from an SDR pluto install doc)
sudo apt-get install libxml2 libxml2-dev bison flex libcdk5-dev cmake
sudo apt-get install libaio-dev libusb-1.0-0-dev libserialport-dev libxml2-dev libavahi-client-dev doxygen graphviz

Try the libiio build again
cmake ./
make all
sudo make install
Add the path bit
PATH=/usr/lib/:$PATH
check it is working iio_info

go back to SDR _++ again
cd ..
cd SDRPlusPlus/
cd build/
cmake ..

so more missing get and install them

cd
git clone https://github.com/analogdevicesinc/libad9361-iio.git
cd libad9361-iio
cmake ./
make
sudo make install
cd ~/SDRPlusPlus/build/
cmake ..

still more missing

wget http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-5.1.0.tar.gz
mv rtaudio-5.1.0.tar.gz ~/Downloads/
cd
cd Downloads/
tar -zxvf rtaudio-5.1.0.tar.gz
cd rtaudio-5.1.0/
mkdir build && cd build
cmake ../
make
sudo make install

Back to SDR++
cd
cd SDRPlusPlus/build/
cmake ..
this time no errors
used N=4 as 4 cpu make -j 4
It maxed out the CPU for a few mins
sudo make install

That's it SDR++ and GQRX both installed

 

Yes I am sure much of the missing bits were listed in the prerequisties docs of both but we all read those don't we :-) Of course I had added the development environment to it as well. Mine has 128GB SD card (high endurance) and has a 3TB SSD attached which takes and stores backups, snapshots etc I use an adaptor as well so I don't have to insert the MiniSD card into the Pi.

Saturday, 9 October 2021

Panic.... "Cannot open access to console, the root account is locked."

Last weekend I built myself a nice Pi 4 system for the shack. Everything worked perfectly, but today as I rebooted the Pi would simply not boot up. Usually I run almost all my Pis in a headless configuration but as this is the desktop for the operating position I had monitors connected.
 Eek, there is was, there it was, The Pi would get stuck at boot with the following error message

"Cannot open access to console, the root account is locked."
The error message while not too descriptive, it asked me use sulogin and run journalctl -xb however there was no shell to run or list anything.

I thought oh no there goes the system will have to rebuild it. However, I thought I would investigate some more.

After some google work, I found the following workaround that worked for me. Note for those that try to do this themselves: You will need access to a display,keyboard and a laptop/desktop to do the following steps

Retrive your SD card from the Pi and using a adapter mount the card to your PC,Mac or Linux. I use a rocketek that takes either normal or small SD cards .You should be able to see the /boot partition of your SD card.
Locate the file fstab in the rootfs partition and edit out the usb drive I added in last time and left in place! You might need to sudo to root to write this file or the next one see later if that is the case....
Or find the bootfs and look for the cmdline.txt file and add the following at the end of the line init=/bin/sh Note: Do not create a new line, just add the above to end of the current line. This will make the system give you a prompt so you might be able to figure out what the problem is. A bit like one of the earlier linux installs.
Load the SD card back into the pi and boot up.
if you did the cmdline.txt change you should now get the a root shell prompt and I expect you will know how to fix it from there. You could undo the changes to /etc/fstab or whatever else that  might have caused an issue.
I found I could not make and save the changes to the files as the system will complain the SD card is read only file system. If you get that move to the next sections.

A raspberry pi SD card will has two main partitions, since we cannot read the partition table directly you must manually locate the device for your root and boot partitions. You can do this by going to the /dev directory and you should see something similar to mmcblk0p1 & mmcblk0p2. You could use ls -l to check.

Mine is:

brw-rw----  1 root disk    179,   0 Oct  8 18:28 mmcblk0

brw-rw----  1 root disk    179,   1 Oct  8 18:28 mmcblk0p1

brw-rw----  1 root disk    179,   2 Oct  8 18:28 mmcblk0p2

The second device mmcblk0p2 will be your root partition. You need to remount this with read write permissions

mount -o remount,rw /dev/mmcblk0p2 /
Once this is remounted, go ahead and edit your /etc/fstab and save it.

The offending line in mine was:

#/dev/sda1 /disk1 auto defaults 1 1

Before you exit, make sure you revert the change to the cmdline.txt in the /boot partition. You may need to mount that in read write mode as you did above for the /root partition before you can change it.

mount -o remount,rw /dev/mmcblk0p1 /boot

Alternatively you can revert back the change to cmdline.txt on your laptop as I did using the USB adapter.

If everything goes well, you should be able to boot back your Pi in a normal way.

Panic over

Tuesday, 3 August 2021

What to build with STM32F746G-Disco and SI5351 Board

I had these in the workshop and as not operating right now, thought what could I make with these and a few other RFy things from the 'junk box'.




Well I know  have some SA612 and SMD op amps and lots of SMD discretes so thought might try the EU1KY analyser, after looking at JA versions (but seemed to miss out on the kitting as was sorting Mum's stuff out for Dad).

The STM32F746G-DISCO board in a blister pack, with a H7 version too, has been in the junkbox for a bit.

I bought a couple of the Front end RF PCB a while back for the EU1KY.

I have a few SI5351 modules with 25MHz crystal so might see about just removing the chip from one and adding it to the PCB and reusing some of the SMA connectors and other components.




Monday, 12 July 2021

Shellinabox on RaspberryPi

It is definitely not new, and I claim no originality as this idea has been posted elsewhere before, but I mentioned in discussion that I was using this (along with octoprint) on my Raspberry Pi 'servers' used with the 3D printers and CNC between Cambridge and Cornwall, 400 miles (and when really remote on some DX trip, usually to tweak some SDR setting) to adjust stuff if needed. Sounded really useful so  I was asked could I provide some details:

So here goes (your mileage may vary so don't assume a pure cut and paste will work for you). There are plenty of albeit old guides out there that will help you set this up on full blown PC's.

First to make this super easy on myself I used the Debian "Buster" Raspberry Pi image. It should work with others but you might need to do some tweaking.

Shellinabox is self contained  and it does everything out of the box (no pun intended) over a single TCP port 4200 by default. You can change this and in fact you might want to if you are using it to access the server from outside the network.

The first thing is to install it...

As I mentioned I am using raspbian so this is super easy...

(assuming logged in as 'pi', I use apt myself but apt-get works)

sudo apt-get install shellinabox

That is it... simple hey. That gives you the default install. (The install started the service on mine too but /etc/init.d/shellinabox starts it! You might be able to use systemd systemctl etc... but I not tried)

You use it by using a web browser on a remote system and into the navigation window typing in the IP/or hostname if you have done some fancy networking of the the Raspberry Pi and then :4200 e.g. https://192.168.0.100:4200

You will get a plain white screen and a prompt to login will appear. Continue as you would normally. it is a CLI or shell s don't expect some GUI anything to work (it might but I never tried)

If it doesn't work visit https://code.google.com/archive/p/shellinabox/ this was 'abandoned' a few years ago there is a more recent fork at https://github.com/shellinabox/shellinabox you should find any further answers there including configuring it.

If you are running one of the paranoid browsers it might moan about an SSL cert, you can add one to remove this warning if wanted. Installing SSL Certs is beyond this post.

If you are intending to connect to this from outside your network you will need to a do a few things.

1. Secure the Raspberry Pi server (make sure everything is up to date, make sure the users are using decent passwords.) I use strong passwords and I added MFA. Google for it.

2. Secure the Raspberry Pi server (check you really have done it!)

3. Adjust the config so you are using either a different port to 4200 and make your router forward any requests for that port to it. Care!!! You are exposing YOUR network, don't do it if you don't know what you are doing or don't accept all the risks. There are loads of bored script kiddies out there 24x7x365 just waiting to find any exploit.

I use XTERM on my Linux desktop so I like it so I added some extra bits.... as didn't like the black on white. I use a black background and green letters which I also made a bit bigger. You can add lots of other bits and pieces the choices are up to you. (I add a login screen, tweaked MOTD, to remind you are connecting to a remote system).

The configuration is in /etc/shellinabox and /etc/default/shellinabox as CSS style sheets so it isn't too hard to tweak it. /etc/shellinabox/options-enabled is the file it uses, you can eiter edit a file directly or create one and link to it (probably better if you want to tweak it).

(I'll add some images, screen grabs to this post.)