Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPI4 RX- SMI data synchronization failed - DragonOS / Bookworm #221

Open
ngrabbs opened this issue Oct 28, 2024 · 4 comments
Open

RPI4 RX- SMI data synchronization failed - DragonOS / Bookworm #221

ngrabbs opened this issue Oct 28, 2024 · 4 comments

Comments

@ngrabbs
Copy link

ngrabbs commented Oct 28, 2024

Hi. I've been trying to get the cariboulite working on a raspberry pi 4 (i have several pi4's and run into the same issue on them all) and i've been having some struggles with the smi interface. I also want to mention that I have access to three cariboulite hats. The hats work on a pi zero running bookworm and also on a pi3 running dragonOS. I have tested DragonOS_Pi64_Beta36.img and beDragonOS_Pi64_Beta37.imgta36 of dragonOS with the same results as well as 2024-07-04-raspios-bookworm-arm64-lite.img.

The issue im running into is this:
E CARIBOULITE Radio cariboulite_radio_read_samples@cariboulite_radio.c:1276 SMI data synchronization failed
Very specifically when trying to receieve. I can transmit a CW on interface 0 or 1 of the cariboulite in all cases just fine, I just cant receive.

You will see in the git diff below that i've made a few changes to the code after reading through a ton of different issue requests. I have also tried building without any changes to the code, just fixing the errors, and i've tried building without commenting out the headers in the install.sh scripts, both with the same results.

I have tried building from the following repo branches all with the same results:
https://github.com/cariboulabs/cariboulite -> main
https://github.com/cariboulabs/cariboulite/tree/meexmachina-patch-1
https://github.com/unixpunk/cariboulite/tree/patch-1

I have tried installing the driver with both of these different methods / parameters with the same results:

ubuntu@ubuntu:~/cariboulite/driver$ 
  ./install.sh install 6 2 3
  ./install.sh install 2 2 3

I am pretty active with trying to resolve these issues so if you see something I can test I will glady try and report back the results.
Thanks
-Nick

====DRAGONOS DragonOS_Pi64_Beta36.img====
====BUILD DETAILS====

ubuntu@ubuntu:~/cariboulite$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
	modified:   driver/install.sh
	modified:   driver/smi_stream_dev.c
	modified:   install.sh
	modified:   software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen.h
	modified:   software/libcariboulite/src/iir (untracked content)
	modified:   software/libcariboulite/src/soapy_api/Cariboulite.cpp
	modified:   software/libcariboulite/src/soapy_api/CaribouliteSession.cpp
	modified:   software/libcariboulite/src/soapy_api/CaribouliteStream.hpp
	modified:   software/utils/generate_bin_blob

no changes added to commit (use "git add" and/or "git commit -a")
ubuntu@ubuntu:~/cariboulite$ git diff driver/install.sh driver/smi_stream_dev.c install.sh software/libcariboulite/src/soapy_api/Cariboulite.cpp software/libcariboulite/src/soapy_api/CaribouliteSession.cpp software/libcariboulite/src/soapy_api/CaribouliteStream.hpp
diff --git a/driver/install.sh b/driver/install.sh
index 74ea739..a3fd05f 100755
--- a/driver/install.sh
+++ b/driver/install.sh
@@ -22,7 +22,7 @@ install() {
     printf "${GREEN}Installation started...${NC}\n"
     printf "\n[  1  ] ${GREEN}Updating kernel headers and needed software${NC}\n"
     sudo apt-get update
-    sudo apt-get -y install raspberrypi-kernel-headers module-assistant pkg-config libncurses5-dev cmake git
+    sudo apt-get -y install module-assistant pkg-config libncurses5-dev cmake git
 
     printf "\n[  2  ] ${GREEN}Compiling module${NC}\n"
     if [ -d "$BUILD_DIR" ]; then
diff --git a/driver/smi_stream_dev.c b/driver/smi_stream_dev.c
index e0d6618..c7f3fba 100644
--- a/driver/smi_stream_dev.c
+++ b/driver/smi_stream_dev.c
@@ -1050,7 +1050,7 @@ static int smi_stream_dev_probe(struct platform_device *pdev)
     }
 
     // Create sysfs entries with "smi-stream-dev"
