Xubuntu 22.04 LTS Linux Install Notes

25 Nov

Initial Install
Install from USB drive with minimal software
Do not download packages when installing
Reboot and attempt login (may get black screen after login due to bad Nvidia drivers).

Nvidia Driver Fix
Boot into safe mode
sudo apt update
sudo apt upgrade
sudo reboot now

Follow instructions for Ubuntu LTS at:
sudo reboot now

Boot to Console
sudo cp /etc/default/grub /etc/default/grub.backup
sudo vi /etc/default/grub

Uncomment GRUB_TERMINAL=console
Remove “quiet splash”
sudo update-grub
sudo systemctl set-default multi-user.target

Network Config
IPV4: manual
IPV6: ignore

Update the System
sudo apt update
sudo apt upgrade

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


sudo apt install system-config-printer
sudo system-config-printer

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

sudo usermod -a -G audio username


Sceptre on Fedora 36

17 Sep

sudo dnf install bzip2-devel
sudo ln -s /usr/lib64/libbz2.so.1.0.8 /usr/lib64/libbz2.so.1.0
sudo dnf install python2.7

Setting up Ettus USRP X300

18 Dec


Increase Socket Buffers
sudo vi /etc/sysctl.conf
# Increase buffers for USRP

Realtime Priority
sudo vi /etc/security/limits.conf
# Add for USRP realtime priority
myusername - rtprio 99

Will require re-login

Adjust Ethernet MTU

Note intervening switches need jumbo frames enabled.

Set CPU Performance
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Change GRUB
sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="pti=off spectre_v2=off l1tf=off nospec_store_bypass_disable no_stf_barrier"
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Updating Firmware and FPGA
uhd_usrp_probe --args "addr="
sudo /usr/local/lib64/uhd/utils/uhd_images_downloader.py
/usr/local/bin/uhd_image_loader --args="type=x300,addr="

Cycle power on the USRP

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

ALTAIR 8800micro Build

9 Jul

ALTAIR 8800micro kit from Briel Computers


Setting up the Airspy R2

4 Jun


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

CMakeLists.txt for dial_tone.cc

30 May

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)
find_package(Gnuradio "3.7.2" REQUIRED)


add_executable(dialtone dial_tone.cc)
target_link_libraries(dialtone ${Boost_LIBRARIES} ${GNURADIO_ALL_LIBRARIES})

Setting up the Ettus USRP E310

29 Jun

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
iface eth1 inet dhcp

/etc/init.d/networking stop


21 Dec

Pulse Audio
Prior to installation of gqrx make sure pulseaudio is available during build by installing the following:

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:

For the X310 with LFRX in slot 2:

For the X310 with WBX in slot 1:

For the N210 with LFRX:

When switching between devices in gqrx the gain control changes will segfault the application.  Fix this by deleting the “gains” section in:

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.

Sending gqrx audio to UDP

Streaming audio over UDP

Configure the network settings in the Network tab of the audio settings window:
UDP host: localhost
UDP port: 7355

Verify the data is coming through at the opposite end using netcat:
nc -l -u 7355
nc -l -u localhost 7355
nc -l -u 7355

Pipe the output of netcat to other applications.
The following example will send the audio to the ALSA player application:
nc -l -u 7355 | aplay -r 48k -f S16_LE -t raw -c 1

The following command line will re-sample the raw audio to 22.05 kHz and send it to multimon-ng and decode POCSAG data (thanks to André Schmelzer for this):
nc -l -u 7355 | \
sox -t raw -esigned-integer -b16 -r 48000 - -esigned-integer -b16 -r 22050 -t raw - | \
multimon-ng -t raw -a SCOPE -a POCSAG512 -a POCSAG1200 -a POCSAG2400 -f alpha -

Setting up NI GPIB-USB-HS under Linux

26 Jul

Mostly stolen from: http://www.cl.cam.ac.uk/~osc22/tutorials/gpib_usb_linux.html

Note unlike the ni_usb_b, this is the ni_usb_hs so no firmware has to be loaded at boot, thus gpib_config can be called directly.

Get latest source code

Typical build in /usr/local/src with
sudo make install

Edit configuration
sudo vi /etc/gpib.conf

board_type = "ni_usb_b"
name = "gpib0"

Add udev rules
sudo vi /etc/udev/rules.d/99-linux_gpib_ni_usb.rules

SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3923", ATTR{idProduct}=="709b", MODE="660", GROUP="username", SYMLINK+="usb_gpib"
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3923", ATTR{idProduct}=="709b", RUN+="/usr/local/sbin/gpib_config"
KERNEL=="gpib[0-9]*", ACTION=="add", MODE="660", GROUP="username"

sudo udevadm control –reload-rules

Note udev will not run the gpib_config at boot, so add it in rc.local
sudo vi /etc/rc.d/rc.local

exit 0

sudo chmod +x /etc/rc.d/rc.local
sudo systemctl enable rc-local.service
systemctl status rc-local.service

Now plug in the adapter and run ibtest
Reboot and run ibtest

Linux Multimedia

19 Jul

Logitech C615 HD Webcam
sudo vi /etc/udev/rules.d/99-webcam.rules

SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="082c", MODE:="0666"

sudo udevadm control --reload-rules

Dell XPS 13 Webcam
sudo vi /etc/udev/rules.d/99-webcam.rules

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="5752", MODE:="0666"

sudo udevadm control --reload-rules

RPM Fusion Repository
sudo yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

GUVCView Webcam Recording
sudo yum install libwebcam guvcview

Change resolution to 1280×720 on XPS-13

Set sound device to hw:2,0 for Logitech webcam

Screen Recording
sudo yum install gtk-recordmydesktop

Set sound device to DEFAULT for Logitech webcam

May also need to use hw:0,0 (use arecord -l to list input devices)

Video Editing
sudo yum install openshot

Video Playback
sudo yum install vlc