RemoteRF host-side control package
Project description
RemoteRF Host (hostrf) — Linux Setup
HostRF Installation
The guide is done/verified for Ubuntu Server/Desktop 24.04 LTS.
0) If Raspberry Pi
Raspberry Pi Imager → Install Ubuntu Server 24.04 LTS → Boot Raspberry Pi from SD card.
1) System Prerequisites (APT)
sudo apt update
sudo apt install -y curl ca-certificates bzip2 git build-essential
sudo apt install -y libusb-1.0-0 udev
Optional: confirm architecture:
uname -m
x86_64→ Intel/AMDaarch64→ ARM64 (Raspberry Pi 64-bit, some servers)
2) Install Miniconda
2.1 Download the installer
x86_64
cd /tmp
curl -fsSLO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
ARM64 (aarch64)
cd /tmp
curl -fsSLO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
2.2 Install (non-interactive, recommended)
x86_64
bash Miniconda3-latest-Linux-x86_64.sh -b -p "$HOME/miniconda3"
ARM64 (aarch64)
bash Miniconda3-latest-Linux-aarch64.sh -b -p "$HOME/miniconda3"
2.3 Enable conda in your current shell
source "$HOME/miniconda3/etc/profile.d/conda.sh"
conda --version
If you want conda available automatically in new terminals:
"$HOME/miniconda3/bin/conda" init bash source ~/.bashrc
2.4 Install mamba (default solver)
conda install -n base -c conda-forge -y mamba
mamba --version
Might have to accept anaconda TOS.
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
3) Create the Environment (with mamba (faster))
mamba create -n hostrf -y -c conda-forge -c defaults python=3.10 pip setuptools wheel grpcio protobuf python-dotenv numpy scipy libiio pylibiio libusb
conda activate hostrf
python -m pip install -U pip
python -m pip install pyadi-iio remoterf-host
sudo reboot now
HostRF Config
Run the below for a comprehensive overview:
hostrf --help
To get hostrf up and running:
1) Point to a RemoteRF server
HostRF requires a RemoteRF Server already setup. See RemoteRF-Server for additional details.
hostrf stores its config under: ~/.config/remoterf-host/
hostrf --config --addr <host:port>
# example:
hostrf -c -a 164.97.201.67:5000
hostrf -c -a --show
2) Set host parameters
On the remoterf server, run the below:
Example uses 'lab-host-01' as the host name. It will return a valid command you can just copy and paste into the host CLI.
serverrf --host --token-create lab-host-01 --length 8
Given the parameters/tokens returned, run the below:
hostrf --config --host <hostname> \"TOKEN\"
#example:
hostrf -c -h lab-host-01 "UTzhag"
3) Connect devices (Adalm Pluto)
To connect plutos to the server:
iio_info -s
If the pluto doesn't show up, yet the below works:
sudo iio_info -s
Run the below and reboot after:
sudo groupadd -f plugdev
sudo usermod -aG plugdev "$USER"
sudo tee /etc/udev/rules.d/53-adi-usb.rules >/dev/null <<'EOF'
# Type the below in
SUBSYSTEM=="usb", ATTR{idVendor}=="0456", MODE="0660", GROUP="plugdev"
EOF
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo reboot now
Look for a 'hw_serial: 104473'. Keep note of said serial per device.
Add pluto to device list. Understand that the device_id (int) needs to be GLOBALLY unique!
hostrf --device --add --pluto <id>:<device_name>:<hw_serial>
#Example
hostrf -d -a --pluto 10:"hostrf pluto 0":104473
Remove device:
hostrf -d -remove <id>
Show devices:
hostrf -d --show
Clear all device config:
hostrf -d --wipe
Run to start the host. You should be able to see host on the server if setup properly.
hostrf -s
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file remoterf_host_testing-0.0.0.tar.gz.
File metadata
- Download URL: remoterf_host_testing-0.0.0.tar.gz
- Upload date:
- Size: 37.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba7265f69f6d4e02cf3d7837de3059128c4c18534b58914111d6659bd369327f
|
|
| MD5 |
cc986cf47222bbf0f194cd6d16784d25
|
|
| BLAKE2b-256 |
c9b86839de0a0d0a1fada856f2733f556b7757316ce9a13e5f457928bf37a9bf
|
File details
Details for the file remoterf_host_testing-0.0.0-py3-none-any.whl.
File metadata
- Download URL: remoterf_host_testing-0.0.0-py3-none-any.whl
- Upload date:
- Size: 43.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5adb6e65542a023a938a4defe9439d4fe8d90960f18495ec1dac6bcf061ba534
|
|
| MD5 |
217c0e2651dec0d1f145aa7f860924cc
|
|
| BLAKE2b-256 |
e6f84e3598dcd139d7df3eae0ee083bc019af9619b362cc9f632a375707e7257
|