Friday, 12 April 2019

GNU and ADALM_PLUTO

Not exactly straight forward.

The Pluto is found, is working but cannot seem to add it into GNURadio so no blocks. The rest of GNURadio is working fo the other recent sdr additions lime, rtl and sdrplay.

dmesg shows:

 [1183973.502185] usb 1-2: new high-speed USB device number 71 using xhci_hcd
[1183973.632079] usb 1-2: New USB device found, idVendor=0456, idProduct=b673
[1183973.632082] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[1183973.632083] usb 1-2: Product: PlutoSDR (ADALM-PLUTO)
[1183973.632084] usb 1-2: Manufacturer: Analog Devices Inc.
[1183973.632085] usb 1-2: SerialNumber:
[1183973.635560] rndis_host 1-2:1.0 eth0: register 'rndis_host' at usb-0000:00:XXXXX, RNDIS device, XXXXXXX
[1183973.637101] usb-storage 1-2:1.2: USB Mass Storage device detected
[1183973.638074] scsi host9: usb-storage 1-2:1.2
[1183973.638367] cdc_acm 1-2:1.3: ttyACM0: USB ACM device
[1183973.654625] rndis_host 1-2:1.0 XXXXXX: renamed from eth0
[1183973.677832] IPv6: ADDRCONF(NETDEV_UP): XXXXXX: link is not ready
[1183974.634914] scsi 9:0:0:0: Direct-Access     Linux    File-Stor Gadget 0414 PQ: 0 ANSI: 2
[1183974.635439] sd 9:0:0:0: Attached scsi generic sg3 type 0
[1183974.635986] sd 9:0:0:0: [sdc] 61441 512-byte logical blocks: (31.5 MB/30.0 MiB)
[1183974.636300] sd 9:0:0:0: [sdc] Write Protect is off
[1183974.636304] sd 9:0:0:0: [sdc] Mode Sense: 0f 00 00 00
[1183974.636486] sd 9:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[1183974.641359]  sdc: sdc1
[1183974.642984] sd 9:0:0:0: [sdc] Attached SCSI removable disk


Humm iio doesn't seem to work.

dom@db-linux ~/Desktop $ iio_info -s
iio_info: invalid option -- 's'
dom@db-linux ~/Desktop $ iio_info -u 0456:b673
Library version: 0.14 (git tag: v0.14)
Invalid VID/PID

Grabbed the gr-iio block from AD but seems I have other stuff missing.

dom@db-linux ~ $ mkdir sdrradio
dom@db-linux ~ $ cd sdrradio/
dom@db-linux ~/sdrradio $ git clone https://github.com/analogdevicesinc/gr-iio.git
Cloning into 'gr-iio'...
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 1759 (delta 2), reused 12 (delta 1), pack-reused 1743
Receiving objects: 100% (1759/1759), 351.69 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1208/1208), done.
Checking connectivity... done.
dom@db-linux ~/sdrradio $ ls
gr-iio
dom@db-linux ~/sdrradio $ cd gr-iio/
dom@db-linux ~/sdrradio/gr-iio $ ls
appveyor.yml  ci  cmake  CMakeLists.txt  COPYING  gnuradio-iio.pc.in  grc  iio-examples  include  lib  MANIFEST.md  python  swig
dom@db-linux ~/sdrradio/gr-iio $ mkdir build
dom@db-linux ~/sdrradio/gr-iio $ cd build/
dom@db-linux ~/sdrradio/gr-iio/build $ cmake ../
-- The CXX compiler identification is GNU 5.4.0
-- The C compiler identification is GNU 5.4.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
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
--   system
--   thread
--   date_time
--   chrono
--   atomic
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.11")
CMake Error at CMakeLists.txt:125 (find_package):
  Could not find a package configuration file provided by "Gnuradio" with any
  of the following names:

    GnuradioConfig.cmake
    gnuradio-config.cmake

  Add the installation prefix of "Gnuradio" to CMAKE_PREFIX_PATH or set
  "Gnuradio_DIR" to a directory containing one of the above files.  If
  "Gnuradio" provides a separate development package or SDK, be sure it has
  been installed.


-- Configuring incomplete, errors occurred!
See also "/home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeOutput.log".
See also "/home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeError.log".
dom@db-linux ~/sdrradio/gr-iio/build $ apt install gnuradio-dev
[sudo] password for dom:
Sorry, try again.
[sudo] password for dom:
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following additional packages will be installed:
  libcppunit-1.13-0v5 libcppunit-dev liblog4cpp5-dev
Suggested packages:
  libcppunit-doc
The following NEW packages will be installed
  gnuradio-dev libcppunit-1.13-0v5 libcppunit-dev liblog4cpp5-dev
0 to upgrade, 4 to newly install, 0 to remove and 303 not to upgrade.
Need to get 687 kB of archives.
After this operation, 7,480 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libcppunit-1.13-0v5 amd64 1.13.2-2.1 [75.9 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libcppunit-dev amd64 1.13.2-2.1 [134 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial/universe amd64 liblog4cpp5-dev amd64 1.0-4.1 [113 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial/universe amd64 gnuradio-dev amd64 3.7.9.1-2ubuntu1 [364 kB]
Fetched 687 kB in 0s (2,462 kB/s)    
Selecting previously unselected package libcppunit-1.13-0v5:amd64.
(Reading database ... 424088 files and directories currently installed.)
Preparing to unpack .../libcppunit-1.13-0v5_1.13.2-2.1_amd64.deb ...
Unpacking libcppunit-1.13-0v5:amd64 (1.13.2-2.1) ...
Selecting previously unselected package libcppunit-dev.
Preparing to unpack .../libcppunit-dev_1.13.2-2.1_amd64.deb ...
Unpacking libcppunit-dev (1.13.2-2.1) ...
Selecting previously unselected package liblog4cpp5-dev.
Preparing to unpack .../liblog4cpp5-dev_1.0-4.1_amd64.deb ...
Unpacking liblog4cpp5-dev (1.0-4.1) ...
Selecting previously unselected package gnuradio-dev.
Preparing to unpack .../gnuradio-dev_3.7.9.1-2ubuntu1_amd64.deb ...
Unpacking gnuradio-dev (3.7.9.1-2ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libcppunit-1.13-0v5:amd64 (1.13.2-2.1) ...
Setting up libcppunit-dev (1.13.2-2.1) ...
Setting up liblog4cpp5-dev (1.0-4.1) ...
Setting up gnuradio-dev (3.7.9.1-2ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
dom@db-linux ~/sdrradio/gr-iio/build $ cmake ../
-- Build type not specified: defaulting to release.
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
--   system
--   thread
--   date_time
--   chrono
--   atomic
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
Checking for GNU Radio Module: RUNTIME
-- Checking for module 'gnuradio-runtime'
--   Found gnuradio-runtime, version 3.7.9
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_RUNTIME: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so 
GNURADIO_RUNTIME_FOUND = TRUE
Checking for GNU Radio Module: ANALOG
-- Checking for module 'gnuradio-analog'
--   Found gnuradio-analog, version 3.7.9
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-analog.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/libvolk.so
-- Found GNURADIO_ANALOG: /usr/lib/x86_64-linux-gnu/libgnuradio-analog.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so;/usr/lib/x86_64-linux-gnu/libvolk.so 
GNURADIO_ANALOG_FOUND = TRUE
Checking for GNU Radio Module: BLOCKS
-- Checking for module 'gnuradio-blocks'
--   Found gnuradio-blocks, version 3.7.9
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-blocks.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_BLOCKS: /usr/lib/x86_64-linux-gnu/libgnuradio-blocks.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so 
GNURADIO_BLOCKS_FOUND = TRUE
Checking for GNU Radio Module: PMT
-- Checking for module 'gnuradio-runtime'
--   Found gnuradio-runtime, version 3.7.9
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_PMT: /usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so 
GNURADIO_PMT_FOUND = TRUE
Checking for GNU Radio Module: VOLK
-- Checking for module 'volk'
--   Found volk, version 1.3
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libvolk.so
-- Found GNURADIO_VOLK: /usr/lib/x86_64-linux-gnu/libvolk.so 
GNURADIO_VOLK_FOUND = TRUE
-- Found FLEX: /usr/bin/flex (found version "2.6.0")
-- Found BISON: /usr/bin/bison (found suitable version "3.0.4", minimum required is "3.0.2")
--
-- Checking for module SWIG
-- Found SWIG version 3.0.8.
-- Found SWIG: /usr/bin/swig3.0 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.12", minimum required is "2")
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.12", minimum required is "2")
-- Performing Test HAVE_WNO_UNUSED_BUT_SET_VARIABLE
-- Performing Test HAVE_WNO_UNUSED_BUT_SET_VARIABLE - Success
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
AD9361_INCLUDE_DIRS
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
AD9361_LIBRARIES
    linked by target "gnuradio-iio" in directory /home/dom/sdrradio/gr-iio/lib
IIO_INCLUDE_DIRS
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
   used as include directory in directory /home/dom/sdrradio/gr-iio/lib
IIO_LIBRARIES
    linked by target "gnuradio-iio" in directory /home/dom/sdrradio/gr-iio/lib

-- Configuring incomplete, errors occurred!
See also "/home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeOutput.log".
See also "/home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeError.log".
dom@db-linux ~/sdrradio/gr-iio/build $
 ~/sdrradio/gr-iio/build $ cat /home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeError.log
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_12e3f/fast"
/usr/bin/make -f CMakeFiles/cmTC_12e3f.dir/build.make CMakeFiles/cmTC_12e3f.dir/build
make[1]: Entering directory '/home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_12e3f.dir/CheckSymbolExists.c.o
/usr/bin/cc     -o CMakeFiles/cmTC_12e3f.dir/CheckSymbolExists.c.o   -c /home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_12e3f
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_12e3f.dir/link.txt --verbose=1
/usr/bin/cc       CMakeFiles/cmTC_12e3f.dir/CheckSymbolExists.c.o  -o cmTC_12e3f -rdynamic
CMakeFiles/cmTC_12e3f.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x16): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_12e3f.dir/build.make:97: recipe for target 'cmTC_12e3f' failed
make[1]: *** [cmTC_12e3f] Error 1
make[1]: Leaving directory '/home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_12e3f/fast' failed
make: *** [cmTC_12e3f/fast] Error 2

File /home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include

int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_8c841/fast"
/usr/bin/make -f CMakeFiles/cmTC_8c841.dir/build.make CMakeFiles/cmTC_8c841.dir/build
make[1]: Entering directory '/home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_8c841.dir/CheckFunctionExists.c.o
/usr/bin/cc    -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_8c841.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.5/Modules/CheckFunctionExists.c
Linking C executable cmTC_8c841
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8c841.dir/link.txt --verbose=1
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_8c841.dir/CheckFunctionExists.c.o  -o cmTC_8c841 -rdynamic -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_8c841.dir/build.make:97: recipe for target 'cmTC_8c841' failed
make[1]: *** [cmTC_8c841] Error 1
make[1]: Leaving directory '/home/dom/sdrradio/gr-iio/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_8c841/fast' failed
make: *** [cmTC_8c841/fast] Error 2