cariboulabs / cariboulite

CaribouLite turns any 40-pin Raspberry-Pi into a Tx/Rx 6GHz SDR
1.06k stars 97 forks source link

Persistent Issues #118

Open a-oxide opened 1 year ago

a-oxide commented 1 year ago

I have been trying to use the Cariboulite on a RPi4B running DragonOS Pi64. Using the newly updated main branch, I run into a consistent issue in which the Caribou is detected by both Soapy and various SDR software (GQRX, SDRPP, etc), but is unable to receive any data. When looking at the logs for SDRPP, it notes that the Caribou is timing out. I checked and saw that I had Soapy server running at the same time. I disables soapy server and attempted again. No change. I then tried to run the test program included in the cariboulite repo. It displays a new error, very similar to #66

Further research shows that #66 was likely due to a kernel version mismatch. Since DragonOS Pi64 includes precompiled headers, I check that they are the correct version with "uname -r". The thread concludes by saying that the @konimaru fork should work properly.

Using the konimaru fork still revealed the same issue.

konimaru commented 1 year ago

How do I get this DragonOS, is that available from the RPi Imager?

a-oxide commented 1 year ago

It is an unofficial RPI image. You can find it on sourceforge I believe

On Wed, May 10, 2023 at 11:42 AM Marko Lukat @.***> wrote:

How do I get this DragonOS, is that available from the RPi Imager?

— Reply to this email directly, view it on GitHub https://github.com/cariboulabs/cariboulite/issues/118#issuecomment-1542645921, or unsubscribe https://github.com/notifications/unsubscribe-auth/APVTMQGESJC2CQNVYGJNFITXFPOS3ANCNFSM6AAAAAAX5C2VPY . You are receiving this because you authored the thread.Message ID: @.***>

alphafox02 commented 1 year ago

How do I get this DragonOS, is that available from the RPi Imager?

You can get it here.

https://sourceforge.net/projects/dragonos-pi64/

I put it together in my spare time. I also have a CaribouLite and been meaning to preinstall everything. It’s based on Ubuntu 22.04 aarch64 so a little different then pi os. Someone put a ticket together on here explaining the steps required to install your fork to it, probably safe to use main now too. I just note that I comment out or remove the kernel headers from the install script.

As far as using it direct with any application, I’ll have to check again but I know it’s important to set the bandwidth option in sdrpp because what it’s defaulted too will cause it to not work.

alphafox02 commented 1 year ago

If you’re running the install script as is there’s likely a chance it’s installing the raspi kernel or headers. Remove this from line 23 of the install.sh file before running it just to be safe raspberrypi-kernel-headers

Besides that this guide details the rest https://github.com/cariboulabs/cariboulite/issues/94

But note he’s using two different systems. The pi running sdrpp server with the CaribouLite and then a laptop connecting to the server with sdrpp. I really need to give this a go again because my memory is failing me. I can’t remember if I had everything running on the Pi and able to use sdrpp directly. I think so once I changed the bandwidth setting.

konimaru commented 1 year ago

Got it running and had my first test today, timeout as reported but I have a hunch what's wrong. Reporting back.

konimaru commented 1 year ago

Hmm, for reasons currently unknown the /dev/smi entry isn't created when smi_stream_dev is loaded. The support module makes it into memory

ubuntu@ubuntu:~$ lsmod | grep smi
smi_stream_dev         24576  0
bcm2835_smi            24576  1 smi_stream_dev

but not having the device entry blocks subsequent initialization. IIRC this [entry creation] happens automatically under Raspberry Pi OS Lite & Co even without udev rules file.

Screenshot_2023-05-17_21-42-02

alphafox02 commented 1 year ago

Strange, I wonder what I’ve done different. I think I used your fork and script and not the main though just yesterday. I’ll go check. I’m still in a position where I have to run sudo SoapySDRServer on the Pi and then access it elsewhere. I’ll go check again and report back. I’ll also reflash and do it all over.

alphafox02 commented 1 year ago

Did you manually go edit the /boot/firmware/config.txt? Not sure if that has anything to do with it.

alphafox02 commented 1 year ago

