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

Advertisements

Setting up the Ettus USRP B200

10 Jun

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"

Baudline Tips

20 Apr

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

GNURadio Tricks

20 Apr

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”

USRP N210 and HDSDR Setup

10 Feb

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

Instructions here
http://www.ettus.com/content/files/kb/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"

Setting up the Ettus USRP N210

8 Feb

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=50000000
net.core.wmem_max=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

./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"

GNU Radio Build Notes

8 Feb

Assumes Fedora 25 x86_64
Instructions at http://gnuradio.org/redmine/projects/gnuradio/wiki/BuildGuide

Dependencies
Dependencies listed at http://gnuradio.org/doc/doxygen/build_guide.html
Note Qt5 needed for gqrx

sudo dnf install
git
cmake
boost
boost-devel
cppunit
cppunit-devel
fftw
fftw-devel
python
swig
numpy
doxygen
python-cheetah
pygtk2
gsl
gsl-devel
qt
qt-devel
qt5
qt5-devel
qwt
qwt-devel
qwt-qt5
qwt-qt5-devel
PyQt5
PyQt5-devel
PyQwt
PyQwt-devel
wxPython
wxPython-devel
python-lxml
alsa-lib
alsa-lib-devel
jack-audio-connection-kit
jack-audio-connection-kit-devel
ncurses-devel
portaudio
portaudio-devel
python-docutils
python-sphinx
python-mako
libusbx
libusbx-devel
SDL
SDL-devel
sdcc
texlive-dvips
xmlto
graphviz
orc
orc-compiler
orc-devel
scipy
PyOpenGL
zeromq
zeromq-devel
cppzmq-devel
python-zmq
thrift-devel

Add to .profile
export PATH=/usr/libexec/sdcc:$PATH
export PYTHONPATH=/usr/local/lib64/python2.7/site-packages
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig

Build Ettus 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

Build GNU Radio
cd /usr/local/src
git clone --recursive 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
cmake ../
make
make test
sudo make install