Compare commits

..

No commits in common. "9cbb9716af6468de1274529fb4d031601c7b8fbb" and "0b595e19e8753d46d4584b7450f6e70ba34507a3" have entirely different histories.

9 changed files with 120 additions and 119 deletions

View File

@ -40,13 +40,15 @@ RIA Toolkit OSS is the open-source version of the RIA Toolkit, providing the fun
- Fundamental recording augmentations and impairments for radio ML dataset preparation. - Fundamental recording augmentations and impairments for radio ML dataset preparation.
- A unified interface for interacting with software-defined radios, including [USRP](https://www.ettus.com/products/), [BladeRF](https://www.nuand.com/), [PlutoSDR](https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html), and [bladeRF](https://www.nuand.com/bladerf-1/). (Support for [RTL-SDR](https://www.rtl-sdr.com/), [HackRF](https://greatscottgadgets.com/hackrf/), and [thinkRF](https://thinkrf.com/) coming soon!). - (Coming soon) A unified interface for interacting with software-defined radios, including [USRP](https://www.ettus.com/products/), [BladeRF](https://www.nuand.com/), [PlutoSDR](https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html), [RTL-SDR](https://www.rtl-sdr.com/), [HackRF](https://greatscottgadgets.com/hackrf/), and [thinkRF](https://thinkrf.com/).
- (Coming soon) Basic model training and testing utilities.
## 💡 Want More RIA? ## 💡 Want More RIA?
- **[RIA Toolkit](https://qoherent.ai/riatoolkit/)**: The full, unthrottled set of tools for developing, testing, and deploying radio intelligence applications. - **[RIA Toolkit](https://qoherent.ai/riatoolkit/)**: The full, unthrottled set of tools for developing, testing, and deploying radio intelligence applications.
- **[RIA Hub](https://qoherent.ai/riahub/)**: Wield the RIA Toolkit, plus purpose-built automations, directly in your browser without the need to write code or set up infrastructure. Additionally, unlock access to Qoherent's rich IP library as well as community projects. - **[RIA Hub](https://qoherent.ai/riahub/)**: Wield the RIA Toolkit, plus purpose-built automations, directly in your browser, without the need to write code or set up infrastructure. Additionally, unlock access to Qoherent's rich IP library as well as community projects.
- **[RIA RAN](https://qoherent.ai/intelligent-5g-ran/)**: Radio intelligence solutions engineered to seamlessly integrate with existing RAN environments, including ORAN-compliant networks. - **[RIA RAN](https://qoherent.ai/intelligent-5g-ran/)**: Radio intelligence solutions engineered to seamlessly integrate with existing RAN environments, including ORAN-compliant networks.
@ -54,13 +56,11 @@ RIA Toolkit OSS is the open-source version of the RIA Toolkit, providing the fun
RIA Hub Toolkit OSS can be installed either as a Conda package or as a standard Python package. RIA Hub Toolkit OSS can be installed either as a Conda package or as a standard Python package.
Please note that SDR drivers must be installed separately. Refer to the relevant guide in the project documentation for setup instructions: [SDR Guides](https://ria-toolkit-oss.readthedocs.io/en/latest/sdr_guides/).
### Installation with Conda (recommended) ### Installation with Conda (recommended)
Conda package for RIA Toolkit OSS are available on RIA Hub: [RIA Hub Conda Package Registry: `ria-toolkit-oss`](https://riahub.ai/qoherent/-/packages/conda/ria-toolkit-oss). Conda package for RIA Toolkit OSS are available on RIA Hub: [RIA Hub Conda Package Registry: `ria-toolkit-oss`](https://riahub.ai/qoherent/-/packages/conda/ria-toolkit-oss).
RIA Toolkit OSS can be installed into any Conda environment. However, it is recommended to install within the base environment of [Radioconda](https://github.com/radioconda/radioconda-installer), which includes [GNU Radio](https://www.gnuradio.org/) and several pre-configured libraries for common SDR devices. RIA Toolkit OSS can be installed into any Conda environment. However, it is recommended to install within the base environment of [Radioconda](https://github.com/radioconda/radioconda-installer), which includes [GNU Radio](https://www.gnuradio.org/) and several pre-configured libraries for common SDR devices. Detailed instructions for installing and setting up Radioconda are available in the project README.
Please follow the steps below to install RIA Toolkit OSS using Conda: Please follow the steps below to install RIA Toolkit OSS using Conda:

View File

@ -4,4 +4,4 @@ Getting Started
.. todo:: .. todo::
Getting started instructions are coming soon! In the meantime, feel free Getting started instructions are coming soon! In the meantime, feel free
to explore the project documentation. Many components include usage examples. to explore the project documentation, where many components include usage examples.

View File

@ -3,9 +3,6 @@ Installation
RIA Hub Toolkit OSS can be installed either as a Conda package or as a standard Python package. RIA Hub Toolkit OSS can be installed either as a Conda package or as a standard Python package.
Please note that SDR drivers must be installed separately. Refer to the relevant guide in the
:ref:`SDR Guides <sdr_guides>` section of the documentation for addition setup instructions.
We want your experience with RIA Toolkit OSS to be as smooth and frictionless as possible. If you run into any We want your experience with RIA Toolkit OSS to be as smooth and frictionless as possible. If you run into any
issues during installation, please reach out to our support team: ``support@qoherent.ai``. issues during installation, please reach out to our support team: ``support@qoherent.ai``.

View File

@ -41,37 +41,37 @@ Limitations
transfer rates. transfer rates.
Set up instructions (Linux, Radioconda) Set up instructions (Linux, Radioconda)
--------------------------------------- ---------------------------
1. Activate your Radioconda environment. Step 1: Activate your Radioconda environment.
.. code-block:: bash .. code-block:: bash
conda activate <your-env-name> conda activate <your-env-name>
2. Install the base dependencies and drivers (*Easy method*): Step 2: Install the base dependencies and drivers ('Easy method')
.. code-block:: bash .. code-block:: bash
sudo add-apt-repository ppa:nuandllc/bladerf sudo add-apt-repository ppa:nuandllc/bladerf
sudo apt-get update sudo apt-get update
sudo apt-get install bladerf sudo apt-get install bladerf
sudo apt-get install libbladerf-dev sudo apt-get install libbladerf-dev
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.
3. Install a ``udev`` rule by creating a link into your Radioconda installation: Step 3: Install a udev rule by creating a link into your radioconda installation.
.. code-block:: bash .. code-block:: bash
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-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-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 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 control --reload
sudo udevadm trigger sudo udevadm trigger
Further Information Further Information
------------------- -------------------
- `Official BladeRF Website <https://www.nuand.com/>`_ - `Official Website <https://www.nuand.com/>`_
- `BladeRF GitHub Repository <https://github.com/Nuand/bladeRF>`_ - `BladeRF GitHub Repository <https://github.com/Nuand/bladeRF>`_
- `BladeRF Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#bladerf>`_ - `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#bladerf>`

View File

@ -40,44 +40,46 @@ Limitations
- 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, Radioconda) Set up instructions (Linux, Radioconda)
--------------------------------------- ---------------------------
1. Activate your Radioconda environment: Step 1: Activate your Radioconda environment.
.. code-block:: bash .. code-block:: bash
conda activate <your-env-name> conda activate <your-env-name>
2. Install the System Package (Ubuntu / Debian): Step 2: Install the System Package (Ubuntu / Debian)
.. code-block:: bash .. code-block:: bash
sudo apt-get update sudo apt-get update
sudo apt-get install hackrf sudo apt-get install hackrf
3. Install a ``udev`` rule by creating a link into your Radioconda installation: Step 3: Install a udev rule by creating a link into your radioconda installation.
.. code-block:: bash .. code-block:: bash
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/53-hackrf.rules /etc/udev/rules.d/53-radioconda-hackrf.rules 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 control --reload
sudo udevadm trigger sudo udevadm trigger
Make sure your user account belongs to the plugdev group in order to access your device: Make sure your user account belongs to the plugdev group in order to access your device:
.. code-block:: bash .. code-block:: bash
sudo usermod -a -G plugdev <user> sudo usermod -a -G plugdev <user>
.. note:: 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>`_
You may have to restart your system for changes to take effect.
Further information Further information
------------------- -------------------
- `Official HackRF Website <https://greatscottgadgets.com/hackrf/>`_ - `Official Website <https://greatscottgadgets.com/hackrf/>`_
- `HackRF Project Documentation <https://hackrf.readthedocs.io/en/latest/>`_ - `Project Documentation <https://hackrf.readthedocs.io/en/latest/>`_
- `HackRF Software Installation Guide <https://hackrf.readthedocs.io/en/latest/installing_hackrf_software.html>`_
- `HackRF GitHub Repository <https://github.com/greatscottgadgets/hackrf>`_ - `HackRF GitHub Repository <https://github.com/greatscottgadgets/hackrf>`_
- `HackRF Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#hackrf>`_ - `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#hackrf>`

View File

@ -5,12 +5,13 @@ SDR Guides
########## ##########
This section contains guides for the various SDR devices supported by the toolkit. Each guide details the supported models, This section contains guides for the various SDR devices supported by the toolkit. Each guide details the supported models,
their key capabilities and limitations, as well as additional information needed for setup and configuration. their key capabilities and limitations, and any additional information needed for setup and configuration.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
USRP <usrp>
BladeRF <blade> BladeRF <blade>
PlutoSDR <pluto>
HackRF <hackrf> HackRF <hackrf>
PlutoSDR <pluto>
USRP <usrp>
RTL-SDR <rtl>

View File

@ -44,73 +44,72 @@ Limitations
- 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, Radioconda) Set up instructions (Linux, Radioconda)
--------------------------------------- ---------------------------
1. Activate your Radioconda environment: Step 1: Activate your Radioconda environment.
.. code-block:: bash .. code-block:: bash
conda activate <your-env-name> conda activate <your-env-name>
2. Install system dependencies: Step 2: Install system dependancies.
.. code-block:: bash .. code-block:: bash
sudo apt-get update sudo apt-get update
sudo apt-get install -y \ sudo apt-get install -y \
build-essential \ build-essential \
git \ git \
libxml2-dev \ libxml2-dev \
bison \ bison \
flex \ flex \
libcdk5-dev \ libcdk5-dev \
cmake \ cmake \
libusb-1.0-0-dev \ libusb-1.0-0-dev \
libavahi-client-dev \ libavahi-client-dev \
libavahi-common-dev \ libavahi-common-dev \
libaio-dev libaio-dev
3. Install a ``udev`` rule by creating a link into your Radioconda installation:
.. code-block:: bash Step 3: Install a udev rule by creating a link into your radioconda installation.
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/90-libiio.rules /etc/udev/rules.d/90-radioconda-libiio.rules .. code-block:: bash
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 <https://wiki.analog.com/university/tools/pluto>`_. 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
4. (Optional) Building ``libiio`` or ``libad9361-iio`` from source: Once you can talk to the hardware, you may want to perform the post-install steps detailed on the PlutoSDR documentation below.
This step is only required if you want the latest version of these libraries not provided in Radioconda. Step 4 (Optional): Building libiio or libad9361-iio from source.
.. code-block:: bash Only needed if you want the very latest version of the libraries not provided in Radioconda:
# Build libiio from source .. code-block:: bash
cd ~
git clone --branch v0.23 https://github.com/analogdevicesinc/libiio.git
cd libiio
mkdir -p build
cd build
cmake -DPYTHON_BINDINGS=ON ..
make -j"$(nproc)"
sudo make install
sudo ldconfig
.. code-block:: bash # Clone and build libiio
cd ~
git clone --branch v0.23 https://github.com/analogdevicesinc/libiio.git
cd libiio
mkdir -p build
cd build
cmake -DPYTHON_BINDINGS=ON ..
make -j"$(nproc)"
sudo make install
sudo ldconfig
# Build libad9361-iio from source # Clone and build libad9361-iio
cd ~ cd ~
git clone https://github.com/analogdevicesinc/libad9361-iio.git git clone https://github.com/analogdevicesinc/libad9361-iio.git
cd libad9361-iio cd libad9361-iio
mkdir -p build mkdir -p build
cd build cd build
cmake .. cmake ..
make -j"$(nproc)" make -j"$(nproc)"
sudo make install sudo make install
Further information Further information
------------------- -------------------
- `PlutoSDR Documentation <https://wiki.analog.com/university/tools/pluto>`_ - `PlutoSDR Documentation <https://wiki.analog.com/university/tools/pluto>`_
- `PlutoSDR Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#iio-pluto-sdr>`_ - `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#iio-pluto-sdr>`

View File

@ -42,51 +42,52 @@ Limitations
- 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, Radioconda) Set up instructions (Linux, Radioconda)
--------------------------------------- ---------------------------
1. Activate your Radioconda environment: Step 1: Activate your Radioconda environment.
.. code-block:: bash .. code-block:: bash
conda activate <your-env-name> conda activate <your-env-name>
2. Install UHD and Python bindings: Step 2: Install UHD and Python Bindings.
.. code-block:: bash .. code-block:: bash
conda install conda-forge::uhd conda install conda-forge::uhd
3. Download UHD images: Step 3: Download UHD images.
.. code-block:: bash .. code-block:: bash
uhd_images_downloader uhd_images_downloader
4. Verify access to your device: Step 4: Verify Installation.
.. code-block:: bash To verify access to your device:
uhd_find_devices .. code-block:: bash
For USB devices only (e.g. B series), install a ``udev`` rule by creating a link into your Radioconda installation. uhd_find_devices
.. code-block:: bash For USB devices only (e.g. B series), install a udev rule by creating a link into your radioconda installation.
sudo ln -s $CONDA_PREFIX/lib/uhd/utils/uhd-usrp.rules /etc/udev/rules.d/radioconda-uhd-usrp.rules .. code-block:: bash
sudo udevadm control --reload sudo ln -s $CONDA_PREFIX/lib/uhd/utils/uhd-usrp.rules /etc/udev/rules.d/radioconda-uhd-usrp.rules
sudo udevadm trigger sudo udevadm control --reload
sudo udevadm trigger
5. (Optional) Update firmware/FPGA images: Step 5: (optional): Update Firmware/FPGA images
.. code-block:: bash .. code-block:: bash
uhd_usrp_probe uhd_usrp_probe
This will ensure your device is running the latest firmware and FPGA versions. This will ensure your device is running the latest firmware and FPGA versions.
Further information Further information
------------------- -------------------
- `Official USRP 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>`_
- `USRP Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#uhd-ettus-usrp>`_ - `Radioconda Github Repository <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#uhd-ettus-usrp>`_

View File

@ -9,6 +9,7 @@ authors = [
{ name = "Qoherent Inc.", email = "info@qoherent.ai" }, { name = "Qoherent Inc.", email = "info@qoherent.ai" },
] ]
maintainers = [ maintainers = [
{ name = "Michael Luciuk", email = "michael@qoherent.ai" },
{ name = "Benjamin Chinnery", email = "ben@qoherent.ai" }, { name = "Benjamin Chinnery", email = "ben@qoherent.ai" },
{ name = "Ashkan Beigi", email = "ash@qoherent.ai" }, { name = "Ashkan Beigi", email = "ash@qoherent.ai" },
] ]