本文从安装好Ubuntu20.04系统说起,经历下述流程:

  1. 换源 北京外国语大学开源软件镜像站
  2. USRP-2974需要额外安装的驱动

    USRP-2974关于UHD的驱动安装 官方教程

    USRP-2974_Getting_Started_Guide
  3. UHD和GNU Radio安装教程

    UHD_and_GNU_Radio官网安装教程

    LinuxInstall GunRadio UHD官方教程

一、Ubuntu20.04更换apt源

方便更新和下载,这里是北京外国语大学开源软件镜像站(https://mirrors.bfsu.edu.cn/help/ubuntu/)。

  1. 首先,备份原来的源列表/etc/apt/sources.list
cd $HOME
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
  1. 然后,再打开sources.list文件修改 (可以用gedit、vim等来修改)(vim如果没有可以自行下载,怎么使用见。。。。。。)
sudo gedit /etc/apt/sources.list
  1. 将.list文档中(也就是上图)内容全部删除,替换成下面的代码(这里仅仅适用于Ubuntu 20.04 LTS,其他版本在这里北京外国语大学开源软件镜像站
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.bfsu.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.bfsu.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.bfsu.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.bfsu.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.bfsu.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.bfsu.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
  1. 保存关闭即可,换源成功

二、USRP-2974关于UHD的驱动另外需要的

USRP-2974 = 一个USRP X310 + 两个UBX-160板 + 一个GPSDO + 一个板载Intel i7计算机

 

事实上,就是需要USRP X310和板载Intel i7计算机相连,用计算机驱动X310另外需要安装的

 

USRP-2974预装了NI Linux RTOS,但为了与开源工具链一起使用,我们需要安装Linux(最好是Fedora或Ubuntu),然后安装USRP硬件驱动程序(UHD)。安装这些工具后,可以安装任何其他开源工具,例如GNU Radio。

USRP-2974_Getting_Started_Guide 这篇文章中的链接https://files.ettus.com/manual/page_ni_rio_kernel.html里,包含了如何安装USRP-2974关于UHD的驱动安装。

  1. 首先,下载NI Linux Device Drivers,并直接解压,在哪个目录无所谓只要能找到就行,我这里是在主文件夹,如左图。

    网站:https://www.ni.com/zh-cn/support/downloads/drivers/download.ni-linux-device-drivers.html#477925


  1. 接着,打开文件夹NILinux2023Q1DeviceDrivers,即可看到右图所示,粉色的都是.deb文件,这些文件我们将通过deb命令依次安装。

    命令sudo dpkg -i {ni drivers repository}.deb,将“{ni drivers repository}”替换成.deb的文件名即可。
cd NILinux2023Q1DeviceDrivers/
sudo dpkg -i ni-ubuntu2004-drivers-2023Q1.deb
sudo dpkg -i ni-ubuntu2004-drivers-stream.deb
sudo dpkg -i ni-ubuntu2204-drivers-2023Q1.deb
sudo dpkg -i ni-ubuntu2204-drivers-stream.deb
  1. 更新安装包信息
sudo apt update
  1. 安装kernel-headers
sudo apt install linux-headers-$(uname -r)

Note: 此步骤要确保安装kernel header版本是硬件对应版本的,命令uname -r可以看到自己的系统版本。笔者这里是5.15.0-60-generic

  1. 安装ni-usrp-rio
cd
sudo apt install ni-usrp-rio
  1. 用DKMS build kernel 模块
sudo dkms autoinstall

如果build出错,应该就是版本不对应。

  1. 重启
reboot

三、Ubuntu 20.04版本,安装gnu-radio3.8,以及UHD 3.15

想在硬件USRP上使用gnu-radio,就必须要安装UHD驱动。先安装UHD。

官网安装教程:https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux

从源码安装UHD 3.15

  1. 安装依赖包

注意: 不同ubuntu版本不一样,这里适用于Ubuntu 20.04(其它版本不同的依赖,官网安装教程可以找到)

 sudo apt-get -y install autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool fort77 g++ gir1.2-gtk-3.0 git gobject-introspection gpsd gpsd-clients inetutils-tools libasound2-dev libboost-all-dev libcomedi-dev libcppunit-dev libfftw3-bin libfftw3-dev libfftw3-doc libfontconfig1-dev libgmp-dev libgps-dev libgsl-dev liblog4cpp5-dev libncurses5 libncurses5-dev libpulse-dev libqt5opengl5-dev libqwt-qt5-dev libsdl1.2-dev libtool libudev-dev libusb-1.0-0 libusb-1.0-0-dev libusb-dev libxi-dev libxrender-dev libzmq3-dev libzmq5 ncurses-bin python3-cheetah python3-click python3-click-plugins python3-click-threading python3-dev python3-docutils python3-gi python3-gi-cairo python3-gps python3-lxml python3-mako python3-numpy python3-numpy-dbg python3-opengl python3-pyqt5 python3-requests python3-scipy python3-setuptools python3-six python3-sphinx python3-yaml python3-zmq python3-ruamel.yaml swig wget
  1. 创建一个安装文件夹

切换到主目录

cd $HOME

创建名为workare的文件夹

mkdir workarea

切换到workare目录

cd workarea
  1. 克隆文件,并切换到uhd目录
git clone https://github.com/EttusResearch/uhd
cd uhd
  1. 找到想要的uhd版本

输入git checkout v,连按三个Tab键可以看到所有的版本。

git checkout v3.15.0.0
  1. 正式进入安装流程
cd host
mkdir build
cd build // 运行CMAKE,准备makefile文件
cmake ..
// 编译程序,-j8意味着8线程运行,比较快
make -j8 // 测试程序(当然无误最好)
//(此步骤可省略,有时make test不通过是因为前面依赖没安装对,但是实际UHD和gnu-radio并不需要那些依赖,只不过test时需要)
make test // 安装程序
sudo make install
// 更新动态库的链接
sudo ldconfig
  1. 环境变量配置

打开$HOME/.bashrc文件

gedit $HOME/.bashrc

在文件末尾添加以下命令:

export LD_LIBRARY_PATH=/usr/local/lib

执行

source $HOME/.bashrc
  1. 测试成功安装
uhd_find_devices
  1. 下载UHD FPGA Images
sudo uhd_images_downloader

测试

uhd_usrp_probe


从源码安装GNU Radio3.8

GNU Radio不同版本安装有较大的不同,3.9和3.10安装时可参考 https://wiki.gnuradio.org/index.php?title=LinuxInstall 从这篇文章可以看出,3.9和3.10安装是需要先安装volk。

而3.8及以前不需要,可参考 https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux

  1. GNU Radio 3.8安装
// 切换目录
cd
cd workarea
// 下载资源
git clone --recursive https://github.com/gnuradio/gnuradio // 追踪3.8版本
cd gnuradio
git checkout maint-3.8
// 更新子模块
git submodule update --init --recursive // 创建目录,CMAKE,编译,测试,安装,更新动态库
mkdir build
cd build
cmake ../ make
make test //这里有个小错误不影响 sudo make install
sudo ldconfig
  1. 测试gnuradio是否安装成功
gnuradio-config-info --version
gnuradio-config-info --prefix
gnuradio-config-info --enabled-components

结果v3.8.5.0-6-g57bd109d/usr/local、一串

  1. 测试gnuradio的可视化工具 grc
gnuradio-companion

如果能打开就不用下面的

  1. 提示路径问题

打开$HOME/.bashrc文件

gedit $HOME/.bashrc

export PYTHONPATH=/usr/local/lib/python3/dist-packages添加到最后一行。

执行

source $HOME/.bashrc

再次执行gnuradio-compantion就可出现可视化界面。

Note: 官方文档里面是添加export PYTHONPATH=/usr/local/lib/python2.7/dist-packages,我们应该用python3而不是python3.9或者python2.7,事实上是python版本对应的问题,根据gnuradio版本就对应python。

至此UHD以及GNU Radio安装完毕。

参考文档:

https://mirrors.bfsu.edu.cn/help/ubuntu/

https://files.ettus.com/manual/page_ni_rio_kernel.html

https://kb.ettus.com/USRP-2974_Getting_Started_Guide

https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux

https://wiki.gnuradio.org/index.php?title=LinuxInstall

https://wiki.gnuradio.org/index.php?title=InstallingGRFromSource_on_Raspberry_Pi#Load_prerequisites

https://blog.csdn.net/luncky_dog/article/details/122350266

https://www.ni.com/zh-cn/support/downloads/drivers/download.ni-linux-device-drivers.html#477925

USRP-2974上安装Ubuntu20.04 + UHD 3.15 + GNU Radio 3.8 过程全记录的更多相关文章

  1. 在VirtualBox上安装Ubuntu-20.04

    本文主要介绍如何在VirtualBox上安装Ubuntu-20.04 目录 下载VirtualBox 下载Ubuntu-20.04镜像 新建虚拟机 第一步:打开VirtualBox 第二步:设置虚拟机 ...

  2. 华为Mate14上安装Ubuntu20.04纪要

    Ubuntu16.04用了将近五年了,已经好几年没折腾过系统,所以简要记录一下.   1. 关于UEFI分区,之前的笔记本UEFI是可选的(只是默认该模式),Bios里面还有其他选项.一般安装系统之前 ...

  3. Mac Mini 安装Ubuntu20.04 KVM

    在一台 Mac Mini mid 2011上安装Ubuntu20.04并配置KVM环境, 过程也适用于其他版本的Mac Mini. 硬件配置 I5 2415, 内存8G*2, 硬盘 SSD 500G ...

  4. 树莓派4b安装Ubuntu20.04

    树莓派4b安装Ubuntu20.04 下载Ubuntu20.04镜像 下载地址 安装Raspberry Pi Imager 下载地址 烧录系统 打开Raspberry Pi Imager,选择自己刚刚 ...

  5. Linux,在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统

    本文介绍如何在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统. 花了一天的时间终于安装上了Ubuntu14.04,过程坎坷,是血泪史,开始报“cannot ...

  6. 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录

    在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录 时间:2017年9月20日 一.软件环境: IP:192.168.1.71 Hostname:centos73-2.sur ...

  7. 在CentOS6上配置MHA过程全记录

    在CentOS6上配置MHA过程全记录 MHA(Master High Availability)是一款开源的MariaDB or MySQL高可用程序,为MariaDB or MySQL主从复制架构 ...

  8. SAP S4HANA1610/Fiori安装过程全记录

    经历各种坑,从硬件到文件,终于安装成功. 有需要安装或使用S4HANA(含Fiori)的同学可以参考. 安装文件分享给大家 链接:http://pan.baidu.com/s/1mi7LfIS 密码: ...

  9. windows上安装ubuntukylin16.04并且在ubuntukylin上安装jdk

    1.安装ubuntukylin16.04 教程链接:http://jingyan.baidu.com/article/f71d60379824041ab641d19d.html 我是完全按照这个教程来 ...

  10. 在Mac上安装Ubuntu14.04虚拟机

    1.在macOS High Sierras上安装VMware for mac 下载地址:VMware Fusion 8.5.1  https://pan.baidu.com/s/1skQ1OyL 2. ...

随机推荐

  1. Linux系统搭建单机MySQL8.0.26版本

    概述 本文主要是写Ubuntu22.04搭建MySQL8.0.26版本 环境信息 IP 系统 规格 10.0.0.10 Ubuntu22.04 2c4g 数据库服务安装步骤 下载前置依赖 # 下载li ...

  2. pikachu靶场的详细搭建,附pikachu靶场源码下载链接

    一.安装好phpstudy 首先搭建pikachu靶场的第一步,先是安装好phpstudy,这是一款集成环境的软件,里面包含了Apache,FTP,MySQL,Nginx.phpstudy的官方网址: ...

  3. 基于Vue3搭建ChantGPT前后端端源码及搭建教程-官方接口

    ChantGPT很多,网上很多说的ChantGPT搭建及源码都是假的,无法使用的,自己研究了好几天,搞定了基于Vue3搭建ChantGPT前后端端源码及搭建教程,现在分享出来,有喜欢的朋友自行下载搭建 ...

  4. 一套基于 Bootstrap 和 .NET Blazor 的开源企业级组件库

    前言 今天大姚给大家分享一套基于 Bootstrap 和 .NET Blazor 的开源企业级组件库:Bootstrap Blazor. 项目介绍 BootstrapBlazor 是一套基于 Boot ...

  5. [Redis] Redis (7) 连接与会话管理

    序:文由 因今日排查问题,发现微服务因 ERR max number of clients reached (已达到客户端的最大数量) redis异常,而导致服务在健康检测时未通过,进而导致高频宕机. ...

  6. 利用DeepSeek与Python自动生成测试用例!

    在当今快节奏的软件开发领域,自动化测试已然成为保障软件质量的中流砥柱.传统手动编写测试用例的方式,非但耗时费力,还极易遗漏关键场景. 所幸,AI 技术的飞速发展为我们带来了全新的解决方案.今天,就让我 ...

  7. MySQL聚集索引与辅助索引的区别

       聚集索引也称聚簇索引,英文为clustered index.从物理存储角度来分, 索引可以分为聚集索引和辅助索引(secondary index,也称作非聚簇索引),区别主要看叶子节点存了什么数 ...

  8. 论文解读:Aging with GRACE: Lifelong Model Editing with Discrete Key-Value Adapters

      论文发表于人工智能顶会NeurIPS(原文链接).当前的模型编辑器会因多次编辑损害模型性能,提出用于连续编辑的通用检索适配器(General Retrieval Adapters for Cont ...

  9. 制作语义分割数据集(VOC格式)

    环境:python3.8 labelme=5.0.1 1.使用labelme标注工具 直接在命令行安装或者在anaconda下面新建虚拟环境安装(避免污染环境,不用的时候可以直接delete该环境) ...

  10. [GESP样题 七级] 最长不下降子序列题解

    题目传送门 题目大意 给定一个有向图无环图\(G\),在这个图中寻找一条路径,是这条路径上的点权所组成的序列的最长不下降子序列的长度最长. 思路部分 解决无后效性 求一个有向无环图中的最长不下降子序列 ...