NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.5k stars 12.99k forks source link

Error probing device: no available RSP devices found #253916

Open suhr opened 10 months ago

suhr commented 10 months ago

Describe the bug

Soapy SDR can't find MSi.SDR even though sdrplayApi is active.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Enable services.sdrplayApi.enable
  2. Overlay soapysdr-with-plugins as described in the documentation
  3. Run SoapySDRUtil --probe="driver=sdrplay"

Expected behavior

SoapySDR should find the device.

Additional context

The USB device is available:

/home/suhr> lsusb -d 1df7:                                                                                                                                                                                                                 09/08/2023 12:46:00
Bus 005 Device 002: ID 1df7:2500 SDRplay RSP1

And sdrplayApi is active:

/home/suhr> journalctl -b --unit=sdrplayApi                                                                                                                                                                                                09/08/2023 12:46:23
сен 08 00:38:47 nixos systemd[1]: Started SDRplay API Service.
сен 08 00:38:47 nixos sdrplay_apiService[1532]: [1532]: sdrplay_apiService: sdrplay_apiServiceWorkerThread: Entry
сен 08 00:38:47 nixos sdrplay_apiService[1532]: [1576]: sdrplay_apiService_device: heartBeatThread: Entry

This is the output of SoapySDRUtil --info:

######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

Lib Version: v0.8.1-unknown
API Version: v0.8.0
ABI Version: v0.8
Install root: /nix/store/cg8c3gh38m2gg3kxfpxqvvf76a140cv8-soapysdr-0.8.1
Search path:  /nix/store/cg8c3gh38m2gg3kxfpxqvvf76a140cv8-soapysdr-0.8.1/lib/SoapySDR/modules0.8
Search path:  /nix/store/rng0xaj8m9c486gfs86mb5im6qi8x46a-soapysdr-sdrplay3-0.4.0/lib/SoapySDR/modules0.8
Module found: /nix/store/cg8c3gh38m2gg3kxfpxqvvf76a140cv8-soapysdr-0.8.1/lib/SoapySDR/modules0.8/libsdrPlaySupport.so          (0.4.0)
Module found: /nix/store/rng0xaj8m9c486gfs86mb5im6qi8x46a-soapysdr-sdrplay3-0.4.0/lib/SoapySDR/modules0.8/libsdrPlaySupport.so
Available factories... sdrplay
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]

And this is output of SoapySDRUtil --probe="driver=sdrplay":

######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

Probe device driver=sdrplay
Error probing device: no available RSP devices found

Notify maintainers

@pmenke-de @zaninime

Metadata

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.5.1, NixOS, 23.11 (Tapir), 23.11.20230906.0bffda1`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.17.0`
 - channels(root): `"nixos"`
 - channels(suhr): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
suhr commented 10 months ago

This issue can be fixed by adding the following line to the system configuration:

boot.blacklistedKernelModules = [ "sdr_msi3101" "msi001" "msi2500" ];
zaninime commented 9 months ago

Which board do you have? I can't reproduce on my setup. I didn't need to black list anything manually, but I'm running on RPi4 so those modules might not have been even compiled for the kernel I'm running.

suhr commented 9 months ago

https://aliexpress.com/item/1005003800470360.html