USRP_UHD version installed with REDHAWK - redhawksdr

I installed REDHAWK 1.10.1 on CentOS 6.6, and as part of 1.10.1, there is a USRP_UHD device. It seems, as part of the REDHAWK install, the Ettus USRP_UHD driver (v3.5.3) is installed as well since I am able to run utilities such as uhd_usrp_probe. These utilities are located in /usr/bin, however, there should be some examples included with the driver as well.
I installed the USRP_UHD driver (v3.8.2) on my OS X laptop as a test, and I have the usual utilities (uhd_usrp_probe, etc.) and also I have examples such as benchmark_rate which is helpful is troubleshooting (http://www.ettusresearch.com/content/files/kb/application_note_uhd_examples.pdf). In OS X, these files are located in /opt/local/share/uhd/.
I can not find these examples in CentOS. Does REDHAWK not install them? How can I install them as they seem like they could be useful?

The uhd package provided by the REDHAWK yum repo is modeled off of the Fedora spec file of the uhd package. They have chosen to remove the examples and tests folder from the built product prior to packaging it. See line 84 and 85 from the uhd spec file shown here from the Fedora 19 branch.
This removal of the examples and tests directories goes back all the way to the initial check in of the spec file so it is unclear why this decision was made.
To get these binaries, you could build the uhd drivers from source. See the UHD build guide for information on how to build the UHD driver from source.

Related

How to get the exact ubuntu kernel source files?

I got a binary kernel module provided by 3rd party, which expects version magic 5.4.0-81-generic SMP mod_unload modversions aarch64 of the kernel. It means that I need to grab the exact source tree to build the kernel for using the .ko, on my own customized SoC platform.
Now I have serveral questions for this task:
5.4.0-81-generic: 5.4.0 seems refer to the official kernel version 5.4; what is 81? Is this a patch level (or abi number)?
Can I obtain the exact source tree by patching the official kernel version 5.4? If so, where can I find the corresponding patch file for patch level 81?
I can do apt install linux-source-5.4.0, but there is no patch level on the linux-source pkg name. However, to install the headers, there are patch level on the pkg name, e.g. apt install linux-header-5.4.0-81? Why the difference?
Thanks!
Ubuntu collects its own patched sources into a source package which you can download.
The version number includes a build version; the upstream sources (the Linux kernel) does not have an Ubuntu build, but each released build has a specific version with a number after the dash and you want exactly the right one.
apt-get install linux-headers-$(uname -r)
If you want the full sources,
apt source linux-generic
though in practice you want to read the instruction it prints and download the sources from Github.
Perhaps see also https://ubuntu.com/kernel and https://linuxhint.com/install-linux-kernel-ubuntu/

New C++ GPP device in RedHawk2.0

The release notes for RedHawk 2.0 say that the GPP device previously written in Python has been replaced with one written in "Written in C++, so it is more responsive". But I find it still running in Python (according to ps command python is running GPP.py, and the $SDRROOT/dev/devices/GPP/GPP.spd.xml which also has softpkg version="1.10.0". Was my installation defective and I still have parts of the 1.10 runtime system? My IDE says 2.0.
It sounds like REDHAWK 2.0 was not properly installed on your system, the IDE and the framework/assets are separate and it is possible to get into a situation with conflicting versions depending on the installation steps taken.
Determining what version of REDHAWK you have installed can be determined in a handful of ways. If you installed via yum or rpm you can check the versions of the rpms installed with:
rpm -qa | grep -i redhawk
The redhawk package, and redhawk-ide package should both be at 2.0. Note that the REDHAWK assets are versioned independently.
If you installed via source, you can use the package config files to obtain version information. The framework keeps it's pc files in $OSSIEHOME/lib64/pkgconfig:
cat $OSSIEHOME/lib64/pkgconfig/ossie.pc
Will print out version information for the core framework installed. Depending on what is installed, there are pc files for the framework, bulkio, frontend, and burstio.
I am sorry. The GPP-2.0.0-3.el6.x86_64 DOES contain an ELF executable for GPP device. But the rpm does not install unless I manually erase the GPP-1.10 pkg. Until erased yum says "nothing to do" for some reason. I saw the source code in GPP-debuginfo but did not notice the executable in GPP-2.0.0 since it was all caps and looked like the directory.

Install component on redhawk

I've just install the last release of RedHawk(1.10.2) on Ubuntu 14.04 64 bit, following RedHawk Manual. When I opened the Eclipse IDE, there is no component available, as instead occured on previous RedHawk for CentOS version.
Where can I find the component??Which packet can I download? How can I build them?
I also would like to work on USRP and I've already installed UHD. Where can I find an installer for using this device on RedHawk?
Thanks in advance for the help
The Ubuntu source install of REDHAWK installs the framework, bulkioInterfaces, GPP, CodeGen, frontendInterfaces, and BurstIO. Other than the GPP, no components or devices are installed by default.
As jayemar mentioned, all of the components and devices that come packaged for CentOS are available as source on the REDHAWK github page. For example a few of these include devices like the USRP and RTL, soft packages / libraries like dsp and fftlib, and components such as PSD, TuneFilterDecimate, DataConverter and SigGen.
Building and installing these components and devices from source can be done with the build script located in each repository or by going into the source folder (cpp/python/java) and issuing the "./reconf; ./configure; make; make install" commands.
Components are installed to ${SDRROOT}/dom/components. SDRROOT is set to /var/redhawk/sdr by default. Any components installed there should show up in the IDE.
There are a lot of devices and components, including a USRP_UHD device, available on the RedhawkSDR Github repos:
https://github.com/RedhawkSDR

make-kpkg not working in Fedora 20

I have been working with Linux kernel, compiling and inserting modules, in my custom kernels. Previously I had Ubuntu where I had been working with my custom kernel and all the commands for compiling and installing kernel worked like a charm once I had installed all the required libraries.
Now I have switched over to Fedora 20, here I want to install my custom kernel and for that I downloaded all possible kernel tools, namely, Kernel Development Kernel Tools these are group installs and other libraries that I downloaded were ia32 libraries (as I am working on 64-bit OS), kernel-devel package. Still I am not able to work with make-kpkg command. It says bash: make-kpkg: command not found....
I googled out and did everything I could.
Can anyone get me out of this trouble?
make-kpkg is a Debian kernel packaging tool. It does not exist on RHEL family distributions, such as Fedora.
Please refer to the Fedora documentation page "Building a custom kernel" for the correct procedure. (I have not reproduced it here as it is rather long, and I'm not sure how far you may have gotten.)
The make-kpkg tool is part of the 'kernel-package' package on Debian systems. It is a Debian tool to produce debian package files. Ubuntu is based on Debian and has this tool. However, Fedora uses a different system to manage packages. So, make-kpkg would not be available on Fedora.

installing headers for 3.5 kernel in debian wheezy?

Yesterday, I compiled the 3.5 kernel in debian wheezy (testing), in a thinkpad edge S430 (i5). I did it following this blog, with all the default options. It seems succesful, but then, I tried to install the proprietary nvidia driver with m-a auto-install nvidia-kernel. The install is not able to proceed until the correct headers are installed. However, I have tried both manually to install linux-headers-3.5.0-18 and the linux-headers-amd64 package, but module assistant is not able to see them, showing the following message:
Bad luck, the kernel headers for the target kernel version could not be found and you did not specify other valid kernel headers to use.
There are other ways to install the driver, but I think that the problem with headers is broader.
Although I have been a Debian user for some years, I am far from being an expert, and I am not clear with the problems that I might face when compiling a 3.5 kernel on a Debian testing, so any help and explanation will be much appreciated.
First run
sudo m-a prepare
Getting source for kernel version: 3.8.5-ck1
Kernel headers available in /usr/src/linux-headers-3.8.5-ck1
Creating symlink..
Then do
sudo m-a a-i nvidia
and it should work.
Note that I did this on 3.8.5-ck1, but I built and installed that kernel in a similar fashion to how I wrote up the 3.5 build that you followed.

Resources