CaribouLite, need help!

Can you help me understand how this install does not work with the pigpio that it is supposed to work with? I have tried several different OS versions, looked at youtube, forums, and support pages, and nothing. WTF!!!

03-12 22:36:33.295 13718 13718 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. |
±--------------------------------------------------------+

03-12 22:36:33.297 13718 13718 E IO_UTILS_Main io_utils_setup@io_utils.c:36 initializing pigpio failed
03-12 22:36:33.297 13718 13718 E CARIBOULITE Setup cariboulite_setup_io@cariboulite_setup.c:205 Error setting up io_utils
[ERROR] cariboulite_init_driver() failed

just a small question: Has the caribouLite been tried on Raspberry Pi 40pin compatible boards??

I am using a Pi 4. I have tried DragonOS and Raspbian. No luck… On Dragon, I can see the drivers in CubicSRD, but the pigpio will not install. On Raspian, I have issues with the Soapy install
.

Soon™ I’ll get the hw as well and will be starting to play around with it. Main goal is to make it work in docker, wish me luck :smiley:

4 Likes

Physical not useable on pi400. At best a bright LED, nothing in dmesg.

Unfortunately the project looks a bit abandoned by the developer. I switched to a fork:

And merged his patch-1 branch into my local. This fixes the IQ problem and the mirroring in the spectrum.

I also had problems with compiling the software, which was caused by incompatible Kernel Headers. The ./install.sh script updates the raspberry to the latest version of all software. This upgraded my kernel to the latest version. But the raspbian project had switched the kernel from 32 bit to 64 bit default for the Pi 4B. And I haven’t found a way yet to get the corresponding kernel headers. I switched back to the 32 bit kernel by adding arm_64bit=0 to /boot/config.txt. See:

Next running

sudo pulseaudio --system=true
sudo sdrpp

Shows a strong radio station in the FM band.

I have also played with rx_sdr and cariboulite_util to sample IQ data to rffft, but that didn’t work yet. I only get a big DC spike and no signals.

2 Likes

Hello Eelke, many thanks for your investigative, and corrective, work!
It seems the project has become uninteresting for the creators, even though it is fundamentally faulty and now we are struggling to make something out of our hardware to see the promised functionality. In may case, the build fails when trying to program the FPGA:

FPGA caribou_fpga_program_to_fpga@caribou_fpga.c:182 Programming failed
CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:599 FPGA programming failed
[ERROR] cariboulite_init_driver() failed

I have changed the config.txt as recommended here, but the sudo cmake ../ step always fails. Any ideas?

Yeah, I am not happy with the current abandoned status of the project. I am not able to fix it. Not sure if it will ever work to my satisfactory.

Have you tried compiling from the /home/pi/projects/cariboulite dir? I especially ask this folder as there are some cmake cache file that contain this path, and have gotten into the git repository. There is a merge request t solve this, but it has not yet been accepted. See: Remove generated files from git and remove mkdir warnings by MartinHerren · Pull Request #38 · cariboulabs/cariboulite · GitHub

With recent versions it is not needed to add the smi device to the config.txt. Only the io needs to be set as:

dtparam=i2c_arm=off
dtparam=spi=off
dtparam=i2c_vc=on

Which Pi are you using?

Thanks for the suggestions Eelke. I didn’t know that /projects/ was a compulsory directory and I installed to one with another name that was more relevant for me. OK. I’ll clear out all the caribou stuff and re-install from scratch.

My config.txt was already correct. I am using a RPi 4B with bullseye.

I’ll get a fresh cup of tea and report later …

OK, that went quite well. Soapy was already installed. As user PI with sudo priveleges, I was told halfway through:
Sorry, you don't have permission to run this program
Try running as root, e.g. precede the command with sudo.
when it came to initializing pigpio, even though we’re told specifically NOT to use sudo.

04-07 11:42:56.881  2410  2410 E IO_UTILS_Main io_utils_setup@io_utils.c:36 initializing pigpio failed
04-07 11:42:56.881  2410  2410 E CARIBOULITE Setup cariboulite_setup_io@cariboulite_setup.c:205 Error setting up io_utils