I'm using your fork actually

ubuntu@ubuntu:~/projects/cariboulite$ cat .git/config 
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://github.com/konimaru/cariboulite.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
        remote = origin
        merge = refs/heads/main
[submodule "software/libcariboulite/src/iir"]
        active = true
        url = https://github.com/berndporr/iir1

And this is what lsmod shows on my end

ubuntu@ubuntu:~/projects/cariboulite$ lsmod | grep smi
bcm2835_smi_dev        24576  0
bcm2835_smi            24576  1 bcm2835_smi_dev
ubuntu@ubuntu:~/projects/cariboulite$ 

And when running SoapySDRUtil, ignore the SDRPlay error. That'll happen unless you install the sdrplay api in /usr/src.

ubuntu@ubuntu:~/projects/cariboulite$ sudo SoapySDRUtil --find
[sudo] password for ubuntu: 
######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

[INFO] SoapyCaribouliteSession, sessionCount: 0
05-17 19:53:20.065 15829 15829 I CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:560 driver initializing
05-17 19:53:20.065 15829 15829 I CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:569 Initializing signals                  
05-17 19:53:20.065 15829 15829 I CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:687 setting up signal handler            
05-17 19:53:20.065 15829 15829 I CARIBOULITE Setup cariboulite_setup_io@cariboulite_setup.c:202 Setting up board I/Os                            
05-17 19:53:20.065 15829 15829 I IO_UTILS_Main io_utils_setup@io_utils.c:26 initializing pigpio                                                  
05-17 19:53:20.155 15829 15829 I IO_UTILS_Main io_utils_setup@io_utils.c:39 pigpio version 79                                                    
05-17 19:53:20.155 15829 15829 I IO_UTILS_SPI io_utils_spi_init@io_utils_spi.c:321 configuring gpio setups                                       
05-17 19:53:20.155 15829 15829 D CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:583 Initializing FPGA                     
05-17 19:53:20.156 15829 15829 I FPGA caribou_fpga_init@caribou_fpga.c:116 configuring reset and irq pins                                        
05-17 19:53:20.156 15829 15829 I FPGA caribou_fpga_init@caribou_fpga.c:124 Initializing io_utils_spi                                             
05-17 19:53:20.156 15829 15829 I CARIBOU_PROG caribou_prog_init@caribou_prog.c:87 device init completed                                          
05-17 19:53:20.156 15829 15829 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                                                                                                                     
05-17 19:53:20.156 15829 15829 I CARIBOU_PROG caribou_prog_configure_prepare@caribou_prog.c:148 RESET low, Waiting for CDONE low                 
05-17 19:53:20.157 15829 15829 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:259 Sending bitstream of size 32220              
05-17 19:53:21.501 15829 15829 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:281 bitstream sent 32220 bytes                   
05-17 19:53:21.501 15829 15829 I CARIBOU_PROG caribou_prog_configure_finish@caribou_prog.c:192 sending dummy clocks, waiting for CDONE to rise (or fail)                                                                                                                                          
05-17 19:53:21.501 15829 15829 I CARIBOU_PROG caribou_prog_configure_finish@caribou_prog.c:203 0 dummy clocks sent                               
05-17 19:53:21.501 15829 15829 I CARIBOU_PROG caribou_prog_configure_from_buffer@caribou_prog.c:291 FPGA programming - Success!                  

FPGA Versions:                                                                                                                                   
        System Version: 01                                                                                                                       
        Manu. ID: 01                                                                                                                             
        Sys. Ctrl Version: 01                                                                                                                    
        IO Ctrl Version: 01                                                                                                                      
        SMI Ctrl Version: 01                                                                                                                     
