因为工作中要使用 USRP E310 ,于是研究了一下USRP的连接和基本使用。
初始化
USRP E310 主要支持两种接口进行远程:
- 串口
- 千兆网口
串口连接
sudo screen /dev/ttyUSB0 115200
网口连接稍微复杂一点,需要给 E310 配置一个ip,或者通过网口将 E310 接入路由器或者交换机,通过 DHCP 自动分配 ip。我选择是将 E310 直接设置成 static ip。首先,通过串口连接 E310,然后编辑 etc/network/interfaces 文件
vi /etc/network/interfaces
编辑如下(记得把 inet 后边由 DHCP 改成 static)
这样 E310 就有了一个固定的 ip 192.168.10.2,每次开关机就不需要再重新配置 ip了。
设置本机地址
ifconfig eth0 ip 192.168.10.3 netmask 255.255.255.0
然后通过 ssh 连接 E310
ssh root@192.168.10.2
这样就可以通过网口 ssh 进 E310 了。
运行
```bash
root@ettus-e3xx-sg3:~# uhd_find_devices
linux; GNU C++ version 4.9.2; Boost_105700; UHD_003.009.002-0-unknown
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
type: e3x0
node: /dev/axi_fpga
name:
serial: 31C02C8
product: 30675
```
发现 E310 预装的 UHD 版本为 3.9.2 (开发主机需要与从机 E310 的 UHD 版本号一致)
运行 uhd_usrp_probe,输出
root@ettus-e3xx-sg3:~# uhd_usrp_probe
linux; GNU C++ version 4.9.2; Boost_105700; UHD_003.009.002-0-unknown
-- Loading FPGA image: /usr/share/uhd/images/usrp_e310_fpga_sg3.bit... done
-- Detecting internal GPSDO .... found
-- Initializing core control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Setting time source to internal
-- Asking for clock rate 16 MHz
-- Actually got clock rate 16 MHz
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
_____________________________________________________
/
| Device: E-Series Device
| _____________________________________________________
| /
| | Mboard: E3XX
| | product: 30675
| | revision: 9
| | serial: 31C02C8
| | mac-addr: 00:80:2f:28:ad:85
| | FPGA Version: 14.0
| |
| | Time sources: none, internal, external, gpsdo
| | Clock sources: internal
| | Sensors: temp, ref_locked, gps_locked, gps_time, gps_position, gps_gpgga, gps_gprmc
| | _____________________________________________________
| | /
| | | RX DSP: 0
| | | Freq range: -8.000 to 8.000 MHz
| | _____________________________________________________
| | /
| | | RX DSP: 1
| | | Freq range: -8.000 to 8.000 MHz
| | _____________________________________________________
| | /
| | | RX Dboard: A
| | | ID: E310 MIMO XCVR (0x0110)
| | | Serial: 31B1A4A
| | | _____________________________________________________
| | | /
| | | | RX Frontend: A
| | | | Name: FE-RX2
| | | | Antennas: TX/RX, RX2
| | | | Sensors: temp, rssi, lo_locked
| | | | Freq range: 50.000 to 6000.000 MHz
| | | | Gain range PGA: 0.0 to 76.0 step 1.0 dB
| | | | Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | RX Frontend: B
| | | | Name: FE-RX1
| | | | Antennas: TX/RX, RX2
| | | | Sensors: temp, rssi, lo_locked
| | | | Freq range: 50.000 to 6000.000 MHz
| | | | Gain range PGA: 0.0 to 76.0 step 1.0 dB
| | | | Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | RX Codec: A
| | | | Name: E3x0 RX dual ADC
| | | | Gain Elements: None
| | _____________________________________________________
| | /
| | | TX DSP: 0
| | | Freq range: -8.000 to 8.000 MHz
| | _____________________________________________________
| | /
| | | TX DSP: 1
| | | Freq range: -8.000 to 8.000 MHz
| | _____________________________________________________
| | /
| | | TX Dboard: A
| | | ID: E310 MIMO XCVR (0x0110)
| | | Serial: 31B1A4A
| | | _____________________________________________________
| | | /
| | | | TX Frontend: A
| | | | Name: FE-TX2
| | | | Antennas: TX/RX
| | | | Sensors: temp, lo_locked
| | | | Freq range: 50.000 to 6000.000 MHz
| | | | Gain range PGA: 0.0 to 89.8 step 0.2 dB
| | | | Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | TX Frontend: B
| | | | Name: FE-TX1
| | | | Antennas: TX/RX
| | | | Sensors: temp, lo_locked
| | | | Freq range: 50.000 to 6000.000 MHz
| | | | Gain range PGA: 0.0 to 89.8 step 0.2 dB
| | | | Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | TX Codec: A
| | | | Name: E3x0 TX dual DAC
| | | | Gain Elements: None
-- Loading FPGA image: /usr/share/uhd/images/usrp_e3xx_fpga_idle_sg3.bit... done
FPGA 的固件版本号为 usrp_e310_fpga_sg3.bit 。
然后,运行一个示例小程序
root@ettus-e3xx-sg3:~# ./rx_ascii_art_dft --freq 99e6 --rate 5e6 --gain 20 --bw 5e6 --ref-lvl -50
运行结果如下:
驱动安装
USRP 需要进行主机端的驱动 UHD 、开发软件 Gnuradio 分别进行安装以及固件刷新。因此,USRP 出厂时候的固件版本一般都比较低,因此官方强烈建议,拿到 USRP 后要对固件代码进行更新,才可以进行开发。安装过程中主要参考官方说明。
这部分比较容易,按照官方的说明一步一步操作就可以安装完毕。但是,这里隐藏着一个问题,就是编译驱动代码的时候要选择合适的版本号,因此 USRP 必须要保证主机端和 USRP 的 UHD版本一致才行。
对于 Ubuntu 18.04 LTS 系统,首先安装依赖包
sudo apt-get -y install git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.14-0 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev python-wxgtk3.0 git libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default qt4-dev-tools libusb-1.0-0-dev libqwtplot3d-qt5-dev pyqt4-dev-tools python-qwt5-qt4 cmake git wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq3-dev libzmq5 python-requests python-sphinx libcomedi-dev python-zmq libqwt-dev libqwt6abi1 python-six libgps-dev libgps23 gpsd gpsd-clients python-gps python-setuptools
接着创建工作目录
cd $HOME
mkdir workarea
cd workarea
从 github 克隆源代码
git clone https://github.com/EttusResearch/uhd
cd uhd
选择版本
git tag -l
git checkout v3.15.0.0
我选择的是最新版本 v3.15.0.0 。 然后编译安装
cd host
mkdir build
cd build
cmake ../
make
验证编译是否成功
make test
最后安装
sudo make install
sudo ldconfig
然后在 $HOME/.bashrc 设置环境变量
export LD_LIBRARY_PATH=/usr/local/lib
验证是否安装成功,运行命令
uhd_find_devices
打印
[INFO] [UHD] linux; GNU C++ version 7.5.0; Boost_106501; UHD_3.15.0.HEAD-0-gaea0e2de
No UHD Devices Found
Gnuradio 安装
Gnuradio 安装的时候也要进行版本选择,我根据嵌入式端的 USRP v3.15.0.0 (具体请看后面的刷固件部分) 安装的 Gnuradio 版本号 (在嵌入式系统里运行)来选择主机安装 Gnuradio的版本号,这样就可以保证主机和 E310 的版本号一致了。
root@ni-e31x-31C02C4:/usr/share/uhd/images# gnuradio-config-info --version
3.7.13.5
编译与安装
cd $HOME
cd workarea
git clone --recursive https://github.com/gnuradio/gnuradio
cd gnuradio
git checkout v3.7.13.5
git submodule update --init --recursive
mkdir build
cd build
cmake ../
make
make test
sudo make install
sudo ldconfig
验证是否安装成功
gnuradio-config-info --version
gnuradio-config-info --prefix
gnuradio-config-info --enabled-components
然后可以运行一个拨号程序
python $HOME/workarea/gnuradio/gr-audio/examples/python/dial_tone.py
启动 Gnuradio
gnuradio-companion
刷固件
这部分我折腾了好久,网上相关资料也比较少,也许大家都没遇到我的各种问题?
首先,需要下载对应 USRP 的型号的 IMAGE 文件,这个 IMAGE 文件包含 UBOOT 以及一个嵌入式的操作系统。官方给出了一个命令来下载镜像文件。
$ sudo uhd_images_downloader -t sdimg -t e310
但是这个在我的电脑里尝试多次均以失败告终。一开始下载总报错,发现是没有在命令中输入 sudo ,没有写权限。后来虽然可以下载了,但是下载速度超慢,最后报错终止。无奈选择直接从官方网站上下载。官方网站提供了全系统的 USRP 的各种版本的镜像文件。需要注意的是 USRP E310 需要下载 sg1 (speed grade 1) 结尾的 img 文件, USRP E312 需要下载 sg3 (speed grade 3) 结尾的 img 文件。我下载的镜像文件为 e3xx_e310_sg3_sdimg_default-v3.15.0.0.zip (实际开发时选择的是带有锂电池的 E312 进行开发)。
另外可以运行得到当前 UHD 版本下的所有bit 文件和 image 文件的下载网址。
uhd_images_downloader --url-only --list-targets
[INFO] Images destination: /usr/local/share/uhd/images
http://files.ettus.com/binaries/cache/x3xx/fpga-fde2a94eb/x3xx_x310_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/x3xx/fpga-fde2a94eb/x3xx_x300_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/e3xx/fpga-fde2a94eb/e3xx_e310_sg1_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/e3xx/fpga-fde2a94eb/e3xx_e310_sg3_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/e3xx/fpga-fde2a94eb/e3xx_e320_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e310_sdk_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e310_sg1_mender_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e310_sg1_sdimg_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e310_sg3_mender_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e310_sg3_sdimg_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e320_sdk_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e320_mender_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e320_sdimg_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/n3xx/fpga-fde2a94eb/n3xx_n310_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/n3xx/fpga-fde2a94eb/n3xx_n300_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/n3xx/fpga-fde2a94eb/n3xx_n320_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/n3xx/fpga-6bea23d/n3xx_n310_cpld_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/n3xx/fpga-4bc2c6f/n3xx_n320_cpld_default-g4bc2c6f.zip
http://files.ettus.com/binaries/cache/n3xx/meta-ettus-v3.15.0.0/n3xx_common_sdk_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/n3xx/meta-ettus-v3.15.0.0/n3xx_common_mender_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/n3xx/meta-ettus-v3.15.0.0/n3xx_common_sdimg_default-v3.15.0.0.zip
http://files.ettus.com/binaries/cache/b2xx/fpga-fde2a94eb/b2xx_b200_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/b2xx/fpga-fde2a94eb/b2xx_b200mini_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/b2xx/fpga-fde2a94eb/b2xx_b210_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/b2xx/fpga-fde2a94eb/b2xx_b205mini_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/b2xx/uhd-2bdad498/b2xx_common_fw_default-g2bdad498.zip
http://files.ettus.com/binaries/cache/usrp2/fpga-6bea23d/usrp2_usrp2_fw_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/usrp2/fpga-6bea23d/usrp2_usrp2_fpga_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/usrp2/fpga-6bea23d/usrp2_n200_fpga_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/usrp2/fpga-6bea23d/usrp2_n200_fw_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/usrp2/fpga-6bea23d/usrp2_n210_fpga_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/usrp2/fpga-6bea23d/usrp2_n210_fw_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/n230/fpga-fde2a94eb/n230_n230_fpga_default-gfde2a94e.zip
http://files.ettus.com/binaries/cache/usrp1/fpga-6bea23d/usrp1_usrp1_fpga_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/usrp1/fpga-6bea23d/usrp1_b100_fpga_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/usrp1/fpga-6bea23d/usrp1_b100_fw_default-g6bea23d.zip
http://files.ettus.com/binaries/cache/octoclock/uhd-14000041/octoclock_octoclock_fw_default-g14000041.zip
http://files.ettus.com/binaries/cache/usb/uhd-14000041/usb_common_windrv_default-g14000041.zip
系统镜像文件大概有 800 多兆,下载完成后就可以把 IMAGE 文件刷到 TF 卡里。我在这里折腾了好几次都不成功,最后在 Ubuntu 下,通过系统自带的磁盘工具,将 TF 卡删除分区并进行格式化才成功(注意最好把 TF 卡格式成 Ext4 格式)。
然后运行
dmesg | tail
输出如下
[21265.575488] usb-storage 1-2:1.0: USB Mass Storage device detected
[21266.586983] scsi 0:0:0:0: Direct-Access Generic Mass-Storage 1.11 PQ: 0 ANSI: 2
[21266.588024] sd 0:0:0:0: Attached scsi generic sg0 type 0
[21267.299812] sd 0:0:0:0: [sdb] 31116288 512-byte logical blocks: (15.9 Gb/14.8 GiB)
[21267.302687] sdb: sdb1 sdb2 sdb3 sdb4
或者运行
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 14.9G 0 disk
├─sdb1 8:17 1 16M 0 part /media/user/boot
├─sdb2 8:18 1 1.9G 0 part /media/user/primary
├─sdb3 8:19 1 1.9G 0 part /media/user/secondary
└─sdb4 8:20 1 11G 0 part /media/user/data
发现 TF 卡识别为 /dev/sdb, 输入命令
sudo dd if=usrp_e310_fs.sdimg of=/dev/sdb bs=1M
这个命令会运行很久很久......,一定要耐心等待,等成功后输出
记录了7352+0 的读入
记录了7352+0 的写出
7709130752 bytes (7.7 GB, 7.2 GiB) copied, 1203.16 s, 6.4 MB/s
然后把 TF 卡插入 USRP E312 中,看串口是否有打印信息,如果有打印信息并可以通过 root 用户进行登录,就成功了。
在嵌入式系统里运行 uhd_find_devices
root@ni-e31x-31C02C4:/usr/share/uhd/images# uhd_find_devices
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106800; UHD_3.15.0.0-0-gaea0e2de
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
serial: 31C02C4
claimed: False
mgmt_addr: 127.0.0.1
product: e310_sg3
type: e3xx
看是否可以找到设备,然后运行 uhd_usrp_probe 更新 bit 文件
root@ni-e31x-31C02C4:/usr/share/uhd/images# uhd_usrp_probe
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106800; UHD_3.15.0.0-0-gaea0e2de
[INFO] [MPMD] Initializing 1 device(s) in parallel with args: mgmt_addr=127.0.0.1,type=e3xx,product=e310_sg3,serial=31C02C4,claimed=False
[ 4881.445334] fpga_manager fpga0: writing e310_sg3.bin to Xilinx Zynq FPGA Manager
[ 4881.524061] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
[ 4881.534228] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /amba/spi@e0006000/status
[ 4881.544447] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /amba/spi@e0006000/cs-gpios
[ 4881.555651] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/spidev0
[ 4881.565448] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/devctrl
[ 4881.575210] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/charger
[ 4881.584974] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/battery
[ 4881.594686] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/tx_dma0
[ 4881.604452] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/tx_dma1
[ 4881.614208] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/tx_dma2
[ 4881.623963] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/tx_dma3
[ 4881.633721] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/rx_dma0
[ 4881.643486] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/rx_dma1
[ 4881.653251] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/rx_dma2
[ 4881.663015] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/rx_dma3
[ 4881.672772] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/usrp_rx_dma0
[ 4881.682971] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/usrp_rx_dma1
[ 4881.693163] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/usrp_rx_dma2
[ 4881.703359] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/usrp_rx_dma3
[ 4881.713554] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/usrp_tx_dma0
[ 4881.723750] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/usrp_tx_dma1
[ 4881.733943] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/usrp_tx_dma2
[ 4881.744133] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/usrp_tx_dma3
[ 4881.754320] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/dma_conf0
[ 4881.810767] rfnoc_crossbar crossbar0: NI Platform RFNoC Crossbar registered
[ 4881.843881] usrp-dma-core: Registered rx-dma0
[ 4881.857196] usrp-dma-core: Registered rx-dma1
[ 4881.864119] usrp-dma-core: Registered rx-dma2
[ 4881.876681] usrp-dma-core: Registered rx-dma3
[ 4881.890067] usrp-dma-core: Registered tx-dma0
[ 4881.908709] usrp-dma-core: Registered tx-dma1
[ 4881.919269] usrp-dma-core: Registered tx-dma2
[ 4881.928865] usrp-dma-core: Registered tx-dma3
[INFO] [MPM.PeriphManager] Found 1 daughterboard(s).
[INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000003310)
[INFO] [MPM.PeriphManager] init() called with device args `product=e310_sg3,mgmt_addr=127.0.0.1'.
[INFO] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000002)
[INFO] [0/Radio_0] Performing CODEC loopback test...
[INFO] [0/Radio_0] CODEC loopback test passed
[INFO] [0/Radio_0] Performing CODEC loopback test...
[INFO] [0/Radio_0] CODEC loopback test passed
_____________________________________________________
/
| Device: E300-Series Device
| _____________________________________________________
| /
| | Mboard: ni-e31x-31C02C4
| | mpm_version: 3.15.0.0-gaea0e2de
| | pid: 30675
| | product: e310_sg3
| | rev: 9
| | rpc_connection: local
| | serial: 31C02C4
| | type: e3xx
| | MPM Version: 1.2
| | FPGA Version: 1.0
| | FPGA git hash: fde2a94.clean
| | RFNoC capable: Yes
| |
| | Time sources: internal, external, gpsdo
| | Clock sources: internal
| | Sensors: gps_gpgga, ref_locked, gps_tpv, temp_mb, gps_locked, gps_sky, gps_time, temp_fpga
| | _____________________________________________________
| | /
| | | RX Dboard: A
| | | _____________________________________________________
| | | /
| | | | RX Frontend: 0
| | | | Name: E3xx
| | | | Antennas: RX2, TX/RX
| | | | Sensors: lo_locked, ad9361_temperature, lo_lock, rssi
| | | | Freq range: 70.000 to 6000.000 MHz
| | | | Gain range PGA: 0.0 to 76.0 step 1.0 dB
| | | | Bandwidth range: 20000000.0 to 40000000.0 step 0.0 Hz
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | RX Frontend: 1
| | | | Name: E3xx
| | | | Antennas: RX2, TX/RX
| | | | Sensors: lo_locked, ad9361_temperature, lo_lock, rssi
| | | | Freq range: 70.000 to 6000.000 MHz
| | | | Gain range PGA: 0.0 to 76.0 step 1.0 dB
| | | | Bandwidth range: 20000000.0 to 40000000.0 step 0.0 Hz
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | RX Codec: A
| | | | Name: AD9361 Dual ADC
| | | | Gain Elements: None
| | _____________________________________________________
| | /
| | | TX Dboard: A
| | | _____________________________________________________
| | | /
| | | | TX Frontend: 0
| | | | Name: E3xx
| | | | Antennas: TX/RX
| | | | Sensors: lo_locked, ad9361_temperature
| | | | Freq range: 47.000 to 6000.000 MHz
| | | | Gain range PGA: 0.0 to 89.8 step 0.2 dB
| | | | Bandwidth range: 20000000.0 to 40000000.0 step 0.0 Hz
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | TX Frontend: 1
| | | | Name: E3xx
| | | | Antennas: TX/RX
| | | | Sensors: lo_locked, ad9361_temperature
| | | | Freq range: 47.000 to 6000.000 MHz
| | | | Gain range PGA: 0.0 to 89.8 step 0.2 dB
| | | | Bandwidth range: 20000000.0 to 40000000.0 step 0.0 Hz
| | | | Connection Type: IQ
| | | | Uses LO offset: No
| | | _____________________________________________________
| | | /
| | | | TX Codec: A
| | | | Name: AD9361 Dual DAC
| | | | Gain Elements: None
| | _____________________________________________________
| | /
| | | RFNoC blocks on this device:
| | |
| | | * Radio_0
| | | * DDC_0
| | | * DUC_0
[ 4889.518957] usrp-dma-core: Deregistered tx-dma3
[ 4889.524130] usrp-dma-core: Deregistered tx-dma2
[ 4889.539404] usrp-dma-core: Deregistered tx-dma1
[ 4889.545810] usrp-dma-core: Deregistered tx-dma0
[ 4889.550845] usrp-dma-core: Deregistered rx-dma3
[ 4889.556833] usrp-dma-core: Deregistered rx-dma2
[ 4889.561835] usrp-dma-core: Deregistered rx-dma1
[ 4889.567763] usrp-dma-core: Deregistered rx-dma0
[ 4889.586239] fpga_manager fpga0: writing e310_sg3_idle.bin to Xilinx Zynq FPGA Manager
[ 4889.674675] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
[ 4889.685090] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/devctrl
[ 4889.694802] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/charger
[ 4889.704571] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/battery