sdr_guides instructions updated for compatibility with radioconda

This commit is contained in:
gillian 2025-09-29 16:24:18 -04:00
parent ec7af00523
commit cc373a89f6
5 changed files with 172 additions and 65 deletions

View File

@ -40,7 +40,7 @@ Limitations
- USB 3.0 connectivity is required for optimal performance; using USB 2.0 will significantly limit data
transfer rates.
Set up instructions (Linux)
Set up instructions (Linux, Radioconda)
---------------------------
Step 1: Install the base dependencies and drivers ('Easy method')
@ -54,32 +54,25 @@ Step 1: Install the base dependencies and drivers ('Easy method')
sudo apt-get install bladerf-fpga-hostedxa4 # Necessary for installation of bladeRF 2.0 Micro A4.
Step 2: Create and/or activate your virtual environment
Step 2: Activate your Radioconda environment.
.. code-block:: bash
python3 -m venv venv
pip install -r requirements.txt # If relevant
source venv/bin/activate
conda activate <your-env-name>
Step 3: from within the virtual environment, clone the bladerf host repo, then build and install the wheel for
bladerf python bindings.
Step 3: Install a udev rule by creating a link into your radioconda installation.
.. code-block:: bash
cd ~
mkdir workarea
cd workarea
git clone --depth 1 https://github.com/Nuand/bladeRF.git
cd bladeRF/host
cd libraries/libbladeRF_bindings/python
sudo python3 setup.py bdist_wheel
pip install dist/*.whl
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf1.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf1.rules
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf2.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf2.rules
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bootloader.rules /etc/udev/rules.d/88-radioconda-nuand-bootloader.rules
sudo udevadm control --reload
sudo udevadm trigger
Further Information
-------------------
- `Official Website <https://www.nuand.com/>`_
- `BladeRF Documentation <https://www.nuand.com/documentation/>`_
- `GitHub Repository <https://github.com/Nuand/bladeRF>`_
- `BladeRF GitHub Repository <https://github.com/Nuand/bladeRF>`_
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#bladerf>`

View File

@ -39,18 +39,47 @@ Limitations
- Bandwidth is limited to 20 MHz.
- USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs.
Set up instructions (Linux)
Set up instructions (Linux, Radioconda)
---------------------------
Step 1: Activate your Radioconda environment.
.. code-block:: bash
conda activate <your-env-name>
Step 2: Install the System Package (Ubuntu / Debian)
.. code-block:: bash
sudo apt-get update
sudo apt-get install hackrf
Step 3: Install a udev rule by creating a link into your radioconda installation.
.. code-block:: bash
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/53-hackrf.rules /etc/udev/rules.d/53-radioconda-hackrf.rules
sudo udevadm control --reload
sudo udevadm trigger
Make sure your user account belongs to the plugdev group in order to access your device:
.. code-block:: bash
sudo usermod -a -G plugdev <user>
You may have to restart for this change to take effect.
---------------------------
`HackRF Software Installation Guide <https://hackrf.readthedocs.io/en/latest/installing_hackrf_software.html>`_
.. todo::
Addition HackRF installation instructions
Further information
-------------------
- `Official Website <https://greatscottgadgets.com/hackrf/>`_
- `Project Documentation <https://hackrf.readthedocs.io/en/latest/>`_
- `GitHub Repository <https://github.com/greatscottgadgets/hackrf>`_
- `HackRF GitHub Repository <https://github.com/greatscottgadgets/hackrf>`_
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#hackrf>`

View File

@ -43,28 +43,49 @@ Limitations
affect stability.
- USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs.
Set up instructions (Linux)
Set up instructions (Linux, Radioconda)
---------------------------
The PlutoSDR Python API can be installed via pip. To build and install the drivers from source, see the instructions below:
Step 1: Activate your Radioconda environment.
.. code-block:: bash
# Install required packages
sudo apt-get update
sudo apt-get install -y \
build-essential \
git \
libxml2-dev \
bison \
flex \
libcdk5-dev \
cmake \
python3-pip \
libusb-1.0-0-dev \
libavahi-client-dev \
libavahi-common-dev \
libaio-dev
conda activate <your-env-name>
Step 2: Install system dependancies
.. code-block:: bash
sudo apt-get update
sudo apt-get install -y \
build-essential \
git \
libxml2-dev \
bison \
flex \
libcdk5-dev \
cmake \
libusb-1.0-0-dev \
libavahi-client-dev \
libavahi-common-dev \
libaio-dev
Step 3: Install a udev rule by creating a link into your radioconda installation.
.. code-block:: bash
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/90-libiio.rules /etc/udev/rules.d/90-radioconda-libiio.rules
sudo udevadm control --reload
sudo udevadm trigger
Once you can talk to the hardware, you may want to perform the post-install steps detailed on the PlutoSDR documentation below.
Step 4 (Optional): Building libiio or libad9361-iio from source.
Only needed if you want the very latest version of the libraries not provided in Radioconda:
.. code-block:: bash
# Clone and build libiio
cd ~
@ -87,10 +108,8 @@ The PlutoSDR Python API can be installed via pip. To build and install the drive
make -j"$(nproc)"
sudo make install
# Install Python bindings
pip install pyadi-iio
Further information
-------------------
- `PlutoSDR Documentation <https://wiki.analog.com/university/tools/pluto>`_
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#iio-pluto-sdr>`

View File

@ -33,6 +33,59 @@ Limitations
- Sensitivity and performance can vary depending on the specific model and components.
- Requires external software for signal processing and analysis.
Set up instructions (Linux, Radioconda)
---------------------------
Step 1: Activate your Radioconda environment.
.. code-block:: bash
conda activate <your-env-name>
Step 2: Purge drivers.
If you already have some other drivers installed, purge them from your system.
.. code-block:: bash
sudo apt purge ^librtlsdr
sudo rm -rvf /usr/lib/librtlsdr*
sudo rm -rvf /usr/include/rtl-sdr*
sudo rm -rvf /usr/local/lib/librtlsdr*
sudo rm -rvf /usr/local/include/rtl-sdr*
sudo rm -rvf /usr/local/include/rtl_*
sudo rm -rvf /usr/local/bin/rtl_*
Step 3: Install RTL-SDR Blog drivers.
.. code-block:: bash
sudo apt-get install libusb-1.0-0-dev git cmake pkg-config build-essential
git clone https://github.com/rtlsdrblog/rtl-sdr-blog
cd rtl-sdr-blog/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig
Step 4: Blacklist the DVB-T modules that would otherwise claim the device:
.. code-block:: bash
sudo ln -s $CONDA_PREFIX/etc/modprobe.d/rtl-sdr-blacklist.conf /etc/modprobe.d/radioconda-rtl-sdr-blacklist.conf
sudo modprobe -r $(cat $CONDA_PREFIX/etc/modprobe.d/rtl-sdr-blacklist.conf | sed -n -e 's/^blacklist //p')
Step 5: Install a udev rule by creating a link into your radioconda installation.
.. code-block:: bash
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/rtl-sdr.rules /etc/udev/rules.d/radioconda-rtl-sdr.rules
sudo udevadm control --reload
sudo udevadm trigger
Further Information
-------------------

View File

@ -41,40 +41,53 @@ Limitations
- Compatibility with certain software tools may vary depending on the version of the UHD.
- Price range can be a consideration, especially for high-end models.
Set up instructions (Linux)
Set up instructions (Linux, Radioconda)
---------------------------
1. Install the required system packages via APT:
.. code-block:: bash
sudo apt-get install libuhd-dev uhd-host python3-uhd
2. Build and install UHD from source:
Step 1: Activate your Radioconda environment.
.. code-block:: bash
sudo apt-get install git cmake libboost-all-dev libusb-1.0-0-dev python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools build-essential
cd ~
git clone https://github.com/EttusResearch/uhd.git
cd uhd/host
mkdir build
cd build
cmake -DENABLE_TESTS=OFF -DENABLE_C_API=OFF -DENABLE_MANUAL=OFF ..
make -j8
sudo make install
sudo ldconfig
conda activate <your-env-name>
3. Find your dist packages and add to `PYTHONPATH`. Example:
Step 2: Install UHD and Python Bindings.
.. code-block:: bash
export PYTHONPATH='/usr/local/lib/python3.10/site-packages/'
export PYTHONPATH='/usr/local/lib/python3.10/dist-packages/:$PYTHONPATH'
conda install conda-forge::uhd
Step 3: Download UHD images.
.. code-block:: bash
uhd_images_downloader
Step 4: Verify Installation.
To verify access to your device:
.. code-block:: bash
uhd_find_devices
For USB devices only (e.g. B series), install a udev rule by creating a link into your radioconda installation.
.. code-block:: bash
sudo ln -s $CONDA_PREFIX/lib/uhd/utils/uhd-usrp.rules /etc/udev/rules.d/radioconda-uhd-usrp.rules
sudo udevadm control --reload
sudo udevadm trigger
Step 5: (optional): Update Firmware/FPGA images
.. code-block:: bash
uhd_usrp_probe
This will ensure your device is running the latest firmware and FPGA versions.
Further information
-------------------
- `Official Website <https://www.ettus.com/>`_
- `USRP Documentation <https://kb.ettus.com/USRP_Hardware_Driver_and_Interfaces>`_
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#uhd-ettus-usrp>`_