Archive | February, 2013

USRP N210 and HDSDR Setup

10 Feb

Notes on setup of HDSDR software with the USRP N210 via the ExtIO interface

Instructions here

Click to access application_note_usrp_and_hdsdr_spectrum_monitoring.pdf

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"

Advertisement

Setting up the Ettus USRP N210

8 Feb

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

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.11):
./usrp_burn_mb_eeprom --args="addr=192.168.10.2" --values="ip-addr=192.168.1.11"

Increase Socket BUffers
sudo vi /etc/sysctl.conf
# Increase buffers for USRP
net.core.wmem_max=50000000
net.core.rmem_max=50000000
net.core.wmem_default=50000000
net.core.rmem_default=50000000

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
uhd_image_loader --args="type=usrp2,addr=192.168.1.11"

Cycle power on the USRP

Probe
uhd_usrp_probe --args "addr=192.168.1.11"

Benchmark
cd /usr/local/lib64/uhd/examples
./benchmark_rate --rx_rate 25E6 --tx_rate 25E6 --args "addr=192.168.1.11"

GNU Radio and Ettus UHD Build Notes

8 Feb

Fedora 36 x86_64 with Python 3.10
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.10/site-packages:/usr/local/lib/python3.10/dist-packages
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig

Dependencies for UHD 3.14
sudo dnf install
git
cmake
gcc-c++
boost-devel
ncurses-devel
dpdk-devel
libusb-devel
python-devel
doxygen

Build UHD
cd /usr/local/src/
git clone https://github.com/EttusResearch/uhd.git
cd uhd/host/
mkdir build
cd build
cmake ../
make
make test
sudo make install

Files will be installed in:
/usr/local/bin
/usr/local/include/uhd
/usr/local/lib64

pygccxml
sudo dnf install castxml
pip install pygccxml

Additional dependencies for GNU Radio 3.9
pybind11-devel
volk-devel
gmp-devel
mathjax
spdlog-devel
thrift-devel
python3-thrift
libunwind-devel
libsndfile-devel
fftw-devel
zeromq-devel
python3-zmq
cppzmq-devel
SDL-devel
gsl-devel
codec2-devel
gsm-devel
python3-click-plugins
portaudio-devel
qwt-qt5-devel
python3-qt5-devel
python3-pyqtgraph
python3-scipy
libiio-devel
python3-pytest
SoapySDR-devel
python3-jsonschem

Build GNU Radio
cd /usr/local/src
git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
mkdir build
cd build
cmake ../
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
make
make test
sudo make install

Fedora 35 x86_64 Linux Install Notes

7 Feb

Hardware Configuration
TBD

Hostname
sudo hostnamectl set-hostname tesla

Change to multi-user.target (e.g. runlevel 3)
sudo rm /etc/systemd/system/default.target
sudo ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Change GRUB
sudo vi /etc/default/grub and remove rhgb quiet
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Set XFCE
sudo dnf -y group install "Xfce Desktop"
touch ~/.xinitrc
echo "exec /usr/bin/xfce4-session" >> ~/.xinitrc
startx

Network Config
IPV4: manual
Address: 192.168.1.2
Netmask: 255.255.255.0
Gateway: 192.168.1.1
Nameserver: 192.168.1.1
IPV6: ignore

Update the System
sudo dnf update

<strong>Enable root Account
sudo passwd
</strong

Install Custom Shell Scripts
cp .bash_profile ~
cp .bashrc ~
cp .profile ~
cp .vimrc ~
sudo cp .bashrc /root

Directory Permissions
sudo chmod 777 /usr/local/src

Add Library Path to Linker
sudo vi /etc/ld.so.conf.d/usrlocal.conf
add /usr/local/lib
add /usr/local/lib64
sudo ldconfig

Firewall
sudo /usr/bin/firewall-config
Change default zone to internal
Trust services as required

Printer
sudo dnf install system-config-printer
sudo system-config-printer

Search for network printer at 192.168.1.4
Use DirectJet port
Choose driver for Brother HL-5170DN
Use BR-Script3

Sound
sudo usermod -a -G audio username

nm-applet
The nm-applet gives insufficent permission errors when changing WiFi due to startxfce4 instead of using a display manager. This will fix it:

sudo vi /etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("myusername")) {
return polkit.Result.YES;
}
});

(must reboot to take effect)