Dear all,
I wonder if there is any information on using the LimeSDR Mini with FreeBSD, or if anyone has made experiences with it. I wasn’t successful with searching the internet (or this site) for LimeSDR Mini and FreeBSD.
Under FreeBSD, the device is (generally) recognized and identifies as follows:
# usbconfig -u 2 -a 2
ugen2.2: <Lime Micro LimeSDR Mini> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (388mA)
The FreeBSD pkg system provides a package SoapySDR-0.7.2 which I installed. I also downloaded LimeSuite-20.01.0.tar.gz to compile the SoapySDR driver as well as the LimeQuickTest.
Compiling the LimeQuickTest failes as follows:
% cd builddir
% make LimeQuickTest
[...]
[ 89%] Building CXX object QuickTest/CMakeFiles/LimeQuickTest.dir/TestGUI.cpp.o
In file included from /home/flocke/install/LimeSuite-20.01.0/QuickTest/TestGUI.cpp:7:
In file included from /usr/local/include/FL/fl_draw.H:27:
In file included from /usr/local/include/FL/x.H:37:
/usr/local/include/X11/Xlib.h:44:10: fatal error: 'X11/X.h' file not found
#include <X11/X.h>
^~~~~~~~~
1 error generated.
*** Error code 1
However, compiling SoapyLMS7 worked, and I could copy the builddir/SoapyLMS7/libLMS7Support.so file to the /usr/local/lib/SoapySDR/modules0.7/ directory.
SoapySDRUtil then gives me the following output:
% SoapySDRUtil --info
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Lib Version: v0.7.2-unknown
API Version: v0.7.1
ABI Version: v0.7
Install root: /usr/local
Search path: /usr/local/lib/SoapySDR/modules0.7
Module found: /usr/local/lib/SoapySDR/modules0.7/libLMS7Support.so (20.01.0)
Module found: /usr/local/lib/SoapySDR/modules0.7/libremoteSupport.so (0.5.1)
Module found: /usr/local/lib/SoapySDR/modules0.7/librtlsdrSupport.so (0.3.0)
Available factories... lime, remote, rtlsdr
Available converters...
- CF32 -> [CF32, CS16, CS8, CU16, CU8]
- CS16 -> [CF32, CS16, CS8, CU16, CU8]
[...]
And trying to initialize the device causes:
% SoapySDRUtil --make="driver=lime"
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Make device driver=lime
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
[INFO] Make connection: 'LimeSDR Mini [USB 2.0] 1D3AC7FE409032'
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
[ERROR] USB reset failed
[ERROR] Failed to open device
LIBUSB_FUNCTION: libusb_bulk_transfer enter
LIBUSB_FUNCTION: libusb_submit_transfer enter
LIBUSB_FUNCTION: libusb_submit_transfer leave 0
LIBUSB_TRANSFER: sync I/O done
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_wait_for_event enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_bulk_transfer leave
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_bulk_transfer enter
LIBUSB_FUNCTION: libusb_submit_transfer enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_submit_transfer leave 0
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_TRANSFER: sync I/O done
LIBUSB_FUNCTION: libusb_wait_for_event enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_bulk_transfer leave
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
[ERROR] Failed to open. Device is busy.
Error making device: Failed to make connection with 'LimeSDR Mini, media=USB 2.0, module=FT601, addr=24607:1027, serial=1D3AC7FE409032'
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter
LIBUSB_FUNCTION: libusb10_handle_events_sub enter
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit
I get similar errors when I write a C program which attempts to make the device:
[...]
[ERROR] USB reset failed
[ERROR] Failed to open device
[...]
[ERROR] Failed to open. Device is busy.
Could not open device: Failed to make connection with 'LimeSDR Mini, media=USB 2.0, module=FT601, addr=24607:1027, serial=1D3AC7FE409032'
[...]
I made sure to have proper permissions on the /dev/usb/2.2.* files.
I have used the same software stack successfully with an RTLSDR, and the same LimeSDR Mini stick also works fine on a Linux system.
I also discovered that there have been issues with LimeSDR Mini and libusb:
LimeSDR-Mini doesn’t work with latest libusb on macOS #253
I’m not sure if I have encountered a similar problem or if my problems are something entirely different.
My libusb seems to be shipped with the FreeBSD operating system. My FreeBSD version is 12.1-RELEASE-p6.
Using Linux, the firmware of the LimeSDR Mini has been upgraded as well, but that didn’t help either.
Any help or references to further reading material would be appreciated!