^

Getting an Analog Devices ADALM-PLUTO working on ubuntu server.

The ADI ADALM Pluto is a great device for prototyping SDR solutions. It is compatible with [GNU Radio(https://wiki.gnuradio.org/index.php/PlutoSDR_Source)], has a python API , and is a great utility that is readily commercially available. It is even the subject of a widely availible course on DSP, pySDR .

At Qoherent, we use it for all sorts of applications with all kinds of workstations. One common use case is with our portable ubuntu server systems.

Unfortunately, the Pluto SDR doesnt automatically connect to ubuntu server. The Pluto SDR it is a USB device that emulates an ethernet conenction, and ubuntu server does not let USB devices install themselves automatically.

To overcome this, we have put together the following guide.

Finding the pluto

To get it set up, first verify the pluto is connected via lsusb:

lsusb

With the pluto plugged in run ip link show:

ip link show

Take note of what is shown. Unplug the pluto then run it again. Note the parameters that are missing. Run ip lonk show again.

ip link show

Plug it in again then run ip link show it one more time to see the new connection.

Note the name of the interface - in this case enx00e022f21353

 

Setting up the new connection.

Manually set ifconfig for enx00e022f21353.

sudo ifconfig enx00e022f21353 192.168.3.2 netmask 255.255.255.0 up

Make special note to use the same IP subnet of your pluto (this one is set to the default of 192.168.3.1, so any IP on 192.168.3.x will do).

run ifconfig again to see that the new interface exists.

ifconfig

test with a ping

ping 192.168.3.1

if it returns a result, you are good to go!

 

  NOTE, this method will NOT persist across reboots. To do that, do the following method:

sudo nano /etc/netplan/02-usb-device.yaml

add these contents:  

network:
  version: 2
  renderer: networkd
  ethernets:
    enx00e022f21353:  # use your correct interface name here
      dhcp4: no
      addresses: [192.168.3.2/24]

 

sudo netplan apply
ping 192.168.3.1