sdr_guides-updates #2
|
@ -40,7 +40,7 @@ Limitations
|
||||||
- USB 3.0 connectivity is required for optimal performance; using USB 2.0 will significantly limit data
|
- USB 3.0 connectivity is required for optimal performance; using USB 2.0 will significantly limit data
|
||||||
transfer rates.
|
transfer rates.
|
||||||
|
|
||||||
Set up instructions (Linux)
|
Set up instructions (Linux, Radioconda)
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
Step 1: Install the base dependencies and drivers ('Easy method')
|
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.
|
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
|
.. code-block:: bash
|
||||||
|
|
||||||
python3 -m venv venv
|
conda activate <your-env-name>
|
||||||
pip install -r requirements.txt # If relevant
|
|
||||||
source venv/bin/activate
|
|
||||||
|
|
||||||
|
Step 3: Install a udev rule by creating a link into your radioconda installation.
|
||||||
Step 3: from within the virtual environment, clone the bladerf host repo, then build and install the wheel for
|
|
||||||
bladerf python bindings.
|
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
cd ~
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf1.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf1.rules
|
||||||
mkdir workarea
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf2.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf2.rules
|
||||||
cd workarea
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bootloader.rules /etc/udev/rules.d/88-radioconda-nuand-bootloader.rules
|
||||||
git clone --depth 1 https://github.com/Nuand/bladeRF.git
|
sudo udevadm control --reload
|
||||||
cd bladeRF/host
|
sudo udevadm trigger
|
||||||
cd libraries/libbladeRF_bindings/python
|
|
||||||
sudo python3 setup.py bdist_wheel
|
|
||||||
pip install dist/*.whl
|
|
||||||
|
|
||||||
Further Information
|
Further Information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- `Official Website <https://www.nuand.com/>`_
|
- `Official Website <https://www.nuand.com/>`_
|
||||||
- `BladeRF Documentation <https://www.nuand.com/documentation/>`_
|
- `BladeRF GitHub Repository <https://github.com/Nuand/bladeRF>`_
|
||||||
- `GitHub Repository <https://github.com/Nuand/bladeRF>`_
|
- `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#bladerf>`
|
||||||
|
|
|
@ -39,18 +39,47 @@ Limitations
|
||||||
- Bandwidth is limited to 20 MHz.
|
- Bandwidth is limited to 20 MHz.
|
||||||
- USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs.
|
- 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>`_
|
`HackRF Software Installation Guide <https://hackrf.readthedocs.io/en/latest/installing_hackrf_software.html>`_
|
||||||
|
|
||||||
.. todo::
|
|
||||||
|
|
||||||
Addition HackRF installation instructions
|
|
||||||
|
|
||||||
Further information
|
Further information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- `Official Website <https://greatscottgadgets.com/hackrf/>`_
|
- `Official Website <https://greatscottgadgets.com/hackrf/>`_
|
||||||
- `Project Documentation <https://hackrf.readthedocs.io/en/latest/>`_
|
- `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>`
|
||||||
|
|
|
@ -43,28 +43,49 @@ Limitations
|
||||||
affect stability.
|
affect stability.
|
||||||
- USB 2.0 connectivity might limit data transfer rates compared to USB 3.0 or Ethernet-based SDRs.
|
- 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
|
.. code-block:: bash
|
||||||
|
|
||||||
# Install required packages
|
conda activate <your-env-name>
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y \
|
Step 2: Install system dependancies
|
||||||
build-essential \
|
|
||||||
git \
|
.. code-block:: bash
|
||||||
libxml2-dev \
|
|
||||||
bison \
|
sudo apt-get update
|
||||||
flex \
|
sudo apt-get install -y \
|
||||||
libcdk5-dev \
|
build-essential \
|
||||||
cmake \
|
git \
|
||||||
python3-pip \
|
libxml2-dev \
|
||||||
libusb-1.0-0-dev \
|
bison \
|
||||||
libavahi-client-dev \
|
flex \
|
||||||
libavahi-common-dev \
|
libcdk5-dev \
|
||||||
libaio-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
|
# Clone and build libiio
|
||||||
cd ~
|
cd ~
|
||||||
|
@ -87,10 +108,8 @@ The PlutoSDR Python API can be installed via pip. To build and install the drive
|
||||||
make -j"$(nproc)"
|
make -j"$(nproc)"
|
||||||
sudo make install
|
sudo make install
|
||||||
|
|
||||||
# Install Python bindings
|
|
||||||
pip install pyadi-iio
|
|
||||||
|
|
||||||
Further information
|
Further information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- `PlutoSDR Documentation <https://wiki.analog.com/university/tools/pluto>`_
|
- `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>`
|
|
@ -33,6 +33,59 @@ Limitations
|
||||||
- Sensitivity and performance can vary depending on the specific model and components.
|
- Sensitivity and performance can vary depending on the specific model and components.
|
||||||
- Requires external software for signal processing and analysis.
|
- 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
|
Further Information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|
|
@ -41,40 +41,53 @@ Limitations
|
||||||
- Compatibility with certain software tools may vary depending on the version of the UHD.
|
- 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.
|
- 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:
|
Step 1: Activate your Radioconda environment.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
sudo apt-get install libuhd-dev uhd-host python3-uhd
|
conda activate <your-env-name>
|
||||||
|
|
||||||
2. Build and install UHD from source:
|
Step 2: Install UHD and Python Bindings.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. 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
|
conda install conda-forge::uhd
|
||||||
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
|
|
||||||
|
|
||||||
|
Step 3: Download UHD images.
|
||||||
3. Find your dist packages and add to `PYTHONPATH`. Example:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
export PYTHONPATH='/usr/local/lib/python3.10/site-packages/'
|
uhd_images_downloader
|
||||||
export PYTHONPATH='/usr/local/lib/python3.10/dist-packages/:$PYTHONPATH'
|
|
||||||
|
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
|
Further information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- `Official Website <https://www.ettus.com/>`_
|
- `Official Website <https://www.ettus.com/>`_
|
||||||
- `USRP Documentation <https://kb.ettus.com/USRP_Hardware_Driver_and_Interfaces>`_
|
- `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>`_
|
||||||
|
|
Loading…
Reference in New Issue
Block a user