Add udev Rules
sudo vi /etc/udev/rules.d/99-airspy.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60a1", MODE:="0666"
sudo udevadm control --reload-rules
Add udev Rules
sudo vi /etc/udev/rules.d/99-airspy.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60a1", MODE:="0666"
sudo udevadm control --reload-rules
If you want to compile dial_tone.cc outside of either the GR source tree or OOT module, this is the minimum required CMakeLists.txt (courtesy of Johnathan Corgan)
cmake_minimum_required(VERSION 2.6)
project(dialtone CXX)
find_package(Boost "1.35" COMPONENTS system)
set(GR_REQUIRED_COMPONENTS RUNTIME ANALOG AUDIO)
find_package(Gnuradio "3.7.2" REQUIRED)
include_directories(${GNURADIO_ALL_INCLUDE_DIRS})
add_executable(dialtone dial_tone.cc)
target_link_libraries(dialtone ${Boost_LIBRARIES} ${GNURADIO_ALL_LIBRARIES})
Add udev Rules for E310 Serial Console
sudo vi /etc/udev/rules.d/99-usrp-e310.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", MODE:="0666"
sudo udevadm control --reload-rules
Serial Console Login
Plug in power and wait a few seconds for E310 to boot, then plug in microUSB.
dmesg to figure out the assigned serial port (i.e. /dev/ttyUSB4)
screen /dev/ttyUSB4 115200
Login as root
Setting Static IP
vi /etc/network/interfaces
# Wired or wireless interfaces
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.14
netmask 255.255.255.0
gateway 192.168.1.1
iface eth1 inet dhcp
/etc/init.d/networking stop
/etc/init.d/networking stop
QT5
Prior to installation of gqrx make sure QT5 is available by installing the following:
qt5
qt5-devel
Pulse Audio
Prior to installation of gqrx make sure pulseaudio is available during build by installing the following:
pavucontrol
pavumeter
pulseaudio-libs-devel
Install gqrx
git clone https://github.com/csete/gqrx.git
cd gqrx
mkdir build
cd build
qmake-qt5 ..
make -j8
sudo make install
Typical device strings
For the b200:
uhd,type=b200,nchan=1
For the X310 with LFRX in slot 2:
uhd,addr=192.168.40.2,subdev=B:A,nchan=1
For the X310 with WBX in slot 1:
uhd,addr=192.168.40.2,nchan=1
For the N210 with LFRX:
uhd,addr=192.168.1.13,subdev=A:A,nchan=1
When switching between devices in gqrx the gain control changes will segfault the application. Fix this by deleting the “gains” section in:
~/.config/gqrx/default.conf
Sending gqrx audio to fldigi
Install fldigi with yum
Configure fldigi sound card to use pulseaudio, leaving server string empty
Launch pulseaudio volume control, and under recording tab, fldigi capture from monitor of built-in audio analog stereo, and set level to 0 dB.
Adjust fldigi waterfall upper signal level and signal range.
Using a Syba SD-PEX20122 (VLI VL80x chipset) PCIE USB 3.0 controller and 1 meter cable
Add udev Rules
sudo vi /etc/udev/rules.d/99-usrp-b200.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0020", MODE:="0666"
sudo udevadm control --reload-rules
Realtime Priority
sudo vi /etc/security/limits.conf
# Add for USRP realtime priority
myusername – rtprio 99
Will require re-login
Update Firmware
sudo /usr/local/lib64/uhd/utils/uhd_images_downloader.py
Probe
uhd_find_devices --args="type=b200"
Benchmark
cd /usr/local/lib64/uhd/examples
./benchmark_rate --rx_rate 45E6 --args "type=b200, master_clock_rate=45E6"
Install extra Fedora fonts
sudo yum install xorg-x11-fonts-misc
sudo yum install xorg-x11-fonts-ISO8859-1-75dpi
Reading data file from GNU Radio
GNU Radio file sink with input type complex writes IEEE 754 single-precision floats:
f = scipy.fromfile(open("filename"), dtype=scipy.complex64)
Baudline file raw parameters
Decompression: OFF
Initial byte offset: 0
Sample Rate: custom
Channels: 2
Quadrature: ON
Flip Complex: ON
Decode Format: 32 bit float, little endian
Normalization: 1 maximum sample value
Dynamic recording of files
Create a QT GUI Check Box with ID “Record” and set type to Boolean, and Default Value to False.
Create a variable with ID “file_name” and set Value to:
'data.bin' if Record==True else '/dev/null'
Create a File Sink with file “file_name”
Notes on setup of HDSDR software with the USRP N210 via the ExtIO interface
Instructions here
Configuration as of 7/23/2013
Window 7 64-bit
Ettus USRP N210 Rev 4
UHD 003.005.003 for Windows
UHD 003.005.000 for USRP
HDSDR 2.63
ExtIO USRP 1.5.1
Install UHD driver for Windows
Install uhd_003.005.003-release_Win64.exe from:
http://code.ettus.com/redmine/ettus/projects/uhd/wiki/UHD_Windows
This will place utility file in C:\Program Files (x86)\UHD\share\uhd\utils\
Install ExtIO compatible UHD for USRP
As of 7/23/2013 must use UHD 003.005.000 from:
http://files.ettus.com/binaries/master_images
Unzip and copy usrp_n210_fw.bin and usrp_n210_r4_fpga.bin to C:\Program Files (x86)\UHD\share\uhd\utils\
Open up a shell and cd to C:\Program Files (x86)\UHD\share\uhd\utils\
Run the following:
usrp_n2xx_simple_net_burner --addr 192.168.1.13 --fw usrp_n210_fw.bin --fpga usrp_n210_r4_fpga.bin
Install HDSDR
http://www.hdsdr.de/download/HDSDR_install.exe
Install ExtIO
http://spench.net/drupal/files/ExtIO_USRP+FCD+BorIP_Setup.zip
Update USRP firmware before returning to GNU Radio
Running usrp_n2xx_simple_net_burner.exe will download and update USRP with the the latest firmware
Windows shortcut
Install USRP ExtIO Firmware
"C:\Program Files (x86)\UHD\share\uhd\utils\usrp_n2xx_simple_net_burner.exe" --addr "192.168.1.13" --fw "usrp_n210_fw.bin" --fpga "usrp_n210_r4_fpga.bin"
Windows shortcut
Restore USRP Latest Firmware
"C:\Program Files (x86)\UHD\share\uhd\utils\usrp_n2xx_simple_net_burner.exe" --addr "192.168.1.13"
Changing the IP Address
The USRP N210 comes with a default IP address of 192.168.10.2 which may be changed (e.g. 192.168.1.13):
sudo /usr/local/lib64/uhd/utils/usrp2_recovery.py --ifc=em1 --new-ip=192.168.1.13
Increase Socket BUffers
sudo vi /etc/sysctl.conf
# Increase buffers for USRP
net.core.rmem_max=162149863
net.core.wmem_max=162149863
Realtime Priority
sudo vi /etc/security/limits.conf
# Add for USRP realtime priority
myusername - rtprio 99
Will require re-login
Updating N210 Firmware and FPGA
sudo /usr/local/lib64/uhd/utils/uhd_images_downloader.py
cd /usr/local/lib64/uhd/utils
./usrp_n2xx_net_burner.py --addr=192.168.1.13 --fw=/usr/local/share/uhd/images/usrp_n210_fw.bin
./usrp_n2xx_net_burner.py --addr=192.168.1.13 --fpga=/usr/local/share/uhd/images/usrp_n210_r4_fpga.bin
Cycle power on the USRP
Probe
uhd_usrp_probe --args "addr=192.168.1.13"
Benchmark
cd /usr/local/lib64/uhd/examples
./benchmark_rate --rx_rate 25E6 --tx_rate 25E6 --args "addr=192.168.1.13"
Fedora 29 x86_64 with Python 3.7
Instructions at http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide
Dependencies
Dependencies listed at http://gnuradio.org/doc/doxygen/build_guide.html
Add to .profile
export PYTHONPATH=/usr/local/lib64/python3.7/site-packages:/usr/local/lib/python3.7/dist-packages
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
Dependencies for UHD 3.14
sudo dnf install
git
cmake
boost-devel
boost-python3-devel
ncurses-devel
libudev-devel
libusbx-devel
python3-devel
python3-mako
Build UHD
cd /usr/local/src/
git clone https://github.com/EttusResearch/uhd.git
cd uhd/host/
mkdir build
cd build
cmake -DENABLE_PYTHON3=ON -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 -DRUNTIME_PYTHON_EXECUTABLE=/usr/bin/python3 ../
make
make test
sudo make install
Files will be installed in:
/usr/local/bin
/usr/local/include/uhd
/usr/local/lib64
Additional dependencies for GNU Radio 3.8
swig
python3-sphinx
fftw-devel
gsl-devel
gmp-devel
mpir-devel
qwt-qt5-devel
python3-qt5-devel
portaudio-devel
orc-devel
zeromq-devel
cppzmq-devel
python3-zmq
texlive-dvips
xmlto
log4cpp-devel
SDL-devel
python3-click-plugins
Reboot the machine as there is something screwed up with the linker finding log4cpp on Fedora 29
Build GNU Radio
cd /usr/local/src
git clone --recursive https://github.com/gnuradio/gnuradio.git
cd gnuradio
mkdir build
cd build
cmake -DENABLE_PYTHON3=ON -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 -DRUNTIME_PYTHON_EXECUTABLE=/usr/bin/python3 ../
make
make test
sudo make install
Update and rebuild
cd build
sudo make uninstall
cd ..
rm -rf build
git pull --recurse-submodules=on
git submodule update
mkdir build
cd build
cmake -DENABLE_PYTHON3=ON -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 -DRUNTIME_PYTHON_EXECUTABLE=/usr/bin/python3 ../
make
make test
sudo make install