Introduction
I have just received the CaribouLite. It looks nice but I couldn’t get it to work yet. I need some help with the software.
Hardware
It is smaller than expected. Here are the main chips:
It fits nice on a Raspberry Pi 4B:
Some LEDs are awful bright and some a bit dim. Not sure if that is supposed to be so.
Software
The software is on github:
cd
git clone https://github.com/cariboulabs/cariboulite
Next it says to run a script sudo setup.sh gui
but this script is nowhere found. Now I only need the SoapySDR driver and that is in the folder /home/pi/cariboulite/software/libcariboulite
. It uses another github repository that needs to be cloned to:
cd
cd cariboulite/software/libcariboulite/src/iir
git clone https://github.com/berndporr/iir1.git .
Make sure to not forget the space and dot at the end of the second command! Now I had first build the iir filter:
cmake .
make
sudo make install
Next follow the build instructions of libcariboulite:
sudo apt install libsoapysdr-dev libpthread-stubs0-dev
sudo apt install cmake
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
This worked for me, but when I check the driver and hardware with:
sudo SoapySDRUtil --info
sudo SoapySDRUtil --probe
I get lots of debug info, and an error:
01-27 15:11:20.062 1603 1603 E CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:436
The assembled modem is not AT86RF215 (product number: 0x35)
Panic! Something wrong with my hardware? No, it probably is only a newer version of the modem chip. Change line 434 of ~/cariboulite/software/libcariboulite/src/cariboulite_setup.c
to:
if (modem_pn != 0x35) // was 0x34
And rebuild the libcariboulite. Next the SoapySDRutil commands work when run with sudo to get root privileges:
Printing 'findCariboulite' Request:
[INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
Found Rafael Micro R820T tuner
Found device 0
channel = S1G
device_id = 0
driver = Cariboulite
label = CaribouLite S1G[5fb1ac1a]
name = CaribouLite RPI Hat
serial = 5fb1ac1a
uuid = b7d99af1-2653-436e-be52-5004a8fca76e
vendor = CaribouLabs LTD
version = 0x0001
Found device 1
channel = HiF
device_id = 1
driver = Cariboulite
label = CaribouLite HiF[5fb1ac1b]
name = CaribouLite RPI Hat
serial = 5fb1ac1b
uuid = b7d99af1-2653-436e-be52-5004a8fca76e
vendor = CaribouLabs LTD
version = 0x0001
Found device 2
default_input = True
default_output = True
device_id = 0
driver = audio
label = PulseAudio
Found device 3
driver = rtlsdr
label = Generic RTL2832U OEM :: 00000001
manufacturer = Realtek
product = RTL2838UHIDIR
serial = 00000001
tuner = Rafael Micro R820T
Device 0 and 1 are the Cariboulite, device 2 is an audio device which I don’t recognize and device 3 is the normal rtlsdr I use.
But they don’t work when run as an normal user like pi
and probably satnogs
. I get the error:
: 01-28 08:22:30.118 20767 20767 I IO_UTILS_Main io_utils_setup@io_utils.c:26 initializing pigpio
: 01-28 08:22:30.118 20767 20767 V initCheckPermitted@pigpio.c:7396
: +---------------------------------------------------------+
: |Sorry, you don't have permission to run this program. |
: |Try running as root, e.g. precede the command with sudo. |
: +---------------------------------------------------------+
The lib pigpio
appears to be only working when run as root. But I need to use it with satnogs and need to run it as the satnogs
user. Also both sdr++ and gqrx don’t run with sudo, and complain about not being able to acces an audio driver. I can use some help to figure out how to solve this!
Thanks, Eelke.