wiki:SDR

Software Defined Radio (SDR) Showcase using the Epiq Sidekiq Z2

This showcase provides instructions for using the Epiq Sidekiq Z2 Mini-PCIe SDR Radio with a Gateworks SBC. Epiq Solutions specializes in building SDRs for engineering teams and government-focused organizations requiring situational awareness and detailed insight into their RF environments in order to identify and act against wireless threats.

Epiq Sidekiq

Epiq Sidekiq Z2 SDR

What is a Software Defined Radio (SDR)?

A SDR is a radio which can modulate and demodulate radio signals through software commands provided by a host computer. They typically use a dedicated FPGA to quickly process the radio signals in the digital domain. Many support wide frequency bandwidths allowing them to monitor a wide range of radio transmissions and to be reconfigured on the fly. Typical use cases are:

  • Security Applications by Providing RF Detection of Mobile Devices (Cellular phones, Wifi, BLE, etc..)
  • Adaptive Wireless Network Configuration and Optimization
  • Monitor Ship and Aircraft Transmissions
  • Radio Astronomy
  • Monitor Broadcast, Amateur and DRM Radio

The Epiq Sidekiq Z2 used in this testing can tune to any frequency between 70Mhz and 6Ghz. That covers from FM radio to 5G cellular. Any radio transmission in this frequency range can be monitored with the Z2.

Here is a chart showing some of the common radio protocols, with VHF, UHF and SHF being covered by the Z2

Band Frequency Common Use
Very Low Frequency (VLF) 3kHz to 30kHz Maritime radio, navigation
Low Frequency (LF) 30kHz to 300kHz Maritime radio, navigation
Medium Frequency (MF) 300kHz to 3MHz AM radio, Aviation radio, navigation
High Frequency (HF) 3MHz to 30Mhz Amateur radio, NFC, aviation, weather
Very High Frequency (VHF) 30MHz to 300MHz FM radio, VHF television
Ultra High Frequency (UHF) 300MHz to 3GHz Mobile radio, WiFi?, GPS, 4G, UHF television
Super High Frequency (SHF) 3GHz to 30GHz Satellite, 5G, WiFi?


Configuring the Epiq Sidekiq Z2 to work with Gateworks SBCs

Epiq Sidekiq Z2 SDR mounted on a Gateworks Newport GW6300 SBC

Materials required:

  • Gateworks SBC with latest Gateworks-Ubuntu image installed (In this testing GW6300 was used)
  • Epiq Z2
  • Two antennas
  • Serial Console and network connections to the Gateworks SBC

The Z2 can be used independently of Gateworks products with its (included) USB adapter. Before connecting your Z2 to a Gateworks board it's best to verify it's functionality and check that your antenna connections are being made correctly. If you will be using the Epiq RF Analyzer software (ERA) now is a good time to install it.

Hardware configuration

Attach the Z2 to the Gateworks SBC in any slot where USB signaling is provided.

Verify antennas are attached to RX and TX U.FL connectors on the Z2. Note you will need antennas tuned to the frequency band you're interested in monitoring.

Software configuration

Follow the instructions here to enable "root" access via SSH. This requires using the serial console.

With that done, next log into the Gateworks SBC via SSH as root.

Now access the Z2 via serial console from the Gateworks SBC

screen /dev/ttyACM0

Username "root" Password "epiq"

Execute the following commands to switch the SDR into USB-CDC mode for Linux

fw_setenv udc_config_mode 1
reboot

After the SDR had completed its power cycle log back in and verify the changes have been made:

fw_print_env udc_config_mode
#udc_config_mode=1 will be displayed 

Exit screen "ctrl + a", ":", "quit"

Verify a network interface has been created, for this testing it is named eth2

root@focal-newport:~# dmesg |grep cdc_ether
[   12.619443] cdc_ether 3-1:1.0 eth2: register 'cdc_ether' at usb-0000:00:11.0-1, CDC Ethernet Device, 00:e0:22:01:7d:15
[   12.619589] usbcore: registered new interface driver cdc_ether

root@focal-newport:~# ls /sys/class/net/
can0  eth0  eth1  eth2  lo

Assign the interface a DHCP address:

dhclient eth2

If config will show eth2 with the address 192.168.3.9, counterintuitively SSH connections can be made to the Z2 at the 192.168.3.1 address "ssh root@192.168.3.1"

ERA RF Analyzer Software

ERA is Epiq's proprietary RF analyzer software. View it here

Install Epiq ERA software on the Z2, instructions and files provided by Epiq.

Launch ERA and allow the shell to run the application.

Epiq RF Analyzer Screenshot

Port forwarding using nftables to access ERA from your workstation

Nftables allows packets to be forwarded from the Gateworks network interface to the Z2 interface and back out to an external network. This will allow access to the ERA web interface from a desktop workstation browser

Install nftables and start the service

apt install nftables -y
systemctl enable nftables.service
systemctl start nftables.service

Check if ip forwarding is enabled, by default it is not.

root@focal-newport:~# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1 #0 is disabled

To enable ip forwarding

sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl -p

Configure nftables by copying these commands individually, replace 192.168.0.1 with the IP address of the interface on the Gateworks which is connected to your network (the same used for connecting with SSH)

nft flush ruleset # clear existing rule set

nft add table nat

nft 'add chain nat postrouting { type nat hook postrouting priority 100 ; }'

nft 'add chain nat prerouting { type nat hook prerouting priority -100; }'

nft 'add rule nat prerouting ip daddr 192.168.0.1 tcp dport { 3000 } dnat 192.168.3.1:3000' 

nft 'add rule nat prerouting iif eth0 tcp dport { 1138-1141, 3000 } dnat 192.168.3.1'

nft add rule nat postrouting masquerade

Verify your changes

nft list ruleset

Make the ruleset persistant

nft list ruleset | tee /etc/nftables.conf

Open a web browser on your workstation, connect to the running ERA server by typing 192.168.0.1:3000, really <the Gateworks IP>:3000

Enjoy ERA from your workstation!

Resources

Last modified 36 hours ago Last modified on 10/15/2021 09:06:23 PM

Attachments (4)

Download all attachments as: .zip