Closed Geremia closed 6 years ago
Sorry that I've been too busy to test, but I will try in the next several days. Thanks
@SDRplay fix works! CubicSDR can now receive data, though anything over 1 Mhz seems to be too much.
If you've still got debug enabled that will be a problem. Also, 16bit I/Q data will be quite bandwidth hungry at higher sample rates. If the library supports it, you might try 8 bit mode. May @vsonnier can confirm whether that is supported. To be honest remote data is really only suitable for small bandwidths on any system.
@SDRplay Debug is disabled in head now, so it isn't enabled. I have a 1Gbit Ethernet connection, how much bandwidth do we need? Is this an issue of network bandwidth or small SBC's being unable to stuff that bandwidth without dedicated PHY's like RPi?
Most SBCs like the Raspberry Pi have an inherent problem because ALL of the peripheral data is shared on the USB bus including the network port. I'm not sure about the Odroid. I've backed a new SBC on kickstarter (https://www.kickstarter.com/projects/librecomputer/libre-computer-board-tritium-sbc-linux-android-7-n) that doesn't have this shared bandwidth which I hope to receive in the next couple of months and I'll be able to gather some data on throughput. You'll also need to consider the processing requirement and the latency huge sample rates will create. It may be worth seeing if there are any options you can use in SoapyRemote to change the CPU vs bandwidth - maybe @guruofquality or @vsonnier can comment? What sort of sample rate were you expecting?
The Odroid has a dedicated PHY and does not share the bus with USB devices, it's one of the reasons I chose it, along with boatloads more CPU power over the RPi. I can understand latency being an issue, and am happy to work within these limits. TBH, looking at https://libre.computer/products/boards/all-h3-cc/ I don't see how this is faster than an Odroid, it even has just 100 Mbit LAN?
Speaking of CPU, I'm awaiting delivery of an all Aluminum case for the Odroid, perhaps that can help with thermal throttling running GQRX and accessing it via remote X. If not, this might a better option: https://www.notebookcheck.net/Benchmarks-for-the-Intel-Hades-Canyon-NUC-with-Core-i7-8809G-CPU-and-RX-Vega-M-GPU-leak-out.287220.0.html
@Strykar you can try CS16 format (the most compact one) and tuning the MTU among other things: Don't get too excited by the 8Mhz sample rate, it is just a localhost test :)
I am finally able to resume work on this.
Because my original Pi environment was corrupted I flashed the latest raspberian and am trying to cleanly build Soapy following the instructions of @vsonnier, but I get errors, first in:
cmake .. -DCMAKE_BUILD_TYPE=Debug
Then when I execute cmake :
fatal: A branch named 'master' already exists. pi@raspberrypi:~/SoapySDRPlay $ mkdir build pi@raspberrypi:~/SoapySDRPlay $ cmake .. -DCMAKE_BUILD_TYPE=Debug CMake Error: The source directory "/home/pi" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI. pi@raspberrypi:~/SoapySDRPlay $ cd build/ pi@raspberrypi:~/SoapySDRPlay/build $ cmake .. -DCMAKE_BUILD_TYPE=Debug -- The CXX compiler identification is GNU 6.3.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at CMakeLists.txt:7 (find_package): Could not find a package configuration file provided by "SoapySDR" (requested version 0.4.0) with any of the following names:
SoapySDRConfig.cmake
soapysdr-config.cmake
Add the installation prefix of "SoapySDR" to CMAKE_PREFIX_PATH or set "SoapySDR_DIR" to a directory containing one of the above files. If "SoapySDR" provides a separate development package or SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred! See also "/home/pi/SoapySDRPlay/build/CMakeFiles/CMakeOutput.log". pi@raspberrypi:~/SoapySDRPlay/build $
What am I doing wrong?
It cant find SoapySDR development files. Did you install SoapySDR? if so can you share the output of make install?
No. I confess I am lost in the web site looking for instructions on how to set up this whole development environment
On Mon, Mar 19, 2018 at 9:36 PM, Josh Blum notifications@github.com wrote:
It cant find SoapySDR development files. Did you install SoapySDR? if so can you share the output of make install?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pothosware/SoapyRemote/issues/26#issuecomment-374471832, or mute the thread https://github.com/notifications/unsubscribe-auth/AgoIZDoKgFKH1DtRtiBM6GsdtOtLV5Fzks5tgIdTgaJpZM4LbUCD .
-- Rob Robinett rob@robinett.us
So here is the output:
pi@raspberrypi:~/SoapySDR-master/bulid $ sudo make install [ 68%] Built target SoapySDR [ 81%] Built target SoapySDRUtil [ 87%] Built target TestTimeConversion [ 93%] Built target TestFormatParser [100%] Built target TestKwargsMarkup Install the project... -- Install configuration: "Release" -- Installing: /usr/local/share/cmake/SoapySDR/SoapySDRConfig.cmake -- Installing: /usr/local/share/cmake/SoapySDR/SoapySDRUtil.cmake -- Installing: /usr/local/share/cmake/SoapySDR/SoapySDRConfigVersion.cmake -- Installing: /usr/local/include/SoapySDR -- Installing: /usr/local/include/SoapySDR/Device.h -- Installing: /usr/local/include/SoapySDR/Version.hpp -- Installing: /usr/local/include/SoapySDR/ConverterPrimatives.hpp -- Installing: /usr/local/include/SoapySDR/Errors.h -- Installing: /usr/local/include/SoapySDR/Logger.hpp -- Installing: /usr/local/include/SoapySDR/Time.hpp -- Installing: /usr/local/include/SoapySDR/Types.hpp -- Installing: /usr/local/include/SoapySDR/Modules.hpp -- Installing: /usr/local/include/SoapySDR/ConverterRegistry.hpp -- Installing: /usr/local/include/SoapySDR/Config.h -- Installing: /usr/local/include/SoapySDR/Registry.hpp -- Installing: /usr/local/include/SoapySDR/Formats.hpp -- Installing: /usr/local/include/SoapySDR/Config.hpp -- Installing: /usr/local/include/SoapySDR/Errors.hpp -- Installing: /usr/local/include/SoapySDR/Modules.h -- Installing: /usr/local/include/SoapySDR/Types.h -- Installing: /usr/local/include/SoapySDR/Time.h -- Installing: /usr/local/include/SoapySDR/Device.hpp -- Installing: /usr/local/include/SoapySDR/Version.h -- Installing: /usr/local/include/SoapySDR/Logger.h -- Installing: /usr/local/include/SoapySDR/Constants.h -- Installing: /usr/local/include/SoapySDR/Formats.h -- Installing: /usr/local/lib/libSoapySDR.so.0.7.0 -- Installing: /usr/local/lib/libSoapySDR.so.0.7 -- Installing: /usr/local/lib/libSoapySDR.so -- Installing: /usr/local/lib/pkgconfig/SoapySDR.pc -- Installing: /usr/local/bin/SoapySDRUtil -- Set runtime path of "/usr/local/bin/SoapySDRUtil" to "" -- Installing: /usr/local/share/man/man1/SoapySDRUtil.1 pi@raspberrypi:~/SoapySDR-master/bulid $ SoapySDRUtil --info SoapySDRUtil: error while loading shared libraries: libSoapySDR.so.0.7: cannot open shared object file: No such file or directory pi@raspberrypi:~/SoapySDR-master/bulid $ sudo ldconfig pi@raspberrypi:~/SoapySDR-master/bulid $ SoapySDRUtil --info ######################################################
######################################################
Lib Version: v0.7.0-unknown API Version: v0.7.0 ABI Version: v0.7 Install root: /usr/local Search path: /usr/local/lib/SoapySDR/modules0.7 No modules found! Available factories... No factories found! Available converters...
@rrobinett The problem may comes from
fatal: A branch named 'master' already exists.
And a lack of the Soapy dependencies, like in #35.
So: Delete all the SoapySDR , SoapySDRPlay, SoapyRemote directories, (if any) and do the following:
git clone https://github.com/pothosware/SoapySDR.git
git clone https://github.com/pothosware/SoapySDRPlay.git
git clone https://github.com/pothosware/SoapyRemote.git
cd SoapySDR
mkdir build
cd build
cmake ..
make -j4
make install
ldconfig
cd ..
cd ..
# Now we build the SDRPlay module for Soapy
cd SoapySDRPlay
mkdir build
cd build
cmake ..
make
make install
cd ..
cd ..
# And we build SoapyRemote
cd SoapyRemote
mkdir build
cd build
#cmake ..
cmake .. -DCMAKE_BUILD_TYPE=Release
make
make install
cd ..
cd ..
From @loughkb scripts. And you need to be root I think to execute them (for the ldconfig
part I assume)
Thanks for those clear instructions. Unfortunately my build attempt fails at the same place:
-- SoapySDR version: v0.7.0-g824d83e8 -- ABI/so version: v0.7 -- Install prefix: /usr/local -- Configuring done -- Generating done -- Build files have been written to: /home/pi/SoapySDR/build pi@raspberrypi:~/SoapySDR/build $ make -j4 Scanning dependencies of target SoapySDR [ 9%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Device.cpp.o [ 9%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Registry.cpp.o [ 9%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Types.cpp.o [ 12%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Factory.cpp.o [ 15%] Building CXX object lib/CMakeFiles/SoapySDR.dir/NullDevice.cpp.o [ 18%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Logger.cpp.o [ 21%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Errors.cpp.o [ 25%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Formats.cpp.o [ 28%] Building CXX object lib/CMakeFiles/SoapySDR.dir/ConverterRegistry.cpp.o [ 31%] Building CXX object lib/CMakeFiles/SoapySDR.dir/DefaultConverters.cpp.o [ 34%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Modules.cpp.o [ 37%] Building CXX object lib/CMakeFiles/SoapySDR.dir/Version.cpp.o [ 40%] Building CXX object lib/CMakeFiles/SoapySDR.dir/TypesC.cpp.o [ 43%] Building CXX object lib/CMakeFiles/SoapySDR.dir/ModulesC.cpp.o [ 46%] Building CXX object lib/CMakeFiles/SoapySDR.dir/VersionC.cpp.o [ 50%] Building CXX object lib/CMakeFiles/SoapySDR.dir/DeviceC.cpp.o [ 53%] Building CXX object lib/CMakeFiles/SoapySDR.dir/FactoryC.cpp.o [ 56%] Building CXX object lib/CMakeFiles/SoapySDR.dir/LoggerC.cpp.o [ 59%] Building CXX object lib/CMakeFiles/SoapySDR.dir/TimeC.cpp.o [ 62%] Building CXX object lib/CMakeFiles/SoapySDR.dir/ErrorsC.cpp.o [ 65%] Building CXX object lib/CMakeFiles/SoapySDR.dir/FormatsC.cpp.o [ 68%] Linking CXX shared library libSoapySDR.so [ 68%] Built target SoapySDR Scanning dependencies of target SoapySDRUtil Scanning dependencies of target TestTimeConversion Scanning dependencies of target TestFormatParser Scanning dependencies of target TestKwargsMarkup [ 71%] Building CXX object tests/CMakeFiles/TestTimeConversion.dir/TestTimeConversion.cpp.o [ 75%] Building CXX object apps/CMakeFiles/SoapySDRUtil.dir/SoapySDRUtil.cpp.o [ 78%] Building CXX object tests/CMakeFiles/TestFormatParser.dir/TestFormatParser.cpp.o [ 81%] Building CXX object tests/CMakeFiles/TestKwargsMarkup.dir/TestKwargsMarkup.cpp.o [ 84%] Linking CXX executable TestTimeConversion [ 84%] Built target TestTimeConversion [ 87%] Building CXX object apps/CMakeFiles/SoapySDRUtil.dir/SoapySDRProbe.cpp.o [ 90%] Linking CXX executable TestFormatParser [ 90%] Built target TestFormatParser [ 93%] Building CXX object apps/CMakeFiles/SoapySDRUtil.dir/SoapyRateTest.cpp.o [ 96%] Linking CXX executable TestKwargsMarkup [ 96%] Built target TestKwargsMarkup [100%] Linking CXX executable SoapySDRUtil [100%] Built target SoapySDRUtil pi@raspberrypi:~/SoapySDR/build $ make install [ 68%] Built target SoapySDR [ 81%] Built target SoapySDRUtil [ 87%] Built target TestTimeConversion [ 93%] Built target TestFormatParser [100%] Built target TestKwargsMarkup Install the project... -- Install configuration: "Release" -- Installing: /usr/local/share/cmake/SoapySDR/SoapySDRConfig.cmake CMake Error at cmake_install.cmake:36 (file): file INSTALL cannot copy file "/home/pi/SoapySDR/cmake/Modules/SoapySDRConfig.cmake" to "/usr/local/share/cmake/SoapySDR/SoapySDRConfig.cmake".
Makefile:72: recipe for target 'install' failed make: *** [install] Error 1 pi@raspberrypi:~/SoapySDR/build $ sudo make install [ 68%] Built target SoapySDR [ 81%] Built target SoapySDRUtil [ 87%] Built target TestTimeConversion [ 93%] Built target TestFormatParser [100%] Built target TestKwargsMarkup Install the project... -- Install configuration: "Release" -- Installing: /usr/local/share/cmake/SoapySDR/SoapySDRConfig.cmake -- Installing: /usr/local/share/cmake/SoapySDR/SoapySDRUtil.cmake -- Installing: /usr/local/share/cmake/SoapySDR/SoapySDRConfigVersion.cmake -- Up-to-date: /usr/local/include/SoapySDR -- Installing: /usr/local/include/SoapySDR/Device.h -- Installing: /usr/local/include/SoapySDR/Version.hpp -- Installing: /usr/local/include/SoapySDR/ConverterPrimatives.hpp -- Installing: /usr/local/include/SoapySDR/Errors.h -- Installing: /usr/local/include/SoapySDR/Logger.hpp -- Installing: /usr/local/include/SoapySDR/Time.hpp -- Installing: /usr/local/include/SoapySDR/Types.hpp -- Installing: /usr/local/include/SoapySDR/Modules.hpp -- Installing: /usr/local/include/SoapySDR/ConverterRegistry.hpp -- Installing: /usr/local/include/SoapySDR/Config.h -- Installing: /usr/local/include/SoapySDR/Registry.hpp -- Installing: /usr/local/include/SoapySDR/Formats.hpp -- Installing: /usr/local/include/SoapySDR/Config.hpp -- Installing: /usr/local/include/SoapySDR/Errors.hpp -- Installing: /usr/local/include/SoapySDR/Modules.h -- Installing: /usr/local/include/SoapySDR/Types.h -- Installing: /usr/local/include/SoapySDR/Time.h -- Installing: /usr/local/include/SoapySDR/Device.hpp -- Installing: /usr/local/include/SoapySDR/Version.h -- Installing: /usr/local/include/SoapySDR/Logger.h -- Installing: /usr/local/include/SoapySDR/Constants.h -- Installing: /usr/local/include/SoapySDR/Formats.h -- Installing: /usr/local/lib/libSoapySDR.so.0.7.0 -- Up-to-date: /usr/local/lib/libSoapySDR.so.0.7 -- Up-to-date: /usr/local/lib/libSoapySDR.so -- Installing: /usr/local/lib/pkgconfig/SoapySDR.pc -- Installing: /usr/local/bin/SoapySDRUtil -- Set runtime path of "/usr/local/bin/SoapySDRUtil" to "" -- Installing: /usr/local/share/man/man1/SoapySDRUtil.1 pi@raspberrypi:~/SoapySDR/build $ sudo ldconfig pi@raspberrypi:~/SoapySDR/build $ cd ../.. pi@raspberrypi:~ $ cd SoapySDRPlay/ pi@raspberrypi:~/SoapySDRPlay $ mkdir build pi@raspberrypi:~/SoapySDRPlay $ cd build pi@raspberrypi:~/SoapySDRPlay/build $ cmake .. -- The CXX compiler identification is GNU 6.3.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Build type not specified: defaulting to release. -- libsdrplay not found. CMake Error at CMakeLists.txt:16 (message): SDRPlay development files not found...
-- Configuring incomplete, errors occurred! See also "/home/pi/SoapySDRPlay/build/CMakeFiles/CMakeOutput.log". pi@raspberrypi:~/SoapySDRPlay/build $
On Mon, Mar 19, 2018 at 10:57 PM, Vincent Sonnier notifications@github.com wrote:
@rrobinett https://github.com/rrobinett The problem comes from
fatal: A branch named 'master' already exists.
Delete all the SoapySDR , SoapySDRPlay, SoapyRemote directories, and do the following:
git clone https://github.com/pothosware/SoapySDR.git git clone https://github.com/pothosware/SoapySDRPlay.git git clone https://github.com/pothosware/SoapyRemote.git cd SoapySDR mkdir build cd build cmake .. make -j4 make install ldconfig cd .. cd ..
Now we build the SDRPlay module for Soapy
cd SoapySDRPlay mkdir build cd build cmake .. make make install cd .. cd ..
And we build SoapyRemote
cd SoapyRemote mkdir build cd build
cmake ..
cmake .. -DCMAKE_BUILD_TYPE=Release make make install cd .. cd ..
(From @loughkb https://github.com/loughkb scripts)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pothosware/SoapyRemote/issues/26#issuecomment-374485164, or mute the thread https://github.com/notifications/unsubscribe-auth/AgoIZKMl4LnLNSBGIsnsltBVSPPvSqdZks5tgJpbgaJpZM4LbUCD .
-- Rob Robinett rob@robinett.us
Sorry, I was building on a fresh raspberrian OS and had failed to download and install the SDRPlay driver from their site. Having done that I have been able to build and run SDRServer.
However I do get some compile warning messages and I am missing the Avanhi library. How do I get that?
thanks
=============== -- Looking for include file fcntl.h - found -- Could NOT find Avahi (missing: AVAHI_LIBRARY-COMMON AVAHI_LIBRARY-CLIENT AVAHI_INCLUDE_DIR) CMake Warning at common/CMakeLists.txt:46 (message): Cannot find Avahi client development files:Avahi is recommended for device discovery over mDNS.Please install libavahi-client-dev or equivalent.
That's an optional library. As the note says, install libavahi...
sudo apt-get install libavahi-client-dev
So it looks like this bug got sorted out in soapysdrplay. Its quite a long issue that this point, and it wasn't really an issue for the SoapyRemote codebase. I'm going to close it out. Thanks for everyones help in tracking this down!
Using the Osmocom source block with Soapy Remote, I sometimes get a segfault:
Here is what GNUradio says:
Here is what the remote server running SoapySDRServer says right before it segfaults:
Is this because the server cannot keep up with the requested sample rate?