In RFC 1918 the Internet Engineering Task Force has directed the Internet Assigned Numbers Authority to reserve the IPv4 address range the
192.168.*.* (and others) for private networks. Analog Devices picked the
192.168.2.* subnet for it's private network for host to PlutoSDR devices, but there isn't anything stopping other people (including yourself) to be running a real network on the
It's a quick update to change the PlutoSDR network settings, which is described below.
When using multiple PlutoSDR devices on the same host, there are a few options:
In network mode, the default configuration is to have an IP address for the host (
192.168.2.10), and the actual PlutoSDR device (
192.168.2.1). As one can expect - IP addresses are expected to be unique, and the default configuration works well when you have one device, but not as well when you have multiple.
In order to use multiple devices, you must change their IP address. This is managed by updating the
config.txt file on the PlutoSDR mass storage device.
# Device Configuration File # Edit, Save and then Eject the USB Drive [NETWORK] hostname = pluto ipaddr = 192.168.2.1 ipaddr_host = 192.168.2.10 netmask = 255.255.255.0
It's a simple matter of updating the
[NETWORK] settings of the PlutoSDR
ipaddr (default is
192.168.2.1), and your host PC settings
ipaddr_host (default of 192.168.2.10).
ipaddr_host must be unique, and must be on the same subnet. Separate Plutos on the same machine must be assigned different subnets. It's not recommended to use the real internet subnet. After saving the file back to the PlutoSDR mass storage device, simply eject (not unplug) the PlutoSDR mass storage device from your host.
There is a Avahi deamon running on the PlutoSDR.
Avahi is a free Zero-configuration networking (zeroconf) implementation, including a system for multicast DNS/DNS-SD service discovery.
hostname is unique and your host is zeroconf enabled, you can simply connect to your PlutoSDR using
michael@mhenneri-D04:~$ iio_info -n pluto.local Library version: 0.9 (git tag: f7cde8f) Compiled with backends: local xml ip usb IIO context created with network backend. Backend version: 0.9 (git tag: v0.9 ) Backend description string: 192.168.2.1 Linux (none) 4.6.0-25369-g51ebbb9 #120 SMP PREEMPT Thu Apr 6 09:04:26 CEST 2017 armv7l IIO context has 2 attributes: local,kernel: 4.6.0-25369-g51ebbb9 ip,ip-addr: 192.168.2.1 IIO context has 5 devices: [--snip--]
[ACTIONS] diagnostic_report = 0 dfu = 0 reset = 0
This section allows the user to perform certain
The procedure is always the same. The
config.txt file is edited using your favorite editor.
Then the file is saved, finally the drive is ejected. (Not unplugged)
After 2-3 seconds the drive reappears and may have some new file indicating some status.
Setting this to
1 will generate a file called
diagnostic_report, which contains various status information about the system and the Hardware.
The information contained in this report can be used to asses and debug system problems or failures. In order to guarantee fast and precise support it is recommended to always include a diagnostic when reporting a problem.
Setting this to
1 will put the system into DFU mode.
Device Firmware Upgrade (DFU) is a vendor- and device-independent mechanism for upgrading the firmware of USB devices.
Setting this to
1 simply resets and reboots the device.
|RF Transceiver||LO tuning range||Bandwidth|
|AD9363 (Default ADALM-PLUTO)||325 - 3800 MHz||20 MHz|
|AD9364||70 - 6000 MHz||56 MHz|
There were some early PlutoSDR devices which use the AD9364, which is nearly identical to the AD9363 used the production builds. If you have one of the AD9364 based PlutoSDR devices, it's a quick matter of using the U-Boot's fw_printenv and fw_setenv commands to get that device's larger tuning range (70-6000 MHz) and larger bandwidth (56MHz).
From your favorite serial application, just open a serial connection (or ssh to 192.168.2.1) to the PlutoSDR. The username is
root and the password is
This will be the default (based on the AD9363):
# fw_printenv attr_name ## Error: "attr_name" not defined # fw_printenv attr_val ## Error: "attr_val" not defined #
To change things to the AD9364 configuration:
# fw_setenv attr_name compatible # fw_setenv attr_val ad9364 # reboot
To learn more about resetting, check out the developer documentation.
After rebooting the device, this is what the AD9364 configuration looks like:
Welcome to Pluto pluto login: root Password: # fw_printenv attr_name attr_name=compatible # fw_printenv attr_val attr_val=ad9364 #