How-to: Configure Per Vices SDR as a Repeater
This how-to discusses configuring your Per Vices SDR as a repeater, such that the data received on each Receive Channel will be transmitted on the corresponding Transmit Channel.
This can be accomplished by having the SDR send the received data to the host computer and having the host computer send the data to the SDR transmit chain. However if no signal processing is required, we can reduce the computational and network requirements by using an SFP+ Loopback (for Crimson) or QSFP+ Loopback (for Chestnut or Cyan) to send the data directly from the receive chain to the transmit chain without the host machine involved.
1. Physically Setting up the Unit
When setting up the unit to act as a repeater Ensure Power is Properly Connected and Ensure Management Port is Properly Connected as described in PVHT-1: How to Physically Set Up a Per Vices SDR.
However, rather than connecting the data ports to the host machine, insert Loopback Modules into each of the SFP+ or QSFP+ ports on the SDR.
In summary:
- Connect the SDR power cable to power
- Connect the SDR MGMT cable to the host
- Connect the Loopback Modules to the SDR
- Power on the SDR
2. Configuring the MGMT interface
Follow the guide PVHT-2: Network Configuration How To Guide to set up the MGMT interface of the host machine. Note that SFP+ or QSFP+ ports are not required on the host machine, and you can skip the steps for configuring those ports. In summary you will need to:
- identify the interface on the host to be connected to the SDR MGMT interface
- if your SDR is Crimson, ensure the host interface supports half-duplex mode
- add IP address, subnet mask, and broadcast address for the MGMT interface
- confirm the routing table for the MGMT interface
- if your host is running a firewall, configure it to permit communication with your SDR
3. Confirming ping to MGMT interface
To confirm the MGMT interface is connected and configured correctly, ensure:
- your SDR is powered on,
- all 4 status LEDs lit solid green on the SDR,
- and an ethernet cable is connecting the MGMT port of your SDR to your host machine.
Then on the host machine run the command:
ping 192.168.10.2 -c 3
Confirm that the result shows 0% packet loss.
Note that the IP address shown in the example ping command is the default MGMT IP address of Per Vices SDRs and may be different if you have changed the SDR configuration or are using the alternate MGMT port on a Cyan or Chestnut SDR.
4. Installing UHD on Host Machine
To install UHD on your Host Machine please follow PVHT-3: Set up UHD and Gnuradio software
5. Confirming that UHD is installed and working
To confirm that UHS is installed and able to communicate with your SDR, ensure:
- your SDR is powered on,
- all 4 status LEDs lit solid green on the SDR,
- and an ethernet cable is connecting the MGMT port of your SDR to your host machine.
Then on the host machine run the command:
uhd_find_devices
The command is expected to print an output such as:
[INFO] [UHD] linux; GNU C++ version 14.2.1 20240910; Boost_108600; UHD_4.4.0.makepkg-2301-ge5d4282a
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
serial: 63858313238351604001300
addr: 192.168.10.2
name:
type: crimson_tng
6. Running the example script
When UHD is installed, several example programs are also installed. The default location of those programs is /usr/lib/uhd/examples. One of those example programs is rxtx_inter_device_stream, which demonstrates streaming data between SDRs without sending the data to an intermediary host machine.
To make calling this program with the many configuration arguements convenient we have created a sample invocation script, pvrepeater.sh that you can reference.
This example script configures a default configured device for loopback configuration on 4.458GHz on channel A, 4.948GHz on channel B, 611.25MHz on channel C, and 686.25MHz on channel D.
You can reference the comments in the example script to modify it to lookpabck on any other desired frequency or samplerate.
6.1 Validating the example script
After downloading and running the example script referenced above, connect a signal generator to Rx A, and set it to inject a singal at -30dBm at 4.458GHz. You can simultaniously connect a signal analyzer to Tx A to observe the output from it.