I gave it a try on a Raspberry Pi3b, no luck.
Do you have a ARM64 OS? I tried the ARM32 version
The SDRPLAY_RSP1B_ID
error message gives me the idea there is some incompatibility because this RSP1B is there latest model.
Here we need support from the SDRPlay community.
Build steps and output:
Building SDRPlay support on a Raspberry Pi 3 Model B Rev 1.2
cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 2
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 3
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Hardware : BCM2835
Revision : a22082
Serial : 000000005f02114e
Model : Raspberry Pi 3 Model B Rev 1.2
lscpu
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Vendor ID: ARM
Model: 4
Model name: Cortex-A53
Stepping: r0p4
CPU max MHz: 1200.0000
CPU min MHz: 600.0000
BogoMIPS: 38.40
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfp
v4 idiva idivt vfpd32 lpae evtstrm crc32
Download wget http://www.sdrplay.com/software/SDRplay_RSP_API-ARM32-3.07.2.run
chmod 775 SDRplay_RSP_API-ARM32-3.07.2.run
./SDRplay_RSP_API-ARM32-3.07.2.run
Verifying archive integrity... All good.
Uncompressing SDRplay RSP API Install Package V3.07 (installer v2)
Installing SDRplay RSP API library 3.07...
Press RETURN to view the license agreement
Press space when prompted with --More-- to read the license agreement.
SDRplay Limited
END USER LICENCE AGREEMENT
The SDRplay software (“Product”) you are about to install, run and/or use is lic
ensed by SDRplay Limited, a company registered in England (No. 09035244), whose
registered office is 21 Lenten Street ALTON Hampshire GU34 1HG UK(“SDRplay”), an
d is subject to the following licence terms (“Licence”).
"You" (or "Your") shall mean an individual or Legal Entity exercising permission
s granted by this License.
By proceeding to install, run and/or use the Product, you confirm that you accep
t and agree to be bound by the terms of this Licence. If you do not agree to any
of the terms of this Licence, SDRplay is unwilling to provide access to the Pro
duct to you and you should not proceed further and may not use the Product.
1. Licence To Use The Product.
1.1 Grant of Licence.
Subject to the terms and conditions of this License, SDRplay hereby grants to yo
u a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable li
cense to reproduce, publicly display, publicly perform, create Derivative works,
incorporate in other products sublicense, and distribute the Product in Object
form.
1.2 Restrictions. You may not: modify, disassemble, decompile or reve
rse engineer the Product, except to the extent specifically authorised under app
licable law notwithstanding contractual prohibition
1.3. Redistribution. You may reproduce and distribute copies of the Product in a
ny medium, without modifications, in Object form, provided that you meet the fol
lowing conditions:
1. You must give any other recipients of the Product or Derivative Works a copy
of this License; and
2. You must cause any modified files to carry prominent notices stating that Yo
u changed the files; and
3. Any Derivative Works that You distribute must include a readable statement t
Press y and RETURN to accept the license agreement and continue with
the installation, or press n and RETURN to exit the installer [y/n] y
Architecture: armv7l
API Version: 3.07
If not installing as root, you will be prompted for your password
for sudo access to the /usr/local area...
The rest of the installation will continue with root permission...
Udev rules directory found, adding rules...Done
Installing files into /usr/local (/lib, /bin, /include)...
Installing /usr/local/lib/libsdrplay_api.so.3.07...Done
Installing header files in /usr/local/include...Done
Installing API Service in /usr/local/bin...Done
Installing Service scripts and starting daemon...Created symlink /etc/systemd/system/multi-user.target.wants/sdrplay.service → /etc/systemd/system/sdrplay.service.
Done
Service has been installed and started. This device should be rebooted
before the service is used. After the installation script finishes,
reboot this device.
To start and stop the API service, use the following commands...
sudo systemctl start sdrplay
sudo systemctl stop sdrplay
SDRplay API 3.07 Installation Finished
Would you like to add SDRplay USB IDs to the local database for easier
identification in applications such as lsusb? [y/n] n
git clone https://github.com/pothosware/SoapySDRPlay3.git
cd SoapySDRPlay3
mkdir build
cd build
cmake ../
-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type not specified: defaulting to release.
-- Found libsdrplay: /usr/local/include, /usr/local/lib/libsdrplay_api.so
-- LIBSDRPLAY_INCLUDE_DIRS - /usr/local/include
-- LIBSDRPLAY_LIBRARIES - /usr/local/lib/libsdrplay_api.so
-- Found Git: /usr/bin/git (found version "2.30.2")
-- Module sdrPlaySupport configured with version: 0.5.1-2c8169d
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lab/tmp/SoapySDRPlay3/build
make
Scanning dependencies of target sdrPlaySupport
[ 16%] Building CXX object CMakeFiles/sdrPlaySupport.dir/Registration.cpp.o
/home/lab/tmp/SoapySDRPlay3/Registration.cpp: In function ‘std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > findSDRPlay(const Kwargs&)’:
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:52:26: error: ‘struct sdrplay_api_DeviceT’ has no member named ‘valid’
52 | if (not rspDevs[i].valid) continue;
| ^~~~~
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:66:36: error: ‘SDRPLAY_RSP1B_ID’ was not declared in this scope; did you mean ‘SDRPLAY_RSP1_ID’?
66 | else if (rspDevs[i].hwVer == SDRPLAY_RSP1B_ID)
| ^~~~~~~~~~~~~~~~
| SDRPLAY_RSP1_ID
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:84:44: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type’ {aka ‘unsigned int’} [-Wformat=]
84 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ^~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
| |
| std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type {aka unsigned int}
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’
31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffer, __VA_ARGS__))
| ^~~~~~~~~~~~
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:84:58: note: format string is defined here
84 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ~~^
| |
| long int
| %d
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:99:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type’ {aka ‘unsigned int’} [-Wformat=]
99 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Single Tuner", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
| |
| std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type {aka unsigned int}
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’
31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffer, __VA_ARGS__))
| ^~~~~~~~~~~~
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:99:61: note: format string is defined here
99 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Single Tuner", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ~~^
| |
| long int
| %d
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:111:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type’ {aka ‘unsigned int’} [-Wformat=]
111 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Dual Tuner", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
| |
| std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type {aka unsigned int}
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’
31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffer, __VA_ARGS__))
| ^~~~~~~~~~~~
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:111:61: note: format string is defined here
111 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Dual Tuner", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ~~^
| |
| long int
| %d
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:123:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type’ {aka ‘unsigned int’} [-Wformat=]
123 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Master", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
| |
| std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type {aka unsigned int}
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’
31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffer, __VA_ARGS__))
| ^~~~~~~~~~~~
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:123:61: note: format string is defined here
123 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Master", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ~~^
| |
| long int
| %d
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:135:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type’ {aka ‘unsigned int’} [-Wformat=]
135 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Master (RSPduo sample rate=8Mhz)", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
| |
| std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type {aka unsigned int}
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’
31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffer, __VA_ARGS__))
| ^~~~~~~~~~~~
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:135:61: note: format string is defined here
135 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Master (RSPduo sample rate=8Mhz)", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ~~^
| |
| long int
| %d
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:147:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type’ {aka ‘unsigned int’} [-Wformat=]
147 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Slave", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
| |
| std::vector<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type {aka unsigned int}
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’
31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffer, __VA_ARGS__))
| ^~~~~~~~~~~~
/home/lab/tmp/SoapySDRPlay3/Registration.cpp:147:61: note: format string is defined here
147 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Slave", results.size(), modelName.c_str(), rspDevs[i].SerNo);
| ~~^
| |
| long int
| %d
make[2]: *** [CMakeFiles/sdrPlaySupport.dir/build.make:82: CMakeFiles/sdrPlaySupport.dir/Registration.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:123: CMakeFiles/sdrPlaySupport.dir/all] Error 2
make: *** [Makefile:149: all] Error 2