-    smi_stream_class = class_create(THIS_MODULE, DEVICE_NAME);
+    smi_stream_class = class_create(DEVICE_NAME);
     ptr_err = smi_stream_class;
     if (IS_ERR(ptr_err))
     {
diff --git a/install.sh b/install.sh
index 047dd49..c49f06b 100755
--- a/install.sh
+++ b/install.sh
@@ -26,8 +26,8 @@ git submodule update
 ## --------------------------------------------------------------------
 printf "\n[  2  ] ${GREEN}Updating system and installing dependencies...${NC}\n"
 sudo apt-get update
-sudo apt-get -y install raspberrypi-kernel-headers # raspbian
-sudo apt-get -y install linux-headers-raspi # ubuntu
+#sudo apt-get -y install raspberrypi-kernel-headers # raspbian
+#sudo apt-get -y install linux-headers-raspi # ubuntu
 sudo apt-get -y install module-assistant pkg-config libncurses5-dev cmake git libzmq3-dev
 sudo apt-get -y install swig avahi-daemon libavahi-client-dev python3-distutils libpython3-dev
 
diff --git a/software/libcariboulite/src/soapy_api/Cariboulite.cpp b/software/libcariboulite/src/soapy_api/Cariboulite.cpp
index bee19e0..be0e4b0 100644
--- a/software/libcariboulite/src/soapy_api/Cariboulite.cpp
+++ b/software/libcariboulite/src/soapy_api/Cariboulite.cpp
@@ -246,7 +246,7 @@ void Cariboulite::setSampleRate( const int direction, const size_t channel, cons
     if (std::fabs(rate - (666000.0)) < 1)
     {
         fs = cariboulite_radio_rx_sample_rate_666khz;
-        SoapySDR::logf(SOAPY_SDR_WARNING, "setSampleRate: using rounded rate 666000 is deprecated; use 2e6/3 or 666666.7.");
+        SoapySDR_logf(SOAPY_SDR_WARNING, "setSampleRate: using rounded rate 666000 is deprecated; use 2e6/3 or 666666.7.");
     }
     if (std::fabs(rate - (2000000.0/3)) < 1) fs = cariboulite_radio_rx_sample_rate_666khz;
     if (std::fabs(rate - (800000.0)) < 1) fs = cariboulite_radio_rx_sample_rate_800khz;
@@ -254,7 +254,7 @@ void Cariboulite::setSampleRate( const int direction, const size_t channel, cons
     if (std::fabs(rate - (1333000.0)) < 1) fs = cariboulite_radio_rx_sample_rate_1333khz;
     {
         fs = cariboulite_radio_rx_sample_rate_1333khz;
-        SoapySDR::logf(SOAPY_SDR_WARNING, "setSampleRate: using rounded rate 1333000 is deprecated; use 4e6/3 or 1333333.3.");
+        SoapySDR_logf(SOAPY_SDR_WARNING, "setSampleRate: using rounded rate 1333000 is deprecated; use 4e6/3 or 1333333.3.");
     }
     if (std::fabs(rate - (4000000.0/3)) < 1) fs = cariboulite_radio_rx_sample_rate_1333khz;
     if (std::fabs(rate - (2000000.0)) < 1) fs = cariboulite_radio_rx_sample_rate_2000khz;
diff --git a/software/libcariboulite/src/soapy_api/CaribouliteSession.cpp b/software/libcariboulite/src/soapy_api/CaribouliteSession.cpp
index 545bdb0..8d1f828 100644
--- a/software/libcariboulite/src/soapy_api/CaribouliteSession.cpp
+++ b/software/libcariboulite/src/soapy_api/CaribouliteSession.cpp
@@ -49,7 +49,7 @@ SoapyCaribouliteSession::SoapyCaribouliteSession(void)
         int ret = cariboulite_init_driver(&sys, NULL);
         if (ret != 0)
         {
-            SoapySDR::logf(SOAPY_SDR_ERROR, "cariboulite_init_driver() failed");
+            SoapySDR_logf(SOAPY_SDR_ERROR, "cariboulite_init_driver() failed");
         }
 
         // setup the signal handler
diff --git a/software/libcariboulite/src/soapy_api/CaribouliteStream.hpp b/software/libcariboulite/src/soapy_api/CaribouliteStream.hpp
index 42abe51..3902f85 100644
--- a/software/libcariboulite/src/soapy_api/CaribouliteStream.hpp
+++ b/software/libcariboulite/src/soapy_api/CaribouliteStream.hpp
@@ -103,7 +103,7 @@ public:
        cariboulite_channel_dir_en getInnerStreamType(void);
     void setInnerStreamType(cariboulite_channel_dir_en dir);
        void setDigitalFilter(DigitalFilterType type);
-       DigitalFilterType getDigitalFilter() const { return filterType };
+       DigitalFilterType getDigitalFilter() const { return filterType;}
        int setFormat(const std::string &fmt);
        inline int readerThreadRunning() {return reader_thread_running;}
     void activateStream(int active) {stream_active = active;}
ubuntu@ubuntu:~/cariboulite$ 

====END BUILD DETAILS====

====ENVIRONMENT====


ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.4 LTS
Release:	22.04
Codename:	jammy
ubuntu@ubuntu:~$ uname -a
Linux ubuntu 6.5.0-1008-raspi #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 22 19:08:26 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
ubuntu@ubuntu:~$ lsmod | grep smi
smi_stream_dev         28672  0
bcm2835_smi            32768  1 smi_stream_dev
ubuntu@ubuntu:~$ modinfo smi_stream_dev
filename:       /lib/modules/6.5.0-1008-raspi/kernel/drivers/char/broadcom/smi_stream_dev.ko.xz
author:         David Michaeli <[email protected]>
description:    Character device driver for BCM2835's secondary memory interface streaming mode
license:        GPL
alias:          platform:smi-stream-dev
srcversion:     6CC06C947214323CBAEDD21
alias:          of:N*T*Cbrcm,bcm2835-smi-devC*
alias:          of:N*T*Cbrcm,bcm2835-smi-dev
depends:        bcm2835_smi
name:           smi_stream_dev
vermagic:       6.5.0-1008-raspi SMP preempt mod_unload modversions aarch64
parm:           fifo_mtu_multiplier:the number of MTUs (N*MTU_SIZE) to allocate for kfifo's (default 6) valid: [3..33] (int)
parm:           addr_dir_offset:GPIO_SA[4:0] offset of the channel direction (default cariboulite 2), valid: [0..4] or (-1) if unused (int)
parm:           addr_ch_offset:GPIO_SA[4:0] offset of the channel select (default cariboulite 3), valid: [0..4] or (-1) if unused (int)
ubuntu@ubuntu:~/cariboulite$ sudo lshw
[sudo] password for ubuntu: 
ubuntu                      
    description: Computer
    product: Raspberry Pi 4 Model B Rev 1.4
    serial: 1000000053d02d47
    width: 64 bits
    capabilities: smp cp15_barrier setend swp tagged_addr_disabled
  *-core
       description: Motherboard
       physical id: 0
     *-cpu:0
          description: CPU
          product: cpu
          physical id: 1
          bus info: cpu@0
          size: 1800MHz
          capacity: 1800MHz
          capabilities: fp asimd evtstrm crc32 cpuid cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:1
          description: CPU
          product: cpu
          physical id: 2
          bus info: cpu@1
          size: 1800MHz
          capacity: 1800MHz
          capabilities: fp asimd evtstrm crc32 cpuid cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:2
          description: CPU
          product: cpu
          physical id: 3
          bus info: cpu@2
          size: 1800MHz
          capacity: 1800MHz
          capabilities: fp asimd evtstrm crc32 cpuid cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:3
          description: CPU
          product: cpu
          physical id: 4
          bus info: cpu@3
          size: 1800MHz
          capacity: 1800MHz
          capabilities: fp asimd evtstrm crc32 cpuid cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:4 DISABLED
          description: CPU
          product: l2-cache0
          physical id: 5
          bus info: cpu@4
     *-memory
          description: System memory
          physical id: 6
          size: 3790MiB
     *-pci
          description: PCI bridge
          product: BCM2711 PCIe Bridge
          vendor: Broadcom Inc. and subsidiaries
          physical id: 0
          bus info: pci@0000:00:00.0
          version: 10
          width: 32 bits
          clock: 33MHz
          capabilities: pci pm pciexpress normal_decode bus_master cap_list
          configuration: driver=pcieport
          resources: irq:27 memory:600000000-6000fffff
        *-usb
             description: USB controller
             product: VL805/806 xHCI USB 3.0 Controller
             vendor: VIA Technologies, Inc.
             physical id: 0
             bus info: pci@0000:01:00.0
             version: 01
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi pciexpress xhci bus_master cap_list
             configuration: driver=xhci_hcd latency=0
             resources: irq:39 memory:600000000-600000fff
           *-usbhost:0
                product: xHCI Host Controller
                vendor: Linux 6.5.0-1008-raspi xhci-hcd
                physical id: 0
                bus info: usb@1
                logical name: usb1
                version: 6.05
                capabilities: usb-2.00
                configuration: driver=hub slots=1 speed=480Mbit/s
              *-usb
                   description: USB hub
                   product: USB2.0 Hub
                   vendor: VIA Labs, Inc.
                   physical id: 1
                   bus info: usb@1:1
                   version: 4.21
                   capabilities: usb-2.10
                   configuration: driver=hub maxpower=100mA slots=4 speed=480Mbit/s
           *-usbhost:1
                product: xHCI Host Controller
                vendor: Linux 6.5.0-1008-raspi xhci-hcd
                physical id: 1
                bus info: usb@2
                logical name: usb2
                version: 6.05
                capabilities: usb-3.00
                configuration: driver=hub slots=4 speed=5000Mbit/s
  *-usbhost
       product: DWC OTG Controller
       vendor: Linux 6.5.0-1008-raspi dwc2_hsotg
       physical id: 1
       bus info: usb@3
       logical name: usb3
       version: 6.05
       capabilities: usb-2.00
       configuration: driver=hub slots=1 speed=480Mbit/s
  *-mmc0
       description: MMC Host
       physical id: 2
       logical name: mmc0
     *-device
          description: SD Card
          product: SR64G
          vendor: SanDisk
          physical id: aaaa
          logical name: /dev/mmcblk0
          version: 8.6
          date: 06/2024
          serial: 3777364642
          size: 59GiB (63GB)
          capabilities: sd partitioned partitioned:dos
          configuration: logicalsectorsize=512 sectorsize=512 signature=0f8d754b
        *-volume:0 UNCLAIMED
             description: Windows FAT volume
             vendor: mkfs.fat
             physical id: 1
             version: FAT32
             serial: 8f6d-379e
             size: 255MiB
             capacity: 256MiB
             capabilities: primary bootable fat initialized
             configuration: FATs=2 filesystem=fat label=system-boot
        *-volume:1
             description: EXT4 volume
             vendor: Linux
             physical id: 2
             logical name: /dev/mmcblk0p2
             logical name: /
             version: 1.0
             serial: c87015f3-46d5-4737-bf05-bb791ef074db
             size: 59GiB
             capacity: 59GiB
             capabilities: primary journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
             configuration: created=2022-08-09 10:02:31 filesystem=ext4 label=writable lastmountpoint=/ modified=2024-08-04 20:56:33 mount.fstype=ext4 mount.options=rw,relatime,discard mounted=2024-08-04 20:56:35 state=mounted
  *-mmc1
       description: MMC Host
       physical id: 3
       logical name: mmc1
     *-device
          description: SDIO Device
          physical id: 1
          bus info: mmc@1:0001
          serial: 0
          capabilities: sdio
        *-interface:0
             description: Wireless interface
             product: 43430
             vendor: Broadcom
             physical id: 1
             bus info: mmc@1:0001:1
             logical name: mmc1:0001:1
             logical name: wlan0
             serial: e4:5f:01:69:9c:0b
             capabilities: ethernet physical wireless
             configuration: broadcast=yes driver=brcmfmac driverversion=7.45.241 firmware=01-703fd60 multicast=yes wireless=IEEE 802.11
        *-interface:1
             product: 43430
             vendor: Broadcom
             physical id: 2
             bus info: mmc@1:0001:2
             logical name: mmc1:0001:2
        *-bt
             description: BlueTooth interface
             product: 43430
             vendor: Broadcom
             physical id: 3
             bus info: mmc@1:0001:3
             logical name: mmc1:0001:3
             capabilities: wireless bluetooth
             configuration: wireless=BlueTooth
  *-sound:0
       description: Headphones
       physical id: 4
       logical name: card0
       logical name: /dev/snd/controlC0
       logical name: /dev/snd/pcmC0D0p
  *-sound:1
       description: vc4hdmi0
       physical id: 5
       logical name: card1
       logical name: /dev/snd/controlC1
       logical name: /dev/snd/pcmC1D0p
  *-sound:2
       description: vc4hdmi1
       physical id: 6
       logical name: card2
       logical name: /dev/snd/controlC2
       logical name: /dev/snd/pcmC2D0p
  *-input:0
       product: vc4-hdmi-0
       physical id: 7
       logical name: input0
       logical name: /dev/input/event0
       capabilities: cec
  *-input:1
       product: vc4-hdmi-1
       physical id: 8
       logical name: input1
       logical name: /dev/input/event1
       capabilities: cec
  *-network
       description: Ethernet interface
       physical id: 9
       logical name: eth0
       serial: e4:5f:01:69:9c:09
       size: 1Gbit/s
       capacity: 1Gbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=bcmgenet driverversion=6.5.0-1008-raspi duplex=full ip=10.0.0.122 link=yes multicast=yes port=twisted pair speed=1Gbit/s
ubuntu@ubuntu:~/cariboulite$ cat /boot/firmware/config.txt 
[all]
kernel=vmlinuz
cmdline=cmdline.txt
initramfs initrd.img followkernel

[pi4]
max_framebuffers=2
arm_boost=1

[all]
# Enable the audio output, I2C and SPI interfaces on the GPIO header. As these
# parameters related to the base device-tree they must appear *before* any
# other dtoverlay= specification
dtparam=audio=on
#dtparam=i2c_arm=on
#dtparam=spi=on
dtparam=i2c_vc=on
dtoverlay=spi1-3cs


# Comment out the following line if the edges of the desktop appear outside
# the edges of your display
disable_overscan=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# If you have issues with audio, you may try uncommenting the following line
# which forces the HDMI output into HDMI mode instead of DVI (which doesn't
# support audio output)
#hdmi_drive=2
hdmi_force_hotplug=1

#Next is for headless usage only (no HDMI connected) and 1080P resolution
#hdmi_force_mode=1
#hdmi_group=2
#hdmi_mode=82

[cm4]
# Enable the USB2 outputs on the IO board (assuming your CM4 is plugged into
# such a board)
dtoverlay=dwc2,dr_mode=host

[all]

# Enable the KMS ("full" KMS) graphics overlay, leaving GPU memory as the
# default (the kernel is in control of graphics memory with full KMS)
#Comment the below line for headless usage
dtoverlay=vc4-kms-v3d

# Autoload overlays for any recognized cameras or displays that are attached
# to the CSI/DSI ports. Please note this is for libcamera support, *not* for
# the legacy camera stack
camera_auto_detect=1
display_auto_detect=1

# Config settings specific to arm64
arm_64bit=1
dtoverlay=dwc2
ubuntu@ubuntu:~/cariboulite$ 


====END ENVIRONMENT====

====TESTING====


ubuntu@ubuntu:~/cariboulite/build$ ./cariboulite_test_app 
10-27 21:34:51.237  6337  6337 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:581 driver initializing
10-27 21:34:51.238  6337  6337 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:591 Initializing signals
10-27 21:34:51.238  6337  6337 D CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:731 setting up signal handler
10-27 21:34:51.238  6337  6337 D CARIBOULITE Setup cariboulite_setup_io@cariboulite_setup.c:206 Setting up board I/Os
10-27 21:34:51.238  6337  6337 D IO_UTILS_Main io_utils_setup@io_utils.c:25 initializing rpi
10-27 21:34:51.239  6337  6337 D IO_UTILS_SPI io_utils_spi_init@io_utils_spi.c:323 configuring gpio setups
10-27 21:34:51.239  6337  6337 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:623 Initializing FPGA
10-27 21:34:51.239  6337  6337 D FPGA caribou_fpga_init@caribou_fpga.c:119 configuring reset and irq pins
10-27 21:34:51.240  6337  6337 D FPGA caribou_fpga_init@caribou_fpga.c:127 Initializing io_utils_spi
10-27 21:34:51.241  6337  6337 D CARIBOU_PROG caribou_prog_init@caribou_prog.c:84 FPGA is already configured and running
10-27 21:34:51.241  6337  6337 D CARIBOU_PROG caribou_prog_init@caribou_prog.c:87 device init completed
10-27 21:34:51.241  6337  6337 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:631 Programming FPGA
10-27 21:34:51.241  6337  6337 I FPGA caribou_fpga_program_to_fpga@caribou_fpga.c:210 FPGA already operational - not programming (use 'force_prog=true' to force update)
10-27 21:34:51.241  6337  6337 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:648 FPGA Digital Values: led0: 0, led1: 0, btn: 1, CFG[0..3]: [1,1,1,1]
10-27 21:34:51.241  6337  6337 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:659 Detected Board Information:
10-27 21:34:51.241  6337  6337 D HAT [email protected]:705 # Board Info - Category name: hat
10-27 21:34:51.241  6337  6337 D HAT [email protected]:706 # Board Info - Product name: CaribouLite RPI Hat
10-27 21:34:51.241  6337  6337 D HAT [email protected]:707 # Board Info - Product ID: 0x0001, Numeric: 1
10-27 21:34:51.241  6337  6337 D HAT [email protected]:708 # Board Info - Product Version: 0x0001, Numeric: 1
10-27 21:34:51.242  6337  6337 D HAT [email protected]:709 # Board Info - Product UUID: f0f78f2a-59d2-4489-80ad-85a6161db73a, Numeric serial: 0x29886A84
10-27 21:34:51.242  6337  6337 D HAT [email protected]:710 # Board Info - Vendor: CaribouLabs LTD
10-27 21:34:51.242  6337  6337 D CARIBOULITE Setup cariboulite_print_board_info@cariboulite_setup.c:797 # Board Info - Product Type: CaribouLite FULL
10-27 21:34:51.242  6337  6337 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:280 initializing submodules
10-27 21:34:51.242  6337  6337 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:284 INIT FPGA SMI communication
10-27 21:34:51.242  6337  6337 D CARIBOU_SMI caribou_smi_init@caribou_smi.c:521 initializing caribou_smi
10-27 21:34:51.242  6337  6337 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:294 INIT MODEM - AT86RF215
10-27 21:34:51.242  6337  6337 D AT86RF215_Main [email protected]:174 configuring reset and irq pins
10-27 21:34:51.243  6337  6337 D AT86RF215_Main [email protected]:182 Adding chip definition to io_utils_spi
10-27 21:34:51.243  6337  6337 D AT86RF215_Main [email protected]:211 Modem identity: Version: 03, Product: 35
10-27 21:34:51.243  6337  6337 D AT86RF215_Main [email protected]:129 Calibration of modem channel 0...
10-27 21:34:51.310  6337  6337 D AT86RF215_Main [email protected]:145 Calibration Results of the modem: I=33, Q=35
10-27 21:34:51.310  6337  6337 D AT86RF215_Main [email protected]:129 Calibration of modem channel 1...
10-27 21:34:51.376  6337  6337 D AT86RF215_Main [email protected]:145 Calibration Results of the modem: I=35, Q=35
10-27 21:34:51.376  6337  6337 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:304 Configuring modem initial state
10-27 21:34:51.376  6337  6337 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:347 This board is a Full version CaribouLite - setting ext_ref: modem, 32MHz
10-27 21:34:51.376  6337  6337 D CARIBOULITE Radio cariboulite_radio_ext_ref@cariboulite_radio.c:82 Setting ext_ref = 32MHz
10-27 21:34:51.376  6337  6337 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:373 INIT MIXER - RFFC5072
10-27 21:34:51.376  6337  6337 D RFFC5072 [email protected]:115 Initializing RFFC507x driver
10-27 21:34:51.377  6337  6337 D RFFC5072 [email protected]:119 Setting up device GPIOs
10-27 21:34:51.407  6337  6337 D RFFC5072 [email protected]:132 Received spi handle 3
10-27 21:34:51.427  6337  6337 D RFFC5072 [email protected]:417 RFFC507X DEVID: 0x8A01 ID: 0x1140, Rev: 1 (RFFC507x)
10-27 21:34:51.431  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 1
10-27 21:34:51.431  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:34:51.432  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:773 Setup Modem state to 3 (tx prep)
10-27 21:34:51.433  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1095 Setup Modem state tx_prep
10-27 21:34:51.433  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:775 Setup Modem state to 5 (rx)
10-27 21:34:51.435  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-27 21:34:51.435  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:34:51.435  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 1
10-27 21:34:51.435  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:34:51.435  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:773 Setup Modem state to 3 (tx prep)
10-27 21:34:51.437  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1095 Setup Modem state tx_prep
10-27 21:34:51.437  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:775 Setup Modem state to 5 (rx)
10-27 21:34:51.439  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-27 21:34:51.439  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:34:51.439  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-27 21:34:51.439  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:34:51.439  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-27 21:34:51.439  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:34:51.440  6337  6337 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:409 Cariboulite submodules successfully initialized
10-27 21:34:51.440  6337  6337 D CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:480 Testing modem communication and versions
10-27 21:34:51.440  6337  6337 D AT86RF215_Main [email protected]:290 MODEM Version: AT86RF215IQ (without basebands), version: 03
10-27 21:34:51.440  6337  6337 D CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:495 Testing mixer communication and versions
10-27 21:34:51.442  6337  6337 D CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:509 Self-test process finished successfully!
10-27 21:34:51.442  6337  6337 D CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:731 setting up signal handler

	   ____           _ _                 _     _ _         
	  / ___|__ _ _ __(_) |__   ___  _   _| |   (_) |_ ___   
	 | |   / _` | '__| | '_ \ / _ \| | | | |   | | __/ _ \  
	 | |__| (_| | |  | | |_) | (_) | |_| | |___| | ||  __/  
	  \____\__,_|_|  |_|_.__/ \___/ \__,_|_____|_|\__\___|  


 Select a function:
 [0]  Hard reset FPGA
 [1]  Soft reset FPGA
 [2]  Print board info and versions
 [3]  Program FPGA
 [4]  Perform a Self-Test
 [5]  FPGA Digital I/O
 [6]  FPGA RFFE control
 [7]  FPGA SMI fifo status
 [8]  Modem transmit CW signal
 [9]  Modem receive I/Q stream
 [10]  Synthesizer 85-4200 MHz
 [99]  Quit
    Choice:   3

=====================================
FPGA Programming:
10-27 21:34:53.688  6337  6337 D CARIBOU_PROG caribou_prog_configure_prepare@caribou_prog.c:148 RESET low, Waiting for CDONE low
10-27 21:34:53.690  6337  6337 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:260 Sending bitstream of size 32220
10-27 21:34:55.159  6337  6337 D CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:282 bitstream sent 32220 bytes
10-27 21:34:55.160  6337  6337 D CARIBOU_PROG caribou_prog_configure_finish@caribou_prog.c:192 sending dummy clocks, waiting for CDONE to rise (or fail)
10-27 21:34:55.160  6337  6337 D CARIBOU_PROG caribou_prog_configure_finish@caribou_prog.c:204 0 dummy clocks sent
10-27 21:34:55.160  6337  6337 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:292 FPGA programming - Success!

	FPGA programming successful, Versions:

=====================================
 Select a function:
 [0]  Hard reset FPGA
 [1]  Soft reset FPGA
 [2]  Print board info and versions
 [3]  Program FPGA
 [4]  Perform a Self-Test
 [5]  FPGA Digital I/O
 [6]  FPGA RFFE control
 [7]  FPGA SMI fifo status
 [8]  Modem transmit CW signal
 [9]  Modem receive I/Q stream
 [10]  Synthesizer 85-4200 MHz
 [99]  Quit
    Choice:   9

=====================================
10-27 21:35:09.185  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:09.185  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_frequency@cariboulite_radio.c:1048 Frequency setting CH: 0, Wanted: 900000000.00 Hz, Set: 0.00 Hz (MOD: 899999872.00, MIX: 0.00)
10-27 21:35:09.185  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-27 21:35:09.185  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
Entering sampling thread
10-27 21:35:09.185  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:09.186  6337  6337 D CARIBOULITE Radio cariboulite_radio_ext_ref@cariboulite_radio.c:87 Setting ext_ref = OFF
10-27 21:35:09.186  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:773 Setup Modem state to 3 (tx prep)
10-27 21:35:09.187  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_frequency@cariboulite_radio.c:1048 Frequency setting CH: 1, Wanted: 2400000000.00 Hz, Set: 2399999744.00 Hz (MOD: 2399999744.00, MIX: 0.00)
10-27 21:35:09.187  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-27 21:35:09.187  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:09.188  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-27 21:35:09.188  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:09.188  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-27 21:35:09.188  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
	Parameters:
	[1] Ch1 (899.99987 MHz) RX Not Active
	[2] Ch2 (2399.99974 MHz) RX Not Active
	[3] Push Debug Not Active
	[4] Pull Debug Not Active
	[5] LFSR Debug Not Active
	[99] Return to main menu
	Choice: 1
10-27 21:35:10.178  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 1
10-27 21:35:10.178  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:10.178  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:773 Setup Modem state to 3 (tx prep)
10-27 21:35:10.180  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1095 Setup Modem state tx_prep
10-27 21:35:10.180  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:775 Setup Modem state to 5 (rx)
	Parameters:
	[1] Ch1 (899.99987 MHz) RX Active
	[2] Ch2 (2399.99974 MHz) RX Not Active
	[3] Push Debug Not Active
	[4] Pull Debug Not Active
	[5] LFSR Debug Not Active
	[99] Return to main menu
	Choice: 00 00 00 00 00 C0 00 C0  00 C0 00 C0 00 C0 00 C0  |  ................ 
10-27 21:35:10.192  6337  7107 E CARIBOULITE Radio cariboulite_radio_read_samples@cariboulite_radio.c:1276 SMI data synchronization failed
C0 FF D6 FF DC FF F6 FF  C6 FF 22 C0 D4 FF 3C C0  |  .........."...<. 
10-27 21:35:11.329  6337  7107 E CARIBOULITE Radio cariboulite_radio_read_samples@cariboulite_radio.c:1276 SMI data synchronization failed
^CCaribouLite: Signal [2] received from pid=[0]
Signal [2] caught, with the following information: 
   signal errno = 0
   signal process pid = 0
   signal process uid = 0
   signal status = 0
   signal errno / signal raised by kernel
SIGINT: interruption
10-27 21:35:11.337  6337  6337 D CARIBOULITE Setup cariboulite_release_driver@cariboulite_setup.c:743 driver being released
10-27 21:35:11.337  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-27 21:35:11.337  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:11.337  6337  6337 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-27 21:35:11.337  6337  6337 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:11.337  6337  6337 D CARIBOULITE Setup cariboulite_release_submodules@cariboulite_setup.c:437 CLOSE SMI
CaribouLite: Signal [11] received from pid=[-2057182169]
Signal [11] caught, with the following information: 
   signal errno = 0
   signal process pid = -2057182169
   signal process uid = 65535
   signal status = 0
   signal errno / SIGSEGV / the process access invalid region of memory
SIGSEGV: memory access violation
10-27 21:35:11.338  6337  7107 D CARIBOULITE Setup cariboulite_release_driver@cariboulite_setup.c:743 driver being released
10-27 21:35:11.338  6337  7107 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-27 21:35:11.338  6337  7107 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:11.338  6337  7107 E CARIBOU_SMI caribou_smi_set_driver_streaming_state@caribou_smi.c:35 failed setting smi stream state (0)
10-27 21:35:11.338  6337  7107 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-27 21:35:11.338  6337  7107 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-27 21:35:11.339  6337  7107 E CARIBOU_SMI caribou_smi_set_driver_streaming_state@caribou_smi.c:35 failed setting smi stream state (0)
10-27 21:35:11.339  6337  7107 D CARIBOULITE Setup cariboulite_release_submodules@cariboulite_setup.c:437 CLOSE SMI
Segmentation fault (core dumped)
ubuntu@ubuntu:~/cariboulite/build$ 

====END TESTING====
====END DRAGON64 36====

@ngrabbs
Copy link
Author

ngrabbs commented Oct 28, 2024

====BOOKWORM 2024-07-04-raspios-bookworm-arm64-lite.img====

====ENVIRONMENT====


**cubesat@raspberrypi:~ $ cat /boot/firmware/config.txt** 
# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
dtparam=i2c_vc=on
dtoverlay=spi1-3cs

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Additional overlays and parameters are documented
# /boot/firmware/overlays/README

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Automatically load initramfs files, if found
auto_initramfs=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

# Run as fast as firmware / board allows
arm_boost=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[cm5]
dtoverlay=dwc2,dr_mode=host

[all]
cubesat@raspberrypi:~ $ 

cubesat@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm
cubesat@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
cubesat@raspberrypi:~ $ lsmod | grep smi
smi_stream_dev         16384  0
bcm2835_smi            20480  1 smi_stream_dev
cubesat@raspberrypi:~ $ modinfo smi_stream_dev
filename:       /lib/modules/6.6.31+rpt-rpi-v8/kernel/drivers/char/broadcom/smi_stream_dev.ko.xz
author:         David Michaeli <[email protected]>
description:    Character device driver for BCM2835's secondary memory interface streaming mode
license:        GPL
alias:          platform:smi-stream-dev
srcversion:     B55C3D4A2A7C92F068543F4
alias:          of:N*T*Cbrcm,bcm2835-smi-devC*
alias:          of:N*T*Cbrcm,bcm2835-smi-dev
depends:        bcm2835_smi
name:           smi_stream_dev
vermagic:       6.6.31+rpt-rpi-v8 SMP preempt mod_unload modversions aarch64
parm:           fifo_mtu_multiplier:the number of MTUs (N*MTU_SIZE) to allocate for kfifo's (default 6) valid: [3..33] (int)
parm:           addr_dir_offset:GPIO_SA[4:0] offset of the channel direction (default cariboulite 2), valid: [0..4] or (-1) if unused (int)
parm:           addr_ch_offset:GPIO_SA[4:0] offset of the channel select (default cariboulite 3), valid: [0..4] or (-1) if unused (int)
cubesat@raspberrypi:~ $ 

cubesat@raspberrypi:~ $ sudo lshw
raspberrypi                 
    description: Computer
    product: Raspberry Pi 4 Model B Rev 1.4
    serial: 1000000053d02d47
    width: 64 bits
    capabilities: smp cp15_barrier setend swp tagged_addr_disabled
  *-core
       description: Motherboard
       physical id: 0
     *-cpu:0
          description: CPU
          product: cpu
          physical id: 1
          bus info: cpu@0
          size: 1800MHz
          capacity: 1800MHz
          capabilities: fp asimd evtstrm crc32 cpuid cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:1
          description: CPU
          product: cpu
          physical id: 2
          bus info: cpu@1
          size: 1800MHz
          capacity: 1800MHz
          capabilities: fp asimd evtstrm crc32 cpuid cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:2
          description: CPU
          product: cpu
          physical id: 3
          bus info: cpu@2
          size: 1800MHz
          capacity: 1800MHz
          capabilities: fp asimd evtstrm crc32 cpuid cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:3
          description: CPU
          product: cpu
          physical id: 4
          bus info: cpu@3
          size: 1800MHz
          capacity: 1800MHz
          capabilities: fp asimd evtstrm crc32 cpuid cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:4 DISABLED
          description: CPU
          product: l2-cache0
          physical id: 5
          bus info: cpu@4
     *-memory
          description: System memory
          physical id: 6
          size: 3792MiB
     *-pci
          description: PCI bridge
          product: BCM2711 PCIe Bridge
          vendor: Broadcom Inc. and subsidiaries
          physical id: 0
          bus info: pci@0000:00:00.0
          version: 10
          width: 32 bits
          clock: 33MHz
          capabilities: pci pm pciexpress normal_decode bus_master cap_list
          configuration: driver=pcieport
          resources: irq:27 memory:600000000-6000fffff
        *-usb
             description: USB controller
             product: VL805/806 xHCI USB 3.0 Controller
             vendor: VIA Technologies, Inc.
             physical id: 0
             bus info: pci@0000:01:00.0
             version: 01
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi pciexpress xhci bus_master cap_list
             configuration: driver=xhci_hcd latency=0
             resources: irq:30 memory:600000000-600000fff
           *-usbhost:0
                product: xHCI Host Controller
                vendor: Linux 6.6.31+rpt-rpi-v8 xhci-hcd
                physical id: 0
                bus info: usb@1
                logical name: usb1
                version: 6.06
                capabilities: usb-2.00
                configuration: driver=hub slots=1 speed=480Mbit/s
              *-usb
                   description: USB hub
                   product: USB2.0 Hub
                   vendor: VIA Labs, Inc.
                   physical id: 1
                   bus info: usb@1:1
                   version: 4.21
                   capabilities: usb-2.10
                   configuration: driver=hub maxpower=100mA slots=4 speed=480Mbit/s
                 *-usb
                      description: USB hub
                      product: USB2.0 Hub
                      vendor: Genesys Logic, Inc.
                      physical id: 3
                      bus info: usb@1:1.3
                      version: 60.70
                      capabilities: usb-2.00
                      configuration: driver=hub maxpower=100mA slots=4 speed=480Mbit/s
                    *-usb:0
                         description: Human interface device
                         product: Apple Inc. Magic Keyboard
                         vendor: Apple Inc.
                         physical id: 1
                         bus info: usb@1:1.3.1
                         logical name: input6
                         logical name: /dev/input/event5
                         logical name: input7
                         logical name: /dev/input/event6
                         logical name: input7::capslock
                         logical name: input7::compose
                         logical name: input7::kana
                         logical name: input7::numlock
                         logical name: input7::scrolllock
                         version: 8.51
                         serial: F0T014502SCJ1XLAQ
                         capabilities: usb-2.00 usb
                         configuration: driver=usbhid maxpower=500mA speed=12Mbit/s
                    *-usb:1
                         description: Keyboard
                         product: Microsoft Microsoft® 2.4GHz Transceiver v7.0 System Control
                         vendor: Microsoft
                         physical id: 2
                         bus info: usb@1:1.3.2
                         logical name: input0
                         logical name: /dev/input/event0
                         logical name: input0::capslock
                         logical name: input0::numlock
                         logical name: input0::scrolllock
                         logical name: input1
                         logical name: /dev/input/event1
                         logical name: /dev/input/mouse0
                         logical name: input2
                         logical name: /dev/input/event2
                         logical name: input3
                         logical name: /dev/input/event3
                         logical name: input5
                         logical name: /dev/input/event4
                         version: 7.43
                         capabilities: usb-2.00 usb
                         configuration: driver=usbhid maxpower=100mA speed=12Mbit/s
           *-usbhost:1
                product: xHCI Host Controller
                vendor: Linux 6.6.31+rpt-rpi-v8 xhci-hcd
                physical id: 1
                bus info: usb@2
                logical name: usb2
                version: 6.06
                capabilities: usb-3.00
                configuration: driver=hub slots=4 speed=5000Mbit/s
  *-mmc0
       description: MMC Host
       physical id: 1
       logical name: mmc0
     *-device
          description: SD Card
          product: SR64G
          vendor: SanDisk
          physical id: aaaa
          logical name: /dev/mmcblk0
          version: 8.6
          date: 06/2024
          serial: 3777364642
          size: 59GiB (63GB)
          capabilities: sd partitioned partitioned:dos
          configuration: logicalsectorsize=512 sectorsize=512 signature=15916105
        *-volume:0 UNCLAIMED
             description: Windows FAT volume
             vendor: mkfs.fat
             physical id: 1
             version: FAT32
             serial: 91fe-7499
             size: 507MiB
             capacity: 512MiB
             capabilities: primary fat initialized
             configuration: FATs=2 filesystem=fat label=bootfs
        *-volume:1
             description: EXT4 volume
             vendor: Linux
             physical id: 2
             logical name: /dev/mmcblk0p2
             logical name: /
             version: 1.0
             serial: 56f80fa2-e005-4cca-86e6-19da1069914d
             size: 58GiB
             capacity: 58GiB
             capabilities: primary journaled extended_attributes large_files dir_nlink recover extents ext4 ext2 initialized
             configuration: created=2024-07-04 01:13:20 filesystem=ext4 label=rootfs lastmountpoint=/ modified=2024-10-28 13:06:33 mount.fstype=ext4 mount.options=rw,noatime mounted=2024-07-04 01:14:07 state=mounted
  *-mmc1
       description: MMC Host
       physical id: 2
       logical name: mmc1
     *-device
          description: SDIO Device
          physical id: 1
          bus info: mmc@1:0001
          serial: 0
          capabilities: sdio
        *-interface:0
             description: Wireless interface
             product: 43430
             vendor: Broadcom
             physical id: 1
             bus info: mmc@1:0001:1
             logical name: mmc1:0001:1
             logical name: wlan0
             serial: e4:5f:01:69:9c:0b
             capabilities: ethernet physical wireless
             configuration: broadcast=yes driver=brcmfmac driverversion=7.45.234 firmware=01-996384e2 multicast=yes wireless=IEEE 802.11
        *-interface:1
             product: 43430
             vendor: Broadcom
             physical id: 2
             bus info: mmc@1:0001:2
             logical name: mmc1:0001:2
        *-bt
             description: BlueTooth interface
             product: 43430
             vendor: Broadcom
             physical id: 3
             bus info: mmc@1:0001:3
             logical name: mmc1:0001:3
             capabilities: wireless bluetooth
             configuration: wireless=BlueTooth
  *-sound:0
       description: Headphones
       physical id: 3
       logical name: card0
       logical name: /dev/snd/controlC0
       logical name: /dev/snd/pcmC0D0p
  *-sound:1
       description: vc4hdmi0
       physical id: 4
       logical name: card1
       logical name: /dev/snd/controlC1
       logical name: /dev/snd/pcmC1D0p
  *-sound:2
       description: vc4hdmi1
       physical id: 5
       logical name: card2
       logical name: /dev/snd/controlC2
       logical name: /dev/snd/pcmC2D0p
  *-graphics
       product: vc4drmfb
       physical id: 6
       logical name: /dev/fb0
       capabilities: fb
       configuration: depth=16 resolution=3840,2160
  *-input:0
       product: vc4-hdmi-1
       physical id: 7
       logical name: input10
       logical name: /dev/input/event9
       capabilities: cec
  *-input:1
       product: vc4-hdmi-1 HDMI Jack
       physical id: 8
       logical name: input11
       logical name: /dev/input/event10
  *-input:2
       product: vc4-hdmi-0
       physical id: 9
       logical name: input8
       logical name: /dev/input/event7
       capabilities: cec
  *-input:3
       product: vc4-hdmi-0 HDMI Jack
       physical id: a
       logical name: input9
       logical name: /dev/input/event8
  *-network
       description: Ethernet interface
       physical id: b
       logical name: eth0
       serial: e4:5f:01:69:9c:09
       size: 1Gbit/s
       capacity: 1Gbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=bcmgenet driverversion=6.6.31+rpt-rpi-v8 duplex=full ip=10.0.0.122 link=yes multicast=yes port=twisted pair speed=1Gbit/s
cubesat@raspberrypi:~ $ 


====END ENVIRONMENT====

====BUILD====


cubesat@raspberrypi:~/cariboulite $ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   driver/smi_stream_dev.c
	modified:   software/libcariboulite/src/soapy_api/Cariboulite.cpp
	modified:   software/libcariboulite/src/soapy_api/CaribouliteSession.cpp
	modified:   software/libcariboulite/src/soapy_api/CaribouliteStream.hpp

no changes added to commit (use "git add" and/or "git commit -a")
cubesat@raspberrypi:~/cariboulite $ git diff
diff --git a/driver/smi_stream_dev.c b/driver/smi_stream_dev.c
index e0d6618..c7f3fba 100644
--- a/driver/smi_stream_dev.c
+++ b/driver/smi_stream_dev.c
@@ -1050,7 +1050,7 @@ static int smi_stream_dev_probe(struct platform_device *pdev)
     }
 
     // Create sysfs entries with "smi-stream-dev"
-    smi_stream_class = class_create(THIS_MODULE, DEVICE_NAME);
+    smi_stream_class = class_create(DEVICE_NAME);
     ptr_err = smi_stream_class;
     if (IS_ERR(ptr_err))
     {
diff --git a/software/libcariboulite/src/soapy_api/Cariboulite.cpp b/software/libcariboulite/src/soapy_api/Cariboulite.cpp
index bee19e0..be0e4b0 100644
--- a/software/libcariboulite/src/soapy_api/Cariboulite.cpp
+++ b/software/libcariboulite/src/soapy_api/Cariboulite.cpp
@@ -246,7 +246,7 @@ void Cariboulite::setSampleRate( const int direction, const size_t channel, cons
     if (std::fabs(rate - (666000.0)) < 1)
     {
         fs = cariboulite_radio_rx_sample_rate_666khz;
-        SoapySDR::logf(SOAPY_SDR_WARNING, "setSampleRate: using rounded rate 666000 is deprecated; use 2e6/3 or 666666.7.");
+        SoapySDR_logf(SOAPY_SDR_WARNING, "setSampleRate: using rounded rate 666000 is deprecated; use 2e6/3 or 666666.7.");
     }
     if (std::fabs(rate - (2000000.0/3)) < 1) fs = cariboulite_radio_rx_sample_rate_666khz;
     if (std::fabs(rate - (800000.0)) < 1) fs = cariboulite_radio_rx_sample_rate_800khz;
@@ -254,7 +254,7 @@ void Cariboulite::setSampleRate( const int direction, const size_t channel, cons
     if (std::fabs(rate - (1333000.0)) < 1) fs = cariboulite_radio_rx_sample_rate_1333khz;
     {
         fs = cariboulite_radio_rx_sample_rate_1333khz;
-        SoapySDR::logf(SOAPY_SDR_WARNING, "setSampleRate: using rounded rate 1333000 is deprecated; use 4e6/3 or 1333333.3.");
+        SoapySDR_logf(SOAPY_SDR_WARNING, "setSampleRate: using rounded rate 1333000 is deprecated; use 4e6/3 or 1333333.3.");
     }
     if (std::fabs(rate - (4000000.0/3)) < 1) fs = cariboulite_radio_rx_sample_rate_1333khz;
     if (std::fabs(rate - (2000000.0)) < 1) fs = cariboulite_radio_rx_sample_rate_2000khz;
diff --git a/software/libcariboulite/src/soapy_api/CaribouliteSession.cpp b/software/libcariboulite/src/soapy_api/CaribouliteSession.cpp
index 545bdb0..8d1f828 100644
--- a/software/libcariboulite/src/soapy_api/CaribouliteSession.cpp
+++ b/software/libcariboulite/src/soapy_api/CaribouliteSession.cpp
@@ -49,7 +49,7 @@ SoapyCaribouliteSession::SoapyCaribouliteSession(void)
         int ret = cariboulite_init_driver(&sys, NULL);
         if (ret != 0)
         {
-            SoapySDR::logf(SOAPY_SDR_ERROR, "cariboulite_init_driver() failed");
+            SoapySDR_logf(SOAPY_SDR_ERROR, "cariboulite_init_driver() failed");
         }
 
         // setup the signal handler
diff --git a/software/libcariboulite/src/soapy_api/CaribouliteStream.hpp b/software/libcariboulite/src/soapy_api/CaribouliteStream.hpp
index 42abe51..d61ec88 100644
--- a/software/libcariboulite/src/soapy_api/CaribouliteStream.hpp
+++ b/software/libcariboulite/src/soapy_api/CaribouliteStream.hpp
@@ -103,7 +103,7 @@ public:
        cariboulite_channel_dir_en getInnerStreamType(void);
     void setInnerStreamType(cariboulite_channel_dir_en dir);
        void setDigitalFilter(DigitalFilterType type);
-       DigitalFilterType getDigitalFilter() const { return filterType };
+       DigitalFilterType getDigitalFilter() const { return filterType; }
        int setFormat(const std::string &fmt);
        inline int readerThreadRunning() {return reader_thread_running;}
     void activateStream(int active) {stream_active = active;}
cubesat@raspberrypi:~/cariboulite $ 

====DRIVER BUILD SNIPPET FROM ./install.sh====

3. SMI kernel module & udev...
   Detected memory 3598 MB...
   Installing with Fifo size multiplier of 6xMTU...
CaribouLite Device Driver Install / Uninstall
=============================================

Installation started...

[  1  ] Updating kernel headers and needed software
Hit:1 http://deb.debian.org/debian bookworm InRelease
Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease
Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
Get:4 http://archive.raspberrypi.com/debian bookworm InRelease [39.0 kB]
Get:5 http://archive.raspberrypi.com/debian bookworm/main arm64 Packages [501 kB]
Get:6 http://archive.raspberrypi.com/debian bookworm/main armhf Packages [531 kB]
Fetched 1,072 kB in 2s (548 kB/s) 
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
raspberrypi-kernel-headers is already the newest version (1:1.20230405-1).
module-assistant is already the newest version (0.11.11).
pkg-config is already the newest version (1.8.1-1).
libncurses5-dev is already the newest version (6.4-4).
cmake is already the newest version (3.25.1-1).
git is already the newest version (1:2.39.5-0+deb12u1).
0 upgraded, 0 newly installed, 0 to remove and 53 not upgraded.
[  2  ] Compiling module
Subdirectory 'build' does not exist. Creating it...
-- The C compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Kernel release: 6.6.31+rpt-rpi-v8
-- Kernel headers: /usr/src/linux-headers-6.6.31+rpt-rpi-v8
-- Configuring done
-- Generating done
-- Build files have been written to: /home/cubesat/cariboulite/driver/build
compiling module smi_stream_dev.ko...
/home/cubesat/cariboulite/driver/build/smi_stream_dev.c:643:13: warning: ‘stream_smi_write_dma_callback’ defined but not used [-Wunused-function]
  643 | static void stream_smi_write_dma_callback(void *param)
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Built target smi_stream_dev
The code filename is path: '../software/libcariboulite/src/caribou_smi/kernel', name: 'smi_stream_dev_gen', ext: 'h'
[  3  ] Installing into '/lib/modules/6.6.31+rpt-rpi-2712/kernel/drivers/char/broadcom
/lib/modules/6.6.31+rpt-rpi-v8/kernel/drivers/char/broadcom'

[  4  ] Updating 'depmod'

[  5  ] Blacklisting original bcm2835_smi_dev module

[  6  ] Adding systemd configuration

[  7  ] Adding modprobe configuration 6, 2, 3

[  8  ] Adding UDEV rules
CaribouLite UDEV Rules (un)installation
=======================================

Installing UDEV rules...
Installation finished
Installation completed.

====END DRIVER BUILD SNIPPET FROM ./install.sh====
====END BUILD====

====TESTING====


cubesat@raspberrypi:~ $ SoapySDRUtil --probe
######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

Probe device 
[INFO] SoapyCaribouliteSession, sessionCount: 0
10-28 13:27:03.381  1059  1059 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:260 Sending bitstream of size 32220
10-28 13:27:04.904  1059  1059 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:292 FPGA programming - Success!

Printing 'findCariboulite' Request:
[INFO] Initializing DeviceID: 0, Label: CaribouLite S1G[5310d508], ChannelType: S1G
[INFO] Creating SampleQueue MTU: 131072 I/Q samples (524288 bytes)

----------------------------------------------------
-- Device identification
----------------------------------------------------
  driver=Cariboulite
  hardware=Cariboulite Rev2.8
  device_id=0
  fpga_revision=1
  hardware_revision=0x0001
  product_name=CaribouLite RPI Hat
  serial_number=696806020
  vendor_name=CaribouLabs LTD

----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
  Channels: 1 Rx, 1 Tx
  Timestamps: NO

----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
  Full-duplex: NO
  Supports AGC: YES
  Stream formats: CS16, CS8, CF32, CF64
  Native format: CS16 [full-scale=4095]
  Antennas: TX/RX Sub1GHz
  Full gain range: [0, 69] dB
    Modem AGC gain range: [0, 69] dB
  Full freq range: [389.5, 510], [779, 1020] MHz
    RF freq range: [389.5, 510], [779, 1020] MHz
  Sample rates: 4, 2, 1.33333, 1, 0.8, 0.666667, 0.5, 0.4 MSps
  Filter bandwidths: 0.02, 0.05, 0.1, 0.16, 0.2, 0.8, 1, 1.25, 1.6, 2 MHz
  Sensors: RSSI, ENERGY, PLL_LOCK_MODEM
     * RSSI (RX RSSI):[-127, 4] 0.000000
        Modem level RSSI measurment
     * ENERGY (RX ENERGY):[-127, 4] 0.000000
        Modem level ENERGY (EDC) measurment
     * PLL_LOCK_MODEM (PLL Lock Modem): 1.000000
        Modem PLL locking indication

----------------------------------------------------
-- TX Channel 0
----------------------------------------------------
  Full-duplex: NO
  Supports AGC: NO
  Stream formats: CS16, CS8, CF32, CF64
  Native format: CS16 [full-scale=4095]
  Antennas: TX/RX Sub1GHz
  Full gain range: [0, 31] dB
    Modem PA gain range: [0, 31] dB
  Full freq range: [389.5, 510], [779, 1020] MHz
    RF freq range: [389.5, 510], [779, 1020] MHz
  Sample rates: 4, 2, 1.33333, 1, 0.8, 0.666667, 0.5, 0.4 MSps
  Filter bandwidths: 0.08, 0.1, 0.125, 0.16, 0.2, 0.4, 0.5, 0.625, 0.8, 1 MHz
  Sensors: PLL_LOCK_MODEM
     * PLL_LOCK_MODEM (PLL Lock Modem): 1.000000
        Modem PLL locking indication


cubesat@raspberrypi:~ $ 
cubesat@raspberrypi:~/cariboulite/build $ ./cariboulite_test_app 
10-28 13:28:02.979  1072  1072 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:581 driver initializing
10-28 13:28:02.979  1072  1072 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:591 Initializing signals
10-28 13:28:02.979  1072  1072 D CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:731 setting up signal handler
10-28 13:28:02.980  1072  1072 D CARIBOULITE Setup cariboulite_setup_io@cariboulite_setup.c:206 Setting up board I/Os
10-28 13:28:02.980  1072  1072 D IO_UTILS_Main io_utils_setup@io_utils.c:25 initializing rpi
10-28 13:28:02.980  1072  1072 D IO_UTILS_SPI io_utils_spi_init@io_utils_spi.c:323 configuring gpio setups
10-28 13:28:02.980  1072  1072 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:623 Initializing FPGA
10-28 13:28:02.980  1072  1072 D FPGA caribou_fpga_init@caribou_fpga.c:119 configuring reset and irq pins
10-28 13:28:02.981  1072  1072 D FPGA caribou_fpga_init@caribou_fpga.c:127 Initializing io_utils_spi
10-28 13:28:02.983  1072  1072 D CARIBOU_PROG caribou_prog_init@caribou_prog.c:84 FPGA is already configured and running
10-28 13:28:02.983  1072  1072 D CARIBOU_PROG caribou_prog_init@caribou_prog.c:87 device init completed
10-28 13:28:02.983  1072  1072 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:631 Programming FPGA
10-28 13:28:02.983  1072  1072 I FPGA caribou_fpga_program_to_fpga@caribou_fpga.c:210 FPGA already operational - not programming (use 'force_prog=true' to force update)
10-28 13:28:02.983  1072  1072 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:648 FPGA Digital Values: led0: 0, led1: 0, btn: 1, CFG[0..3]: [1,1,1,1]
10-28 13:28:02.984  1072  1072 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:659 Detected Board Information:
10-28 13:28:02.984  1072  1072 D HAT [email protected]:705 # Board Info - Category name: hat
10-28 13:28:02.984  1072  1072 D HAT [email protected]:706 # Board Info - Product name: CaribouLite RPI Hat
10-28 13:28:02.984  1072  1072 D HAT [email protected]:707 # Board Info - Product ID: 0x0001, Numeric: 1
10-28 13:28:02.984  1072  1072 D HAT [email protected]:708 # Board Info - Product Version: 0x0001, Numeric: 1
10-28 13:28:02.984  1072  1072 D HAT [email protected]:709 # Board Info - Product UUID: f0f78f2a-59d2-4489-80ad-85a6161db73a, Numeric serial: 0x29886A84
10-28 13:28:02.984  1072  1072 D HAT [email protected]:710 # Board Info - Vendor: CaribouLabs LTD
10-28 13:28:02.984  1072  1072 D CARIBOULITE Setup cariboulite_print_board_info@cariboulite_setup.c:797 # Board Info - Product Type: CaribouLite FULL
10-28 13:28:02.984  1072  1072 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:280 initializing submodules
10-28 13:28:02.984  1072  1072 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:284 INIT FPGA SMI communication
10-28 13:28:02.984  1072  1072 D CARIBOU_SMI caribou_smi_init@caribou_smi.c:521 initializing caribou_smi
10-28 13:28:02.985  1072  1072 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:294 INIT MODEM - AT86RF215
10-28 13:28:02.985  1072  1072 D AT86RF215_Main [email protected]:174 configuring reset and irq pins
10-28 13:28:02.986  1072  1072 D AT86RF215_Main [email protected]:182 Adding chip definition to io_utils_spi
10-28 13:28:02.986  1072  1072 D AT86RF215_Main [email protected]:211 Modem identity: Version: 03, Product: 35
10-28 13:28:02.986  1072  1072 D AT86RF215_Main [email protected]:129 Calibration of modem channel 0...
10-28 13:28:03.053  1072  1072 D AT86RF215_Main [email protected]:145 Calibration Results of the modem: I=33, Q=35
10-28 13:28:03.053  1072  1072 D AT86RF215_Main [email protected]:129 Calibration of modem channel 1...
10-28 13:28:03.120  1072  1072 D AT86RF215_Main [email protected]:145 Calibration Results of the modem: I=35, Q=35
10-28 13:28:03.120  1072  1072 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:304 Configuring modem initial state
10-28 13:28:03.120  1072  1072 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:347 This board is a Full version CaribouLite - setting ext_ref: modem, 32MHz
10-28 13:28:03.120  1072  1072 D CARIBOULITE Radio cariboulite_radio_ext_ref@cariboulite_radio.c:82 Setting ext_ref = 32MHz
10-28 13:28:03.120  1072  1072 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:373 INIT MIXER - RFFC5072
10-28 13:28:03.120  1072  1072 D RFFC5072 [email protected]:115 Initializing RFFC507x driver
10-28 13:28:03.120  1072  1072 D RFFC5072 [email protected]:119 Setting up device GPIOs
10-28 13:28:03.151  1072  1072 D RFFC5072 [email protected]:132 Received spi handle 3
10-28 13:28:03.175  1072  1072 D RFFC5072 [email protected]:417 RFFC507X DEVID: 0x8A01 ID: 0x1140, Rev: 1 (RFFC507x)
10-28 13:28:03.181  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 1
10-28 13:28:03.181  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:03.181  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:773 Setup Modem state to 3 (tx prep)
10-28 13:28:03.182  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1095 Setup Modem state tx_prep
10-28 13:28:03.182  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:775 Setup Modem state to 5 (rx)
10-28 13:28:03.185  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-28 13:28:03.185  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:03.185  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 1
10-28 13:28:03.185  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:03.185  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:773 Setup Modem state to 3 (tx prep)
10-28 13:28:03.186  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1095 Setup Modem state tx_prep
10-28 13:28:03.187  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:775 Setup Modem state to 5 (rx)
10-28 13:28:03.189  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-28 13:28:03.189  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:03.189  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-28 13:28:03.189  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:03.189  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-28 13:28:03.189  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:03.190  1072  1072 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:409 Cariboulite submodules successfully initialized
10-28 13:28:03.190  1072  1072 D CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:480 Testing modem communication and versions
10-28 13:28:03.190  1072  1072 D AT86RF215_Main [email protected]:290 MODEM Version: AT86RF215IQ (without basebands), version: 03
10-28 13:28:03.190  1072  1072 D CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:495 Testing mixer communication and versions
10-28 13:28:03.192  1072  1072 D CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:509 Self-test process finished successfully!
10-28 13:28:03.192  1072  1072 D CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:731 setting up signal handler

	   ____           _ _                 _     _ _         
	  / ___|__ _ _ __(_) |__   ___  _   _| |   (_) |_ ___   
	 | |   / _` | '__| | '_ \ / _ \| | | | |   | | __/ _ \  
	 | |__| (_| | |  | | |_) | (_) | |_| | |___| | ||  __/  
	  \____\__,_|_|  |_|_.__/ \___/ \__,_|_____|_|\__\___|  


 Select a function:
 [0]  Hard reset FPGA
 [1]  Soft reset FPGA
 [2]  Print board info and versions
 [3]  Program FPGA
 [4]  Perform a Self-Test
 [5]  FPGA Digital I/O
 [6]  FPGA RFFE control
 [7]  FPGA SMI fifo status
 [8]  Modem transmit CW signal
 [9]  Modem receive I/Q stream
 [10]  Synthesizer 85-4200 MHz
 [99]  Quit
    Choice:   9

=====================================
10-28 13:28:06.266  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
Entering sampling thread
10-28 13:28:06.266  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_frequency@cariboulite_radio.c:1048 Frequency setting CH: 0, Wanted: 900000000.00 Hz, Set: 0.00 Hz (MOD: 899999872.00, MIX: 0.00)
10-28 13:28:06.266  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-28 13:28:06.266  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:06.266  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:06.266  1072  1072 D CARIBOULITE Radio cariboulite_radio_ext_ref@cariboulite_radio.c:87 Setting ext_ref = OFF
10-28 13:28:06.266  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:773 Setup Modem state to 3 (tx prep)
10-28 13:28:06.268  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_frequency@cariboulite_radio.c:1048 Frequency setting CH: 1, Wanted: 2400000000.00 Hz, Set: 2399999744.00 Hz (MOD: 2399999744.00, MIX: 0.00)
10-28 13:28:06.268  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-28 13:28:06.268  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:06.268  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-28 13:28:06.268  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:06.269  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-28 13:28:06.269  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
	Parameters:
	[1] Ch1 (899.99987 MHz) RX Not Active
	[2] Ch2 (2399.99974 MHz) RX Not Active
	[3] Push Debug Not Active
	[4] Pull Debug Not Active
	[5] LFSR Debug Not Active
	[99] Return to main menu
	Choice: 1
10-28 13:28:09.666  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 1
10-28 13:28:09.666  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:09.666  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:773 Setup Modem state to 3 (tx prep)
10-28 13:28:09.668  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1095 Setup Modem state tx_prep
10-28 13:28:09.668  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:775 Setup Modem state to 5 (rx)
	Parameters:
	[1] Ch1 (899.99987 MHz) RX Active
	[2] Ch2 (2399.99974 MHz) RX Not Active
	[3] Push Debug Not Active
	[4] Pull Debug Not Active
	[5] LFSR Debug Not Active
	[99] Return to main menu
	Choice: C0 08 C0 16 C0 00 C0 00  C0 00 C0 00 C0 00 C0 00  |  ................ 
10-28 13:28:09.680  1072  1073 E CARIBOULITE Radio cariboulite_radio_read_samples@cariboulite_radio.c:1276 SMI data synchronization failed
FF DE FE EC FF EC FF CE  FF C2 FF 14 C0 D8 FE FE  |  ................ 
10-28 13:28:10.686  1072  1073 E CARIBOULITE Radio cariboulite_radio_read_samples@cariboulite_radio.c:1276 SMI data synchronization failed
^CCaribouLite: Signal [2] received from pid=[0]
Signal [2] caught, with the following information: 
   signal errno = 0
   signal process pid = 0
   signal process uid = 0
   signal status = 0
   signal errno / signal raised by kernel
SIGINT: interruption
10-28 13:28:10.694  1072  1072 D CARIBOULITE Setup cariboulite_release_driver@cariboulite_setup.c:743 driver being released
10-28 13:28:10.694  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-28 13:28:10.694  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:10.694  1072  1072 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-28 13:28:10.694  1072  1072 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:10.694  1072  1072 D CARIBOULITE Setup cariboulite_release_submodules@cariboulite_setup.c:437 CLOSE SMI
CaribouLite: Signal [11] received from pid=[-1138031988]
Signal [11] caught, with the following information: 
   signal errno = 0
   signal process pid = -1138031988
   signal process uid = 127
   signal status = 0
   signal errno / SIGSEGV / the process access invalid region of memory
SIGSEGV: memory access violation
10-28 13:28:10.694  1072  1073 D CARIBOULITE Setup cariboulite_release_driver@cariboulite_setup.c:743 driver being released
10-28 13:28:10.694  1072  1073 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 0, dir = RX, activate = 0
10-28 13:28:10.694  1072  1073 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:10.694  1072  1073 E CARIBOU_SMI caribou_smi_set_driver_streaming_state@caribou_smi.c:35 failed setting smi stream state (0)
10-28 13:28:10.694  1072  1073 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:1075 Activating channel 1, dir = RX, activate = 0
10-28 13:28:10.694  1072  1073 D CARIBOULITE Radio cariboulite_radio_set_modem_state@cariboulite_radio.c:772 Setup Modem state to 2 (trx off)
10-28 13:28:10.694  1072  1073 E CARIBOU_SMI caribou_smi_set_driver_streaming_state@caribou_smi.c:35 failed setting smi stream state (0)
10-28 13:28:10.694  1072  1073 D CARIBOULITE Setup cariboulite_release_submodules@cariboulite_setup.c:437 CLOSE SMI
Segmentation fault
cubesat@raspberrypi:~/cariboulite/build $ 

====END TESTING====
====END BOOKWORM====

@sethmnone
Copy link

We're you able to install SDR++ or any of its dependencies on the zero?

I ran into multiple dependency issues and could never get SoapySDR and SDR++ to play nicely.

@ngrabbs
Copy link
Author

ngrabbs commented Oct 28, 2024

We're you able to install SDR++ or any of its dependencies on the zero?

I ran into multiple dependency issues and could never get SoapySDR and SDR++ to play nicely.

I haven't tried to install SDR++ on the zero. In my case im looking to transmit from the zero via gnu radio python scripts and receive on a pi4. (my gnu radio build from source has been compiling for almost 24 hours on the pi zero lol)

@sethmnone
Copy link

We're you able to install SDR++ or any of its dependencies on the zero?

I ran into multiple dependency issues and could never get SoapySDR and SDR++ to play nicely.

I haven't tried to install SDR++ on the zero. In my case im looking to transmit from the zero via gnu radio python scripts and receive on a pi4. (my gnu radio build from source has been compiling for almost 24 hours on the pi zero lol)

Gotcha, Good luck! 🫡

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants