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

MacOS/SDRPlay: Could not select RSP device: sdrplay_api_Fail #1558

Open
edfardos opened this issue Dec 29, 2024 · 7 comments
Open

MacOS/SDRPlay: Could not select RSP device: sdrplay_api_Fail #1558

edfardos opened this issue Dec 29, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@edfardos
Copy link

edfardos commented Dec 29, 2024

(renamed bug, was "missing sdrplay_api.so.3")

Hardware

  • CPU: Apple M4
  • RAM: 512G
  • GPU: Apple M4
  • SDR: Local SDRPlay

Software

  • Operating System: MacOS Sequoia 15.1
  • SDR++: Nightly compiled 29/12/2024 18:34:32.000

Bug Description
SDRPlay does not function
Could not select RSP device: sdrplay_api_Fail

Steps To Reproduce

  1. Install SDRPlay API v3.15, library observed in /usr/local/lib/libsdrplay_api.so.3.15.
  2. Compile SDR++ with SDRPlay source ON, ./Plugins/sdrplay_source.dylib file observed
  3. Create MacOS ".app", move to Applications
  4. cp /usr/local/lib/sdrplay_api.so.3 ../Frameworks

craiger@Craigs-Mac-mini MacOS % ./sdrpp
[29/12/2024 13:21:12.000] [INFO] SDR++ v1.2.1
[29/12/2024 13:21:12.000] [INFO] Loading config
[29/12/2024 13:21:12.000] [WARN] ConfigManager locked, waiting...
[29/12/2024 13:21:12.000] [ERROR] Glfw Error 65548: Cocoa: Regular windows do not have icons on macOS
[29/12/2024 13:21:12.000] [INFO] Loading icons
[29/12/2024 13:21:12.000] [INFO] Loading band plans
[29/12/2024 13:21:12.000] [INFO] Loading band plans color table
[29/12/2024 13:21:12.000] [INFO] Loading modules
[29/12/2024 13:21:12.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/rtl_sdr_source.dylib
[29/12/2024 13:21:12.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/meteor_demodulator.dylib
[29/12/2024 13:21:12.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/network_sink.dylib
[29/12/2024 13:21:12.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/scanner.dylib
[29/12/2024 13:21:12.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/sdrplay_source.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/radio.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/rigctl_server.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/audio_sink.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/frequency_manager.dylib
[29/12/2024 13:21:13.000] [WARN] ConfigManager locked, waiting...
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/recorder.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/file_source.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/network_source.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/spyserver_source.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/rigctl_client.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/new_portaudio_sink.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/hermes_source.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/discord_integration.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/rfspace_source.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/rtl_tcp_source.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/hackrf_source.dylib
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Plugins/sdrpp_server_source.dylib
[29/12/2024 13:21:13.000] [INFO] Initializing Airspy Source (airspy_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'airspy_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing AirspyHF+ Source (airspyhf_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'airspyhf_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing Audio Sink (audio_sink)
[29/12/2024 13:21:13.000] [INFO] Initializing Audio Source (audio_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'audio_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing BladeRF Source (bladerf_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'bladerf_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing File Source (file_source)
[29/12/2024 13:21:13.000] [INFO] Initializing FobosSDR Source (fobossdr_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'fobossdr_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing Frequency Manager (frequency_manager)
[29/12/2024 13:21:13.000] [INFO] Initializing HackRF Source (hackrf_source)
[29/12/2024 13:21:13.000] [INFO] Initializing Harogic Source (harogic_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'harogic_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing Hermes Source (hermes_source)
[29/12/2024 13:21:13.000] [INFO] Initializing LimeSDR Source (limesdr_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'limesdr_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing Network Sink (network_sink)
[29/12/2024 13:21:13.000] [INFO] Initializing Network Source (network_source)
[29/12/2024 13:21:13.000] [INFO] Initializing PerseusSDR Source (perseus_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'perseus_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing PlutoSDR Source (plutosdr_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'plutosdr_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing RFNM Source (rfnm_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'rfnm_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing RFspace Source (rfspace_source)
[29/12/2024 13:21:13.000] [INFO] Initializing RTL-SDR Source (rtl_sdr_source)
[29/12/2024 13:21:13.000] [INFO] Initializing RTL-TCP Source (rtl_tcp_source)
[29/12/2024 13:21:13.000] [INFO] Initializing Radio (radio)
[Resamp] predec: 32, interp: 4, decim: 5, inacc: 0.000000%, taps: 380
[Resamp] predec: 4, interp: 96, decim: 125, inacc: 0.000000%, taps: 9500
[Resamp] predec: 32, interp: 5000, decim: 7813, inacc: 0.000000%, taps: 593750
[Resamp] predec: 4, interp: 96, decim: 125, inacc: 0.000000%, taps: 9500
[Resamp] predec: 4, interp: 96, decim: 125, inacc: 0.000000%, taps: 9500
[29/12/2024 13:21:13.000] [WARN] Demod switch took 7687 us
[29/12/2024 13:21:13.000] [INFO] Audio device open.
[29/12/2024 13:21:13.000] [INFO] Initializing Recorder (recorder)
[29/12/2024 13:21:13.000] [INFO] Initializing Rigctl Server (rigctl_server)
[29/12/2024 13:21:13.000] [INFO] Initializing SDR++ Server Source (sdrpp_server_source)
[29/12/2024 13:21:13.000] [INFO] Initializing SDRplay Source (sdrplay_source)
[29/12/2024 13:21:13.000] [INFO] Initializing Spectran HTTP Source (spectran_http_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'spectran_http_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Initializing SpyServer Source (spyserver_source)
[29/12/2024 13:21:13.000] [INFO] Initializing USRP Source (usrp_source)
[29/12/2024 13:21:13.000] [ERROR] Module 'usrp_source' doesn't exist
[29/12/2024 13:21:13.000] [INFO] Loading color maps
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/classic.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/inferno.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/turbo.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/vivid.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/gqrx.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/electric.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/plasma.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/greyscale.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/temper_colors.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/viridis.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/magma.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/smoke.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/websdr.json
[29/12/2024 13:21:13.000] [INFO] Loading /Users/craiger/Downloads/SDR++.app/Contents/Resources/../Resources/colormaps/classic_green.json
[29/12/2024 13:21:13.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:13.000] [INFO] SDRPlaySourceModule 'SDRplay Source': Menu Select!
[29/12/2024 13:21:13.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:13.000] [INFO] SDRPlaySourceModule 'SDRplay Source': Tune: 0.000000!
[Resamp] predec: 4, interp: 96, decim: 125, inacc: 0.000000%, taps: 9500
[29/12/2024 13:21:13.000] [INFO] Audio device open.
[29/12/2024 13:21:13.000] [INFO] SDRPlaySourceModule 'SDRplay Source': Tune: -325000.000000!
[29/12/2024 13:21:13.000] [INFO] Running post-init for Audio Sink
[29/12/2024 13:21:13.000] [INFO] Running post-init for File Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for Frequency Manager
[29/12/2024 13:21:13.000] [INFO] Running post-init for HackRF Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for Hermes Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for Network Sink
[29/12/2024 13:21:13.000] [INFO] Running post-init for Network Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for RFspace Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for RTL-SDR Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for RTL-TCP Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for Radio
[29/12/2024 13:21:13.000] [INFO] Running post-init for Recorder
[29/12/2024 13:21:13.000] [INFO] Running post-init for Rigctl Server
[29/12/2024 13:21:13.000] [INFO] Running post-init for SDR++ Server Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for SDRplay Source
[29/12/2024 13:21:13.000] [INFO] Running post-init for SpyServer Source
[29/12/2024 13:21:13.000] [INFO] Ready.
2024-12-29 13:21:13.605 sdrpp[11791:51183] +[IMKClient subclass]: chose IMKClient_Modern
[29/12/2024 13:21:17.000] [INFO] SDRPlaySourceModule 'SDRplay Source': Menu Deselect!
[29/12/2024 13:21:17.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:17.000] [INFO] SDRPlaySourceModule 'SDRplay Source': Menu Select!
[29/12/2024 13:21:18.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:27.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:28.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:28.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:28.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:28.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:29.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:29.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:30.000] [ERROR] Could not select RSP device: sdrplay_api_Fail
[29/12/2024 13:21:30.000] [INFO] SDRPlaySourceModule 'SDRplay Source': Tune: -325000.000000!
[29/12/2024 13:21:53.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:54.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:54.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:54.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:55.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)
[29/12/2024 13:21:55.000] [INFO] New DSP samplerate: 2000000.000000 (source samplerate is 2000000.000000)

I'm a new mac person, please be gentle. Linux build works great!

@edfardos edfardos added the bug Something isn't working label Dec 29, 2024
@edfardos
Copy link
Author

edfardos commented Dec 29, 2024

We're able to find the library after copying it to the expected location:
pwd
/Applications/SDR++.app/Contents/Frameworks
cp /Library/SDRplayAPI/3.15.0/lib/libsdrplay_api.so.3.15 ./libsdrplay_api.so.3

sdrpp now results in the following when you press "play" in sdrpp:
[28/12/2024 18:57:45.000] [ERROR] Could not select RSP device: sdrplay_api_Fail
[28/12/2024 18:57:45.000] [INFO] SDRPlaySourceModule 'SDRplay Source': Tune: 100000000.000000!

@edfardos
Copy link
Author

% system_profiler SPUSBDataType

        Vendor-Specific Device:
          Product ID: 0x3050
          Vendor ID: 0x1df7
          Version: 2.00
          Speed: Up to 480 Mb/s
          Location ID: 0x02110000 / 3
          Current Available (mA): 500
          Extra Operating Current (mA): 0

@edfardos
Copy link
Author

... and SDRConnect, from SDRPlay works. assuming it uses the same sdrplay_apiService.

@edfardos edfardos changed the title SDRPlay source not found on Macos build. (SDRPlay 3.15 api, Dec 28 2024) MacOS/SDRPlay: Could not select RSP device: sdrplay_api_Fail Dec 29, 2024
@edfardos
Copy link
Author

cmake .. -DOPT_BUILD_SOAPY_SOURCE=OFF -DOPT_BUILD_BLADERF_SOURCE=OFF -DOPT_BUILD_AUDIO_SOURCE=OFF -DOPT_BUILD_AUDIO_SINK=OFF -DOPT_BUILD_PORTAUDIO_SINK=ON -DOPT_BUILD_NEW_PORTAUDIO_SINK=ON -DOPT_BUILD_M17_DECODER=ON -DUSE_BUNDLE_DEFAULTS=ON -DCMAKE_BUILD_TYPE=Release -DOPT_BUILD_SDRPLAY_SOURCE=ON -DOPT_BUILD_PLUTOSDR_SOURCE=OFF -DOPT_BUILD_AIRSPY_SOURCE=OFF -DOPT_BUILD_AIRSPYHF_SOURCE=OFF -DOPT_BUILD_M17_DECODER=OFF

@edfardos
Copy link
Author

edfardos commented Dec 29, 2024

Downgrading SDRPlay API to v3.14 (from 3.15), after completing all above steps solves the problem. Ticket filed with SDRPlay guys. The 3.14 version of sdrplay_apiService seems to be the solution. For completeness, I then upgraded to 3.15, and restored /Library/SDRplayAPI/3.15.0/bin/sdrplay_apiService from the 3.14.0 release. still working.

@edfardos
Copy link
Author

.. and after about 15 minutes the sdrplay_apiService starts spitting out USB watchdog errors, USB lockup, and sdr++ stops playing.

SDRPlay responded quickly to the ticket, indicating there was nothing wrong with the 3.15 api because SDRTrunc works. I'm guessing they haven't tested macos15.1, where the api service requires a kill-9 to stop....

@N1FKO
Copy link

N1FKO commented Jan 9, 2025

FYI on all my Macs running macOS Sequoia (15.2), a clean install of API 3.15 fails to report RSP1Bs to SDRTrunk, SDRAngel, etc. API 3.14 works.

I believe an upgrade from 3.14 to 3.15 appears to work because the old service is lingering around, but once I reboot it's broken until I uninstall and reinstall 3.14.

SDRConnect works because (reportedly) it does not use the API package, having all support built in.

Oddly enough, 3.15 does report my old RSP1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants