Update.
I realized that the default UHD build on the N310 might not include support
for USB or B200. I confirmed this by running "uhd_config_info
--enabled-components". I then attempted to build UHD on the N310 (directly
on device rather than cross-compile) and after installing Mako (pip3
install Mako) and ruamel.yaml (pip3 install ruamel.yaml) I was able to run
cmake and then "make -j2". Unfortunately, the build did not complete (see
error below). Note that below this error message I also provided the cmake
command I used along with its output. Any suggestions for this error?
Rob
[ 13%] Building CXX object
lib/CMakeFiles/uhd.dir/convert/convert_with_neon.cpp.o
In file included from
/home/root/uhd/UHD-4.0/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-oe-linux-gnueabi/9.2.0/include/arm_neon.h: In member
function 'virtual void
__convert_fc32_1_sc16_item32_le_1_PRIORITY_SIMD::operator()(const
input_type&, const output_type&, size_t)':
/usr/lib/gcc/arm-oe-linux-gnueabi/9.2.0/include/arm_neon.h:6740:1: error:
inlining failed in call to always_inline 'float32x4_t
vdupq_n_f32(float32_t)': target specific option mismatch
6740 | vdupq_n_f32 (float32_t __a)
| ^~~~~~~~~~~
/home/root/uhd/UHD-4.0/uhd/host/lib/convert/convert_with_neon.cpp:27:33:
note: called from here
27 | float32x4_t Q0 = vdupq_n_f32(float(scale_factor));
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
***************************************
*** and lots more errors similar to this
*******************************************************
***************************************
*** Here is the cmake command along with the output (potential issues
highlighted in yellow)
*******************************************************
root@ni-n3xx-3144673:~/build_uhd# cmake ../uhd/UHD-4.0/uhd/host/
-DCMAKE_INSTALL_PREFIX=~/install_uhd -DENABLE_X300=OFF -DENABLE_USRP1=OFF
-DENABLE_USRP2=OFF -DENABLE_OCTOCLOCK=OFF -DENABLE_MANUAL=OFF
-DENABLE_MAN_PAGES=OFF -DENABLE_B100=OFF
-- The CXX compiler identification is GNU 9.2.0
-- The C compiler identification is GNU 9.2.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
--
-- Configuring the Python interpreter...
-- Python interpreter: /usr/bin/python3.7 Version: 3.7.6
-- Override with: -DPYTHON_EXECUTABLE=<path-to-python>
-- Python runtime interpreter: /usr/bin/python3.7 Version: 3.7.6
-- Override with: -DRUNTIME_PYTHON_EXECUTABLE=<path-to-python>
-- Finding Python Libraries...
-- Python Libraries: /usr/lib/libpython3.7m.so
-- Python include directories: /usr/include/python3.7m
-- Operating on release branch (UHD-4.0).
-- Using UHD Images Directory: /home/root/install_uhd/share/uhd/images
-- Build type not specified: defaulting to release.
-- Performing Test HAVE_VISIBILITY_HIDDEN
-- Performing Test HAVE_VISIBILITY_HIDDEN - Success
-- Performing Test HAVE_VISIBILITY_INLINES_HIDDEN
-- Performing Test HAVE_VISIBILITY_INLINES_HIDDEN - Success
--
-- Configuring Boost C++ Libraries...
--
-- Checking for Boost version 1.58 or greater
-- Looking for required Boost components...
-- Enabling Boost Error Code Header Only
-- Disabling boost::asio use of std::string_view
-- Boost version: 1.71.0
-- Boost include directories: /usr/include
-- Boost library directories: /usr/lib
-- Boost libraries:
Boost::chrono;Boost::date_time;Boost::filesystem;Boost::program_options;Boost::serialization;Boost::thread;Boost::unit_test_framework;Boost::system
-- Looking for Boost version 1.58 or greater - found
--
-- Python checking for Python version 3.5 or greater
-- Python checking for Python version 3.5 or greater - found
--
-- Python checking for Mako templates 0.4.2 or greater
-- Python checking for Mako templates 0.4.2 or greater - found
--
-- Python checking for requests 2.0 or greater
-- Python checking for requests 2.0 or greater - found
--
-- Python checking for numpy 1.11 or greater
-- Python checking for numpy 1.11 or greater - found
--
-- Python checking for ruamel.yaml 0.15 or greater
-- Python checking for ruamel.yaml 0.15 or greater - found
--
-- Configuring LibUHD support...
-- Dependency Boost_FOUND = TRUE
-- Dependency HAVE_PYTHON_MODULE_MAKO = TRUE
-- Enabling LibUHD support.
-- Override with -DENABLE_LIBUHD=ON/OFF
--
-- Configuring LibUHD - C API support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling LibUHD - C API support.
-- Override with -DENABLE_C_API=ON/OFF
--
-- Configuring LibUHD - Python API support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency HAVE_PYTHON_MODULE_NUMPY = TRUE
-- Dependency HAVE_PYTHON_LIBS = TRUE
-- Enabling LibUHD - Python API support.
-- Override with -DENABLE_PYTHON_API=ON/OFF
--
-- Configuring Examples support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling Examples support.
-- Override with -DENABLE_EXAMPLES=ON/OFF
--
-- Configuring Utils support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling Utils support.
-- Override with -DENABLE_UTILS=ON/OFF
--
-- Configuring Tests support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling Tests support.
-- Override with -DENABLE_TESTS=ON/OFF
--
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Looking for libusb_handle_events_timeout_completed
-- Looking for libusb_handle_events_timeout_completed - found
-- Looking for libusb_error_name
-- Looking for libusb_error_name - found
-- Looking for libusb_strerror
-- Looking for libusb_strerror - found
-- Found LIBUSB: /lib/libusb-1.0.so
-- Could NOT find DPDK (missing: DPDK_INCLUDE_DIRS DPDK_LIBRARIES)
(Required is exact version "18.11")
--
-- Configuring USB support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency LIBUSB_FOUND = TRUE
-- Enabling USB support.
-- Override with -DENABLE_USB=ON/OFF
--
-- Configuring B100 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_USB = ON
-- Disabling B100 support.
-- Override with -DENABLE_B100=ON/OFF
--
-- Configuring B200 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_USB = ON
-- Enabling B200 support.
-- Override with -DENABLE_B200=ON/OFF
--
-- Configuring USRP1 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_USB = ON
-- Disabling USRP1 support.
-- Override with -DENABLE_USRP1=ON/OFF
--
-- Configuring USRP2 support...
-- Dependency ENABLE_LIBUHD = ON
-- Disabling USRP2 support.
-- Override with -DENABLE_USRP2=ON/OFF
--
-- Configuring X300 support...
-- Dependency ENABLE_LIBUHD = ON
-- Disabling X300 support.
-- Override with -DENABLE_X300=ON/OFF
--
-- Configuring MPMD support...
-- Dependency ENABLE_LIBUHD = ON
-- Enabling MPMD support.
-- Override with -DENABLE_MPMD=ON/OFF
--
-- Configuring N300 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_MPMD = ON
-- Enabling N300 support.
-- Override with -DENABLE_N300=ON/OFF
--
-- Configuring N320 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_MPMD = ON
-- Enabling N320 support.
-- Override with -DENABLE_N320=ON/OFF
--
-- Configuring E320 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_MPMD = ON
-- Enabling E320 support.
-- Override with -DENABLE_E320=ON/OFF
--
-- Configuring E300 support...
-- Dependency ENABLE_LIBUHD = ON
-- Dependency ENABLE_MPMD = ON
-- Enabling E300 support.
-- Override with -DENABLE_E300=ON/OFF
--
-- Configuring OctoClock support...
-- Dependency ENABLE_LIBUHD = ON
-- Disabling OctoClock support.
-- Override with -DENABLE_OCTOCLOCK=ON/OFF
--
-- Configuring DPDK support...
-- Dependency ENABLE_MPMD = ON
-- Dependency DPDK_FOUND = FALSE
-- Disabling DPDK support.
-- Override with -DENABLE_DPDK=ON/OFF
--
-- Looking for C++ include emmintrin.h
CMake Warning (dev) at
/usr/share/cmake-3.15/Modules/CheckIncludeFileCXX.cmake:79 (message):
Policy CMP0075 is not set: Include file check macros honor
CMAKE_REQUIRED_LIBRARIES. Run "cmake --help-policy CMP0075" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
CMAKE_REQUIRED_LIBRARIES is set to:
/lib/libusb-1.0.so
For compatibility with CMake 3.11 and below this check is ignoring it.
Call Stack (most recent call first):
lib/convert/CMakeLists.txt:25 (CHECK_INCLUDE_FILE_CXX)
lib/CMakeLists.txt:46 (include)
lib/CMakeLists.txt:87 (INCLUDE_SUBDIRECTORY)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Looking for C++ include emmintrin.h - not found
-- Looking for C++ include arm_neon.h
-- Looking for C++ include arm_neon.h - found
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
--
-- Configuring priority scheduling...
-- Performing Test HAVE_PTHREAD_SETSCHEDPARAM
-- Performing Test HAVE_PTHREAD_SETSCHEDPARAM - Success
-- Performing Test HAVE_WIN_SETTHREADPRIORITY
-- Performing Test HAVE_WIN_SETTHREADPRIORITY - Failed
-- Priority scheduling supported through pthread_setschedparam.
-- Performing Test HAVE_PTHREAD_SETNAME
-- Performing Test HAVE_PTHREAD_SETNAME - Success
-- Setting thread names is supported through pthread_setname_np.
-- Performing Test HAVE_PTHREAD_SETAFFINITY_NP
-- Performing Test HAVE_PTHREAD_SETAFFINITY_NP - Success
-- Performing Test HAVE_WIN_SETTHREADAFFINITYMASK
-- Performing Test HAVE_WIN_SETTHREADAFFINITYMASK - Failed
-- Setting thread affinity is supported through pthread_setaffinity_np.
--
-- Configuring module loading...
-- Performing Test HAVE_DLOPEN
-- Performing Test HAVE_DLOPEN - Success
-- Performing Test HAVE_LOAD_LIBRARY
-- Performing Test HAVE_LOAD_LIBRARY - Failed
-- Module loading supported through dlopen.
--
-- USB support enabled via libusb.
--
-- Configuring interface address discovery...
-- Performing Test HAVE_GETIFADDRS
-- Performing Test HAVE_GETIFADDRS - Success
-- Looking for C++ include winsock2.h
-- Looking for C++ include winsock2.h - not found
-- Interface address discovery supported through getifaddrs.
-- Looking for C++ include atlbase.h
-- Looking for C++ include atlbase.h - not found
--
-- Loading build info.
-- Found Curses: /usr/lib/libcurses.so
-- Performing Test HAVE_C99_STRUCTDECL
-- Performing Test HAVE_C99_STRUCTDECL - Success
--
-- Adding B2XX device test target
-- Adding E3XX device test target
-- Adding N3XX device test target
-- Adding E32x device test target
--
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
--
-- Configuring Manual support...
-- Dependency DOXYGEN_FOUND = NO
-- Disabling Manual support.
-- Override with -DENABLE_MANUAL=ON/OFF
--
-- Configuring API/Doxygen support...
-- Dependency DOXYGEN_FOUND = NO
-- Disabling API/Doxygen support.
-- Override with -DENABLE_DOXYGEN=ON/OFF
--
-- Found GZip: /bin/gzip
--
-- Compressed Man Pages enabled
-- Override with -DENABLE_MAN_PAGE_COMPRESSION=ON/OFF
--
-- Configuring Man Pages support...
-- Dependency NOT_WIN32 = TRUE
-- Dependency GZIP_FOUND = TRUE
-- Disabling Man Pages support.
-- Override with -DENABLE_MAN_PAGES=ON/OFF
--
-- Python checking for virtualenv
-- Python checking for virtualenv - "assert hasattr(sys, 'real_prefix')"
failed
-- Utilizing the python install directory:
/home/root/install_uhd/lib/python3.7/site-packages
--
-- ######################################################
-- # UHD enabled components
-- ######################################################
-- * LibUHD
-- * LibUHD - C API
-- * LibUHD - Python API
-- * Examples
-- * Utils
-- * Tests
-- * USB
-- * B200
-- * MPMD
-- * N300
-- * N320
-- * E320
-- * E300
--
-- ######################################################
-- # UHD disabled components
-- ######################################################
-- * B100
-- * USRP1
-- * USRP2
-- * X300
-- * OctoClock
-- * DPDK
-- * Manual
-- * API/Doxygen
-- * Man Pages
--
-- Building version: 4.0.0.0-25-g1a34ba8a
-- Using install prefix: /home/root/install_uhd
-- Configuring done
-- Generating done
-- Build files have been written to: /home/root/build_uhd
root@ni-n3xx-3144673:~/build_uhd#
On Fri, Dec 4, 2020 at 11:26 AM Rob Kossler <[email protected]> wrote:
> Hi,
> I'm wondering if/how I can control a B2xx device from an N310. I use the
> B2xx as an LO for shared LO operations from an N310. Presently, I use a
> laptop to control my B200mini, but I am wondering if this control can be
> done directly from the N310. I realize that the N310 USB port is not USB3
> but since my streaming rates for a CW tone are as slow as possible,
> hopefully that won't matter.
>
> I have connected the B200mini to the N310 USB port, but I can't see the
> B200mini when I run uhd_find_devices. I have copied the B2xx FPGA images
> to the /usr/share/uhd/images/ folder and I have copied the file
> uhd-usrp.rules to the /etc/udev/rules.d/ folder and rebooted the N310, but
> still no luck.
>
> The following is the output of the "lsusb" and "uhd_find_devices"
> commands. The "lsusb" command shows the presence of the Cypress device,
> but the device is still not found.
>
> Suggestions?
> Rob
>
> root@ni-n3xx-3144673:~# lsusb
> Bus 001 Device 003: ID 2500:0021 Cypress WestBridge
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> root@ni-n3xx-3144673:~# uhd_find_devices
> [INFO] [UHD] linux; GNU C++ version 9.2.0; Boost_107100;
> UHD_4.0.0.0-0-g90ce6062
> --------------------------------------------------
> -- UHD Device 0
> --------------------------------------------------
> Device Address:
> serial: 3144673
> claimed: False
> mgmt_addr: 127.0.0.1
> product: n310
> type: n3xx
>
>
> root@ni-n3xx-3144673:~#
>
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com