This error happened twice, once with prefix 2410 and once with prefix 2419.
This must surely be a simple thing to fix in the installation script …?
And how do I get this pig installed?

Yes, the install script misses a sudo here and there. But these are not needed to compile everything. Next try:

sudo SoapySDRUtil --info
sudo SoapySDRUtil --probe
sudo SoapySDRUtil --probe="driver=Cariboulite,device_id=1"

Nope - it found the module but can’t program the FPGA:

04-07 15:18:03.256  4483  4483 E FPGA caribou_fpga_program_to_fpga@caribou_fpga.c:182 Programming failed
04-07 15:18:03.256  4483  4483 E CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:599 FPGA programming failed

and
[ERROR] cariboulite_init_driver() failed

:frowning:

Did you find SMI kernel module?

 $ lsmod | grep smi
 bcm2835_smi_dev        16384  0
 bcm2835_smi            20480  1 bcm2835_smi_dev

I couldn’t compile SMI kernel module on Raspbian SatNOGS Image.

I got the smi module built at least once, it did require some messing around with the kernel headers.
Unfortunately raspbian upgraded the kernel and I couldn’t build it anymore.

Is it confirmed abandoned or what ? There has been quite a few good forks of the project. Possible to pull these together to some working (useable) condition ? Even I have been messing around with it a bit.

Yes, SMI appears exactly as you show it …

Afer I got SMI kernel module, I could “sudo SoapySDRUtil --probe” without ERROR.
I can’t tell the difference. I’m using PiSDR v6.1.

The command seems to run twice - the first time everything is OK; the second time it fails. Does anyone know the explanation of this result:

Probe device
[INFO] SoapyCaribouliteSession, sessionCount: 0
04-10 15:29:26.168 32641 32641 I CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:560 driver initializing
04-10 15:29:26.168 32641 32641 I CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:569 Initializing signals
04-10 15:29:26.168 32641 32641 I CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:687 setting up signal handler
04-10 15:29:26.168 32641 32641 I CARIBOULITE Setup cariboulite_setup_io@cariboulite_setup.c:202 Setting up board I/Os
04-10 15:29:26.168 32641 32641 I IO_UTILS_Main io_utils_setup@io_utils.c:26 initializing pigpio
04-10 15:29:26.247 32641 32641 I IO_UTILS_Main io_utils_setup@io_utils.c:39 pigpio version 79
04-10 15:29:26.247 32641 32641 I IO_UTILS_SPI io_utils_spi_init@io_utils_spi.c:321 configuring gpio setups
04-10 15:29:26.247 32641 32641 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:583 Initializing FPGA
04-10 15:29:26.247 32641 32641 I FPGA caribou_fpga_init@caribou_fpga.c:116 configuring reset and irq pins
04-10 15:29:26.247 32641 32641 I FPGA caribou_fpga_init@caribou_fpga.c:124 Initializing io_utils_spi
04-10 15:29:26.247 32641 32641 I CARIBOU_PROG caribou_prog_init@caribou_prog.c:84 FPGA is already configured and running
04-10 15:29:26.247 32641 32641 I CARIBOU_PROG caribou_prog_init@caribou_prog.c:87 device init completed
04-10 15:29:26.247 32641 32641 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:596 Programming FPGA
FPGA Versions:
        System Version: FF
        Manu. ID: FF
        Sys. Ctrl Version: FF
        IO Ctrl Version: FF
        SMI Ctrl Version: FF
04-10 15:29:26.248 32641 32641 I CARIBOU_PROG caribou_prog_configure_prepare@caribou_prog.c:148 RESET low, Waiting for CDONE low
04-10 15:29:26.249 32641 32641 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:259 Sending bitstream of size 32220
04-10 15:29:27.372 32641 32641 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:281 bitstream sent 32220 bytes
04-10 15:29:27.373 32641 32641 I CARIBOU_PROG caribou_prog_configure_finish@caribou_prog.c:192 sending dummy clocks, waiting for CDONE to rise (or fail)
04-10 15:29:27.373 32641 32641 I CARIBOU_PROG caribou_prog_configure_finish@caribou_prog.c:203 0 dummy clocks sent
04-10 15:29:27.373 32641 32641 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:291 FPGA programming - Success!