05-17 19:53:21.601 15829 15829 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]                                                                                                                    
05-17 19:53:21.602 15829 15829 I CARIBOULITE Setup cariboulite_init_driver_minimal@cariboulite_setup.c:622 Detecting Board Information           
05-17 19:53:21.602 15829 15829 I HAT hat_print_board_info@hat.c:703 # Board Info - Category name: hat                                            
05-17 19:53:21.602 15829 15829 I HAT hat_print_board_info@hat.c:704 # Board Info - Product name: CaribouLite RPI Hat                             
05-17 19:53:21.602 15829 15829 I HAT hat_print_board_info@hat.c:705 # Board Info - Product ID: 0x0001, Numeric: 1                                
05-17 19:53:21.602 15829 15829 I HAT hat_print_board_info@hat.c:706 # Board Info - Product Version: 0x0001, Numeric: 1                           
05-17 19:53:21.602 15829 15829 I HAT hat_print_board_info@hat.c:707 # Board Info - Product UUID: c522fca7-00fb-4669-a0c5-f56a417af315, Numeric serial: 0x651C08A1                                                                                                                                 
05-17 19:53:21.602 15829 15829 I HAT hat_print_board_info@hat.c:708 # Board Info - Vendor: CaribouLabs LTD                                       
05-17 19:53:21.602 15829 15829 I CARIBOULITE Setup cariboulite_print_board_info@cariboulite_setup.c:753 # Board Info - Product Type: CaribouLite FULL                                                                                                                                             
05-17 19:53:21.602 15829 15829 I CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:272 initializing submodules                   
05-17 19:53:21.602 15829 15829 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:276 INIT FPGA SMI communication               
05-17 19:53:21.602 15829 15829 I CARIBOU_SMI caribou_smi_init@caribou_smi.c:447 initializing caribou_smi                                         
05-17 19:53:21.633 15829 15829 D CARIBOU_SMI_MODULES caribou_smi_check_modules@caribou_smi_modules.c:111 Loading smi-stream module               
SMI SETTINGS:                                                                                                                                    
    width: 0                                                                                                                                     
    pack: Y                                                                                                                                      
    read setup: 0, strobe: 2, hold: 0, pace: 0                                                                                                   
    write setup: 1, strobe: 4, hold: 1, pace: 0                                                                                                  
    dma enable: Y, passthru enable: Y                                                                                                            
    dma threshold read: 1, write: 63                                                                                                             
    dma panic threshold read: 32, write: 32                                                                                                      
