So, I’ve done some googling and not seen anything that makes sense yet.
I’ve looked at How To: LimeSDR + GQRX + macOS Sierra (OSX) - #25 by lool and think I have the correct device string, and it’s an old query.
I’ve installed limesuite, soapy, and Gqrx with brew
brew install limesuite
brew install soapysdr
brew install Gqrx
I’ve done the “Accept connections from this accessory” the first time I’ve attached the LimeSDR to the MacBook.
SoapySDRUtil appears to find my LimesDR:
% SoapySDRUtil --info
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Lib Version: v0.8.1-release
API Version: v0.8.0
ABI Version: v0.8
Install root: /opt/homebrew
Search path: /opt/homebrew/lib/SoapySDR/modules0.8
Module found: /opt/homebrew/lib/SoapySDR/modules0.8/libHackRFSupport.so (0.3.4)
Module found: /opt/homebrew/lib/SoapySDR/modules0.8/libLMS7Support.so (23.11.0)
Available factories... hackrf, lime
Available converters...
- CF32 -> [CF32, CS16, CS8, CU16, CU8]
- CS16 -> [CF32, CS16, CS8, CU16, CU8]
- CS32 -> [CS32]
- CS8 -> [CF32, CS16, CS8, CU16, CU8]
- CU16 -> [CF32, CS16, CS8]
- CU8 -> [CF32, CS16, CS8]
- F32 -> [F32, S16, S8, U16, U8]
- S16 -> [F32, S16, S8, U16, U8]
- S32 -> [S32]
- S8 -> [F32, S16, S8, U16, U8]
- U16 -> [F32, S16, S8]
- U8 -> [F32, S16, S8]
Voice-of-Evening:~
% SoapySDRUtil --probe
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Probe device
[INFO] Make connection: 'LimeSDR Mini [USB 3.0] 1D3AC7A51BE670'
[INFO] Reference clock 40.00 MHz
[INFO] Device name: LimeSDR-Mini
[INFO] Reference: 40 MHz
[INFO] LMS7002M register cache: Disabled
----------------------------------------------------
-- Device identification
----------------------------------------------------
driver=FT601
hardware=LimeSDR-Mini
boardSerialNumber=0x1d3ac7a51be670
firmwareVersion=5
gatewareVersion=1.24
hardwareVersion=0
protocolVersion=1
----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
Channels: 1 Rx, 1 Tx
Timestamps: YES
Clock sources: internal, external
Sensors: clock_locked, lms7_temp
* clock_locked (Clock Locked): true
CGEN clock is locked, good VCO selection.
* lms7_temp (LMS7 Temperature): 41.495247 C
The temperature of the LMS7002M in degrees C.
Registers: BBIC
Other Settings:
* SAVE_CONFIG - Save LMS settings to file
[key=SAVE_CONFIG, type=string]
* LOAD_CONFIG - Load LMS settings from file
[key=LOAD_CONFIG, type=string]
* OVERSAMPLING - oversampling ratio (0 - auto)
[key=OVERSAMPLING, type=int, options=(0, 1, 2, 4, 8, 16, 32)]
GPIOs: MAIN
----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
Full-duplex: YES
Supports AGC: NO
Stream formats: CF32, CS12, CS16
Native format: CS16 [full-scale=32767]
Stream args:
* Buffer Length - The buffer transfer size over the link.
[key=bufferLength, units=samples, default=0, type=int]
* Latency - Latency vs. performance
[key=latency, default=0.5, type=float]
* Link Format - The format of the samples over the link.
[key=linkFormat, default=CS16, type=string, options=(CS16, CS12)]
* Skip Calibration - Skip automatic activation calibration.
[key=skipCal, default=false, type=bool]
* align phase - Attempt to align phase of Rx channels.
[key=alignPhase, default=false, type=bool]
Antennas: NONE, LNAH, LNAL_NC, LNAW, Auto
Corrections: DC removal, DC offset, IQ balance
Full gain range: [-12, 61] dB
TIA gain range: [0, 12] dB
LNA gain range: [0, 30] dB
PGA gain range: [-12, 19] dB
Full freq range: [0, 3800] MHz
RF freq range: [30, 3800] MHz
BB freq range: [-7.68, 7.68] MHz
Tune args:
* LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC.
[key=OFFSET, units=Hz, default=0.0, type=float, range=[-7.68e+06, 7.68e+06]]
* BB - Specify a specific value for this component or IGNORE to skip tuning it.
[key=BB, units=Hz, default=DEFAULT, type=float, range=[-7.68e+06, 7.68e+06], options=(DEFAULT, IGNORE)]
Sample rates: [0.1, 30.72] MSps
Filter bandwidths: [1.4001, 130] MHz
Sensors: lo_locked
* lo_locked (LO Locked): true
LO synthesizer is locked, good VCO selection.
Other Settings:
* TSP_CONST - Digital DC test signal level in LMS7002M TSP chain.
[key=TSP_CONST, default=16383, type=int, range=[0, 32767]]
* CALIBRATE - DC/IQ calibration bandwidth
[key=CALIBRATE, type=float, range=[2.5e+06, 1.2e+08]]
* ENABLE_GFIR_LPF - LPF bandwidth (must be set after sample rate)
[key=ENABLE_GFIR_LPF, type=float]
* TSG_NCO - Enable NCO test signal
[key=TSG_NCO, default=4, type=int, options=(-1, 4, 8)]
----------------------------------------------------
-- TX Channel 0
----------------------------------------------------
Full-duplex: YES
Supports AGC: NO
Stream formats: CF32, CS12, CS16
Native format: CS16 [full-scale=32767]
Stream args:
* Buffer Length - The buffer transfer size over the link.
[key=bufferLength, units=samples, default=0, type=int]
* Latency - Latency vs. performance
[key=latency, default=0.5, type=float]
* Link Format - The format of the samples over the link.
[key=linkFormat, default=CS16, type=string, options=(CS16, CS12)]
* Skip Calibration - Skip automatic activation calibration.
[key=skipCal, default=false, type=bool]
* align phase - Attempt to align phase of Rx channels.
[key=alignPhase, default=false, type=bool]
Antennas: NONE, BAND1, BAND2, Auto
Corrections: DC offset, IQ balance
Full gain range: [-12, 64] dB
PAD gain range: [0, 52] dB
IAMP gain range: [-12, 12] dB
Full freq range: [0, 3800] MHz
RF freq range: [30, 3800] MHz
BB freq range: [-7.68, 7.68] MHz
Tune args:
* LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC.
[key=OFFSET, units=Hz, default=0.0, type=float, range=[-7.68e+06, 7.68e+06]]
* BB - Specify a specific value for this component or IGNORE to skip tuning it.
[key=BB, units=Hz, default=DEFAULT, type=float, range=[-7.68e+06, 7.68e+06], options=(DEFAULT, IGNORE)]
Sample rates: [0.1, 30.72] MSps
Filter bandwidths: [5, 40], [50, 130] MHz
Sensors: lo_locked
* lo_locked (LO Locked): true
LO synthesizer is locked, good VCO selection.
Other Settings:
* TSP_CONST - Digital DC test signal level in LMS7002M TSP chain.
[key=TSP_CONST, default=16383, type=int, range=[0, 32767]]
* CALIBRATE - DC/IQ calibration bandwidth
[key=CALIBRATE, type=float, range=[2.5e+06, 1.2e+08]]
* ENABLE_GFIR_LPF - LPF bandwidth (must be set after sample rate)
[key=ENABLE_GFIR_LPF, type=float]
* TSG_NCO - Enable NCO test signal
[key=TSG_NCO, default=4, type=int, options=(-1, 4, 8)]
Running GQRX gives me the following:
% gqrx
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.10.11.0
built-in source types: file rtl rtl_tcp uhd hackrf bladerf rfspace airspy airspyhf soapy redpitaya
Resampling audio 96000 -> 48000
PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976)
Number of audio devices: 3
0: MacBook Air Microphone I:1 O:0
1: MacBook Air Speakers I:0 O:2
2: Microsoft Teams Audio I:1 O:1
Using default audio device
BandPlanFile is /Users/kf6gpe/.config/gqrx/bandplan.csv
BookmarksFile is /Users/kf6gpe/.config/gqrx/bookmarks.csv
PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976)
Number of audio devices: 3
0: MacBook Air Microphone I:1 O:0
1: MacBook Air Speakers I:0 O:2
2: Microsoft Teams Audio I:1 O:1
[INFO] [UHD] Mac OS; Clang version 15.0.0 (clang-1500.3.9.4); Boost_108600; UHD_4.7.0.0
[WARNING] SoapySSDPEndpoint failed join group udp://[ff02::c]:1900 on bridge100
setsockopt(IPV6_MULTICAST_IF, fdb2:2c26:f4e4::1) [22: Invalid argument]
[WARNING] SoapySSDPEndpoint failed join group udp://[ff02::c]:1900 on bridge101
setsockopt(IPV6_MULTICAST_IF, fdb2:2c26:f4e4:1::1) [22: Invalid argument]
2025-01-18 10:39:07.192 gqrx[35744:579765] +[IMKClient subclass]: chose IMKClient_Modern
2025-01-18 10:39:07.192 gqrx[35744:579765] +[IMKInputSession subclass]: chose IMKInputSession_Modern
PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976)
Number of audio devices: 3
0: MacBook Air Microphone I:1 O:0
1: MacBook Air Speakers I:0 O:2
2: Microsoft Teams Audio I:1 O:1
and connecting with the Device String soapy=0,driver=lime
and an input rate of 5000000
fails with the dialog box SoapySDR::Device::make() no match
.
I assume that I’ve fat-fingered the configuration somehow, and that the UDP warnings:
[WARNING] SoapySSDPEndpoint failed join group udp://[ff02::c]:1900 on bridge100
setsockopt(IPV6_MULTICAST_IF, fdb2:2c26:f4e4::1) [22: Invalid argument]
[WARNING] SoapySSDPEndpoint failed join group udp://[ff02::c]:1900 on bridge101
setsockopt(IPV6_MULTICAST_IF, fdb2:2c26:f4e4:1::1) [22: Invalid argument]
are a clue, but I’m not seeing the issue here.
Is there a problem with the brew
package, maybe? Should I go buy a linex laptop?
Thanks!