FPGA Versions:
        System Version: FF
        Manu. ID: FF
        Sys. Ctrl Version: FF
        IO Ctrl Version: FF
        SMI Ctrl Version: FF
04-10 15:29:27.473 32641 32641 E FPGA caribou_fpga_program_to_fpga@caribou_fpga.c:182 Programming failed
04-10 15:29:27.473 32641 32641 E CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:599 FPGA programming failed
04-10 15:29:27.473 32641 32641 I IO_UTILS_SPI io_utils_spi_remove_chip@io_utils_spi.c:475 removing an spi device with handle 0
04-10 15:29:27.473 32641 32641 I IO_UTILS_SPI io_utils_spi_remove_chip@io_utils_spi.c:475 removing an spi device with handle 1
04-10 15:29:27.473 32641 32641 I CARIBOU_PROG caribou_prog_release@caribou_prog.c:122 device release completed
04-10 15:29:27.473 32641 32641 I CARIBOULITE Setup cariboulite_release_io@cariboulite_setup.c:240 Releasing board I/Os - closing SPI
04-10 15:29:27.473 32641 32641 I CARIBOULITE Setup cariboulite_release_io@cariboulite_setup.c:243 Releasing board I/Os - io_utils_cleanup
[ERROR] cariboulite_init_driver() failed
04-10 15:29:27.511 32641 32641 I CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:687 setting up signal handler
Printing 'findCariboulite' Request:
04-10 15:29:27.511 32641 32643 I HAT hat_detect_board@hat.c:619 This board is not configured yet as a hat.
Error probing device: map::at
04-10 15:29:27.512 32641 32641 I CARIBOULITE Setup cariboulite_release_driver@cariboulite_setup.c:699 driver being released
04-10 15:29:27.512 32641 32641 I CARIBOULITE Setup cariboulite_release_driver@cariboulite_setup.c:708 driver released

First off - can anybody verify - has this project been abandoned by the developer?
Second, my install is having problems with initializing the SMI. Anybody got any ideas for a fix?

tgiglia@raspberrypi-02:~ $ sudo SoapySDRUtil --probe
[sudo] password for tgiglia:
######################################################

Soapy SDR – the SDR abstraction library

######################################################