05-17 19:53:21.645 15829 15829 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:286 INIT MODEM - AT86RF215                    
05-17 19:53:21.645 15829 15829 I AT86RF215_Main at86rf215_init@at86rf215.c:160 configuring reset and irq pins                                    
05-17 19:53:21.645 15829 15829 I AT86RF215_Main at86rf215_init@at86rf215.c:168 Adding chip definition to io_utils_spi                            
05-17 19:53:21.645 15829 15829 I AT86RF215_Main at86rf215_init@at86rf215.c:197 Modem identity: Version: 03, Product: 35                          
05-17 19:53:21.657 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=35, Q=21                      
05-17 19:53:21.668 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=35, Q=21                      
05-17 19:53:21.680 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=35, Q=21                      
05-17 19:53:21.691 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=35, Q=21                      
05-17 19:53:21.702 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=35, Q=21                      
05-17 19:53:21.713 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=35, Q=21                      
05-17 19:53:21.724 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=35, Q=23                      
05-17 19:53:21.724 15829 15829 I AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:143 Calibration Results of the modem: I=35, Q=21          
05-17 19:53:21.736 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=45, Q=43                      
05-17 19:53:21.747 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=45, Q=43                      
05-17 19:53:21.758 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=45, Q=43                      
05-17 19:53:21.769 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=45, Q=43                      
05-17 19:53:21.780 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=45, Q=43                      
05-17 19:53:21.792 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=45, Q=43                      
05-17 19:53:21.803 15829 15829 D AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:137 Calibration of modem: I=45, Q=43                      
05-17 19:53:21.803 15829 15829 I AT86RF215_Main at86rf215_calibrate_device@at86rf215.c:143 Calibration Results of the modem: I=45, Q=43          
05-17 19:53:21.803 15829 15829 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:296 Configuring modem initial state           
05-17 19:53:21.803 15829 15829 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:339 This board is a Full version CaribouLite - setting ext_ref: modem, 32MHz                                                                                                                   
05-17 19:53:21.803 15829 15829 D CARIBOULITE Radio cariboulite_radio_ext_ref@cariboulite_radio.c:82 Setting ext_ref = 32MHz                      
05-17 19:53:21.803 15829 15829 D CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:365 INIT MIXER - RFFC5072                     
05-17 19:53:21.803 15829 15829 I RFFC5072 rffc507x_init@rffc507x.c:115 Initializing RFFC507x driver                                              
05-17 19:53:21.803 15829 15829 I RFFC5072 rffc507x_init@rffc507x.c:119 Setting up device GPIOs                                                   
05-17 19:53:21.803 15829 15830 D AT86RF215_Events at86rf215_radio_event_handler@at86rf215_events.c:61 INT @ RADIO09: Transceiver ready           
05-17 19:53:21.803 15829 15830 D AT86RF215_Events at86rf215_radio_event_handler@at86rf215_events.c:61 INT @ RADIO24: Transceiver ready           
05-17 19:53:21.833 15829 15829 I RFFC5072 rffc507x_init@rffc507x.c:132 Received spi handle 3                                                     
05-17 19:53:21.834 15829 15829 I RFFC5072 rffc507x_print_dev_id@rffc507x.c:413 RFFC507X DEVID: 0x8A01 ID: 0x1140, Rev: 1 (RFFC507x)              
    native kernel chunk size: 524288 bytes  IO_UTILS_SPI Setup:                                                                                  
    MISO Pin: 19                                                                                                                                 
    MOSI Pin: 20                                                                                                                                 
    SCK Pin: 21                                                                                                                                  
    Number of chips: 4                                                                                                                           
      CHIP handle: #0                                                                                                                            
        CS Pin: 18                                                                                                                               
        CLK Speed: 0                                                                                                                             
        SPI Mode: 0                                                                                                                              
        MISO / MOSI swap: 0                                                                                                                      
        Chip type: fpga communication icd (0)                                                                                                    
        Hard spi handle: 0                                                                                                                       
            Hard spi id: 1                                                                                                                       
            Hard spi channel: 0                                                                                                                  
      CHIP handle: #1                                                                                                                            
        CS Pin: 18                                                                                                                               
        CLK Speed: 0                                                                                                                             
        SPI Mode: 0                                                                                                                              
        MISO / MOSI swap: 0                                                                                                                      
        Chip type: lattice ice40 programmer (3)                                                                                                  
        Hard spi handle: -1                                                                                                                      
      CHIP handle: #2                                                                                                                            
        CS Pin: 17                                                                                                                               
        CLK Speed: 0                                                                                                                             
        SPI Mode: 0                                                                                                                              
        MISO / MOSI swap: 0                                                                                                                      
        Chip type: modem - at86rf215 (2)                                                                                                         
        Hard spi handle: 1                                                                                                                       
            Hard spi id: 1                                                                                                                       
            Hard spi channel: 1                                                                                                                  
      CHIP handle: #3                                                                                                                            
        CS Pin: 16                                                                                                                               
        CLK Speed: 0                                                                                                                             
        SPI Mode: 0                                                                                                                              
        MISO / MOSI swap: 0                                                                                                                      
        Chip type: mixer - rffc507x / rffc207x (1)                                                                                               
        Hard spi handle: -1                                                                                                                      
