I found csete’s bandwidth test tool and it has proved to be useful in narrowing this down. It appears that for some reason on my LimeSDR Mini certain sample rates cause specific frequencies to be set which it completely fails to set:
Setting 10Msps fails:
$ ./limerx 10000000
Found 1 LimeSDR devices
Reference clock 40.00 MHz
LimeSDR opened: LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D3AEC399FFA28
SetFrequencyCGEN(160 MHz) failed
Failed to set sample rate
Setting 11Msps succeeds:
$ ./limerx 11000000
Found 1 LimeSDR devices
Reference clock 40.00 MHz
LimeSDR opened: LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D3AEC399FFA28
Set sample rate 11000000 Hz (oversampling 0)
Stream started
11000.000 ksps
11000.000 ksps
11000.000 ksps
11000.000 ksps
11000.000 ksps
^CCaught signal 2
Stopping stream...
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
libusb: warning [darwin_abort_transfers] aborting all transactions on interface 1 pipe 4
Read 58300000 samples in 5.300 sec => 11000.000 ksps
And you can see that libusb doesn’t shutdown very cleanly. I seem to need to unplug/replug my mini after each set of samples, but I suspect this is an MacOS or a macbook issue. Unfortunately the only machine I have to use at the moment is a new USB-C only macbook.