Probe device
[INFO] SoapyCaribouliteSession, sessionCount: 0
04-10 09:42:15.050 6123 6123 I CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:560 driver initializing
04-10 09:42:15.050 6123 6123 I CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:569 Initializing signals
04-10 09:42:15.050 6123 6123 I CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:687 setting up signal handler
04-10 09:42:15.050 6123 6123 I CARIBOULITE Setup cariboulite_setup_io@cariboulite_setup.c:202 Setting up board I/Os
04-10 09:42:15.050 6123 6123 I IO_UTILS_Main io_utils_setup@io_utils.c:26 initializing pigpio
04-10 09:42:15.119 6123 6123 I IO_UTILS_Main io_utils_setup@io_utils.c:39 pigpio version 79
04-10 09:42:15.119 6123 6123 I IO_UTILS_SPI io_utils_spi_init@io_utils_spi.c:321 configuring gpio setups
04-10 09:42:15.119 6123 6123 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:583 Initializing FPGA
04-10 09:42:15.119 6123 6123 I FPGA caribou_fpga_init@caribou_fpga.c:116 configuring reset and irq pins
04-10 09:42:15.119 6123 6123 I FPGA caribou_fpga_init@caribou_fpga.c:124 Initializing io_utils_spi
04-10 09:42:15.119 6123 6123 I CARIBOU_PROG caribou_prog_init@caribou_prog.c:84 FPGA is already configured and running
04-10 09:42:15.119 6123 6123 I CARIBOU_PROG caribou_prog_init@caribou_prog.c:87 device init completed
04-10 09:42:15.119 6123 6123 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:596 Programming FPGA
FPGA Versions:
System Version: 01
Manu. ID: 01
Sys. Ctrl Version: 01
IO Ctrl Version: 01
SMI Ctrl Version: 01
04-10 09:42:15.119 6123 6123 I FPGA caribou_fpga_program_to_fpga@caribou_fpga.c:188 FPGA already operational - not programming (use ‘force_prog=true’ to force update)
04-10 09:42:15.119 6123 6123 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:609 FPGA Digital Values: led0: 0, led1: 0, btn: 1, CFG[0…3]: [1,1,1,1]
04-10 09:42:15.119 6123 6123 I CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:622 Detecting Board Information
04-10 09:42:15.120 6123 6123 I HAT hat_print_board_info@hat.c:703 # Board Info - Category name: hat
04-10 09:42:15.120 6123 6123 I HAT hat_print_board_info@hat.c:704 # Board Info - Product name: CaribouLite RPI Hat
04-10 09:42:15.120 6123 6123 I HAT hat_print_board_info@hat.c:705 # Board Info - Product ID: 0x0001, Numeric: 1
04-10 09:42:15.120 6123 6123 I HAT hat_print_board_info@hat.c:706 # Board Info - Product Version: 0x0001, Numeric: 1
04-10 09:42:15.120 6123 6123 I HAT hat_print_board_info@hat.c:707 # Board Info - Product UUID: 8958d1c2-cfc7-4f3f-ab3d-bd2d279a56c2, Numeric serial: 0xEDA2EFA5
04-10 09:42:15.120 6123 6123 I HAT hat_print_board_info@hat.c:708 # Board Info - Vendor: CaribouLabs LTD
04-10 09:42:15.120 6123 6123 I CARIBOULITE Setup cariboulite_print_board_info@cariboulite_setup.c:753 # Board Info - Product Type: CaribouLite FULL
04-10 09:42:15.120 6123 6123 I CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:272 initializing submodules
04-10 09:42:15.120 6123 6123 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:276 INIT FPGA SMI communication
04-10 09:42:15.120 6123 6123 I CARIBOU_SMI caribou_smi_init@caribou_smi.c:442 initializing caribou_smi
04-10 09:42:15.120 6123 6123 D CARIBOU_SMI_MODULES caribou_smi_check_modules@caribou_smi_modules.c:111 Loading smi-stream module
04-10 09:42:15.121 6123 6123 E CARIBOU_SMI_MODULES caribou_smi_insert_smi_modules@caribou_smi_modules.c:71 Module insertion ‘smi_stream_dev’ failed
04-10 09:42:15.121 6123 6123 E CARIBOU_SMI caribou_smi_init@caribou_smi.c:451 Problem reloading SMI kernel modules
04-10 09:42:15.121 6123 6123 E CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:280 Error setting up smi submodule
04-10 09:42:15.121 6123 6123 D CARIBOULITE Setup cariboulite_release_submodules@cariboulite_setup.c:436 CLOSE FPGA communication
04-10 09:42:15.121 6123 6123 I IO_UTILS_SPI io_utils_spi_remove_chip@io_utils_spi.c:475 removing an spi device with handle 0
04-10 09:42:15.121 6123 6123 I IO_UTILS_SPI io_utils_spi_remove_chip@io_utils_spi.c:475 removing an spi device with handle 1
04-10 09:42:15.121 6123 6123 I CARIBOU_PROG caribou_prog_release@caribou_prog.c:122 device release completed
04-10 09:42:15.121 6123 6123 E FPGA caribou_fpga_close@caribou_fpga.c:225 caribou_fpga_close: dev not initialized

GOOD NEWS!
I asked Crowd Supply to get in contact with the Caribou Lite developers and this is their reply:

New reply for the ticket #OTHnnnnnnnn

Hello,

Thanks for contacting Crowd Supply! We have gotten in contact with the creator and they ensure us they are working on an update that will be brought out next week.

Regards,
nnnnnn
Crowd Supply Support

I am curious to see what they provide …
D.