05-17 19:53:21.835 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:803 Activating channel 0, dir = RX, activate = 1                                                                                                                                        
05-17 19:53:21.835 15829 15830 D AT86RF215_Events at86rf215_radio_event_handler@at86rf215_events.c:61 INT @ RADIO09: Transceiver ready           
05-17 19:53:21.836 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:835 Setup Modem state tx_prep          
05-17 19:53:21.836 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:849 Setup Modem state cmd_rx           
05-17 19:53:21.876 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:803 Activating channel 0, dir = RX, activate = 0                                                                                                                                        
05-17 19:53:21.907 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:823 Setup Modem state trx_off          
05-17 19:53:21.907 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:803 Activating channel 1, dir = RX, activate = 1                                                                                                                                        
05-17 19:53:21.907 15829 15830 D AT86RF215_Events at86rf215_radio_event_handler@at86rf215_events.c:61 INT @ RADIO24: Transceiver ready           
05-17 19:53:21.908 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:835 Setup Modem state tx_prep          
05-17 19:53:21.908 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:849 Setup Modem state cmd_rx           
05-17 19:53:21.948 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:803 Activating channel 1, dir = RX, activate = 0                                                                                                                                        
05-17 19:53:21.978 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:823 Setup Modem state trx_off          
05-17 19:53:21.978 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:803 Activating channel 0, dir = RX, activate = 0                                                                                                                                        
05-17 19:53:22.008 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:823 Setup Modem state trx_off          
05-17 19:53:22.008 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:803 Activating channel 1, dir = RX, activate = 0                                                                                                                                        
05-17 19:53:22.038 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:823 Setup Modem state trx_off          
05-17 19:53:22.039 15829 15829 I CARIBOULITE Setup cariboulite_init_submodules@cariboulite_setup.c:390 Cariboulite submodules successfully initialized                                                                                                                                            
05-17 19:53:22.039 15829 15829 I CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:455 Testing modem communication and versions        
05-17 19:53:22.039 15829 15829 I CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:470 Testing mixer communication and versions        
05-17 19:53:22.039 15829 15829 I CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:482 Testing smi communication                       
05-17 19:53:22.039 15829 15829 I CARIBOULITE Setup cariboulite_self_test@cariboulite_setup.c:487 Self-test process finished successfully!        
05-17 19:53:22.039 15829 15829 I CARIBOULITE Setup cariboulite_setup_signal_handler@cariboulite_setup.c:687 setting up signal handler            
[ERROR] SoapySDR::loadModule(/usr/local/lib/SoapySDR/modules0.8/libsdrPlaySupport.so)                                                            
  dlopen() failed: libsdrplay_api.so.3.07: cannot open shared object file: No such file or directory                                             
        MODEM Version: AT86RF215IQ (without basebands), version: 03Printing 'findCariboulite' Request:
[INFO] [UHD] linux; GNU C++ version 11.3.0; Boost_107400; UHD_4.1.0.5-0-unknown
Found device 0
  channel = S1G
  device_id = 0
  driver = Cariboulite
  label = CaribouLite S1G[ca381142]
  name = CaribouLite RPI Hat
  serial = ca381142
  uuid = c522fca7-00fb-4669-a0c5-f56a417af315
  vendor = CaribouLabs LTD
  version = 0x0001

Found device 1
  channel = HiF
  device_id = 1
  driver = Cariboulite
  label = CaribouLite HiF[ca381143]
  name = CaribouLite RPI Hat
  serial = ca381143
  uuid = c522fca7-00fb-4669-a0c5-f56a417af315
  vendor = CaribouLabs LTD
  version = 0x0001

05-17 19:53:23.630 15829 15829 I CARIBOULITE Setup cariboulite_release_driver@cariboulite_setup.c:699 driver being released
05-17 19:53:23.630 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:803 Activating channel 0, dir = RX, activate = 0                                                                                                                                        
05-17 19:53:23.660 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:823 Setup Modem state trx_off          
05-17 19:53:23.660 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:803 Activating channel 1, dir = RX, activate = 0                                                                                                                                        
05-17 19:53:23.690 15829 15829 D CARIBOULITE Radio cariboulite_radio_activate_channel@cariboulite_radio.c:823 Setup Modem state trx_off          
05-17 19:53:23.691 15829 15829 D CARIBOULITE Setup cariboulite_release_submodules@cariboulite_setup.c:412 CLOSE SMI                              
05-17 19:53:23.701 15829 15829 D CARIBOULITE Setup cariboulite_release_submodules@cariboulite_setup.c:418 CLOSE MODEM - AT86RF215                
05-17 19:53:23.701 15829 15829 I IO_UTILS_SPI io_utils_spi_remove_chip@io_utils_spi.c:475 removing an spi device with handle 2                   
05-17 19:53:23.701 15829 15829 I AT86RF215_Main at86rf215_close@at86rf215.c:236 device release completed                                         
05-17 19:53:23.701 15829 15829 D CARIBOULITE Setup cariboulite_release_submodules@cariboulite_setup.c:427 CLOSE MIXER - RFFC5072                 
05-17 19:53:23.701 15829 15829 I IO_UTILS_SPI io_utils_spi_remove_chip@io_utils_spi.c:475 removing an spi device with handle 3                   
05-17 19:53:23.701 15829 15829 I RFFC5072 rffc507x_release@rffc507x.c:210 Device release completed                                               
05-17 19:53:23.701 15829 15829 I CARIBOULITE Setup cariboulite_release_io@cariboulite_setup.c:240 Releasing board I/Os - closing SPI             
05-17 19:53:23.701 15829 15829 I CARIBOULITE Setup cariboulite_release_io@cariboulite_setup.c:243 Releasing board I/Os - io_utils_cleanup        
05-17 19:53:23.715 15829 15829 I CARIBOULITE Setup cariboulite_release_driver@cariboulite_setup.c:708 driver released `
a-oxide commented 1 year ago

And when running SoapySDRUtil, ignore the SDRPlay error. That'll happen unless you install the sdrplay api in /usr/src.

This log is consistent with my results as well.

a-oxide commented 1 year ago

To address what @alphafox02 said about the bandwidth in SDR++, I have had the same issue with essentially all the software I've tested on DragonOS. I have NOT tried using soapy remote however, I have intentionally disabled SoapySDRServer because I wanted to run things locally. I guessed that the Soapy server may have been eating the bandwidth of the Caribou, making it repeatedly timeout when communicating with SDRPP or other software. I don't believe this is the case.

konimaru commented 1 year ago

Interesting. I used DragonOS_Pi64_Beta30.img to start with but before dealing with cariboulite I updated the -1026 kernel to -1028. I'll try again later without upgrade. Wrt config.txt, I only looked at the one under /boot but that was zero length (not sure if that happened as result of the upgrade) so I didn't look further, IOW no edits.

alphafox02 commented 1 year ago

On raspbian it’s in /boot but for some reason on Ubuntu aarch64 they decided to put it into /boot/firmware/

I think just make sure that one has the edits applied and I think then you’ll be good.. except that I don’t think I’ve gotten anything to run locally. All my testing is essentially sharing the hat on the pi over a network to some software on the other end.. I tend to get slightly frustrated and walk away. I would love to have it all just working well and then I’d just include it in fhe image by default and share.

alphafox02 commented 1 year ago

@konimaru refreshed my Pi and attempted to use the main repo, but this is now preventing step 4 (main software) from compiling.

(https://github.com/cariboulabs/cariboulite/issues/119)

Using your branch of course all is still well.

konimaru commented 1 year ago

OK, this time I kept the installed kernel (1026). I also adjusted the config.txt file in its new location (maybe that's what was missing last time). And now I have a /dev/smi entry. With enabled/started SoapyRemote I can detect the cariboulite remotely, logs look promising.

alphafox02 commented 1 year ago

I also ended up reflashing. Fixed the mistake in the above linked ticket on the main repo. Rebuilt and it seems to work just like your fork. I was then able to adjust bandwidth and not be solely stuck on 4.

alphafox02 commented 1 year ago

I just need to see at a minimum what do I need to keep in place after building so I can maybe have it all Pre installed and the user could configure the txt file as needed. They would also have to rebuild everything upon a kernel change.

konimaru commented 1 year ago

Fired up CubicSDR, connected and it just works.

And I can't stress this enough, keep an eye on your bandwidth. CS16 with default sample rate doesn't go down well over a 100Mbit line (RPi3). I currently use CS8 (~65Mbit) which goes first via cable to my router where I pick it up over WLAN (130Mbit link).

alphafox02 commented 1 year ago

I’ll try this again, so Cubicsdr was able to be used locally? I assume maybe with sudo CubicSDR or did it allow connection to SoapyRemote right on the same Pi? Also the main branch had some code that was submitted recently that keeps it from compiling (requires fixing it first).

konimaru commented 1 year ago

The test was using a remote CubicSDR, mainly to sidestep the sudo issue (SoapyRemote as a service already has root privileges so that's all nicely covered for me). That said, SoapyRemote should work locally as well (using localhost).