plutoplus / plutoplus

The repo maintain PlutoSDR+
180 stars 45 forks source link

Operating multiple plutoplus at the same time #23

Open JWK0323 opened 1 year ago

JWK0323 commented 1 year ago

Hi. I am trying to operate multiple pluto-plus at the same time. so, i changed the ip address and host name in config.txt file each pluto However, there are some issues like recognizing the pluto devices and also do not operate even while ping command is running.. (The method in the multiple pluto guide does not work)

is it possible to recognize multiple pluto plus devices and operate at the same time?

DeonMarais64 commented 1 year ago

I have two Pluto+'s on my network without any problems, Their config files look as follows,

First Pluto+

# Analog Devices PlutoSDR Rev.C (Z7010-AD9363)
# Device Configuration File
#   1. Open with an Editor
#   2. Edit this file
#   3. Save this file on the device USB drive
#   4. Eject the device USB Drive
# Doc: https://wiki.analog.com/university/tools/pluto/users/customizing

[NETWORK]
hostname = pluto
ipaddr = 192.168.2.1
ipaddr_host = 192.168.2.10
netmask = 255.255.255.0

[WLAN]
ssid_wlan = 
pwd_wlan = 
ipaddr_wlan = 

[USB_ETHERNET]
ipaddr_eth = 192.168.1.39
netmask_eth = 255.255.255.0

[SYSTEM]
xo_correction = 
udc_handle_suspend = 0
# USB Communication Device Class Compatibility Mode [rndis|ncm|ecm]
usb_ethernet_mode = 0

[ACTIONS]
diagnostic_report = 0
dfu = 0
reset = 0
calibrate = 0

Second Pluto+

# Analog Devices PlutoSDR Rev.C (Z7010-AD9363)
# Device Configuration File
#   1. Open with an Editor
#   2. Edit this file
#   3. Save this file on the device USB drive
#   4. Eject the device USB Drive
# Doc: https://wiki.analog.com/university/tools/pluto/users/customizing

[NETWORK]
hostname = plutoplus
ipaddr = 192.168.3.1
ipaddr_host = 192.168.3.10
netmask = 255.255.255.0

[WLAN]
ssid_wlan = 
pwd_wlan = 
ipaddr_wlan = 

[USB_ETHERNET]
ipaddr_eth = 192.168.1.40
netmask_eth = 255.255.255.0

[SYSTEM]
xo_correction = 
udc_handle_suspend = 0
# USB Communication Device Class Compatibility Mode [rndis|ncm|ecm]
usb_ethernet_mode = 0

[ACTIONS]
diagnostic_report = 0
dfu = 0
reset = 0
calibrate = 0

Ethernet only,

deon@deon-ugrvm:~$ iio_info -s
Library version: 0.24 (git tag: e598e4b)
Compiled with backends: local xml ip usb serial
Unable to create Local IIO context : No such file or directory (2)
Available contexts:
    0: 192.168.1.39 (Analog Devices PlutoSDR Rev.C (Z7010-AD9361)), serial=10000023135756120041002703111138a7 [ip:pluto.local]
    1: 192.168.1.40 (Analog Devices PlutoSDR Rev.C (Z7010-AD9361)), serial=1000002313575612002600260311112a3e [ip:plutoplus.local]

deon@deon-ugrvm:~$ ping pluto.local
PING pluto.local (192.168.1.39) 56(84) bytes of data.
64 bytes from 192.168.1.39 (192.168.1.39): icmp_seq=1 ttl=64 time=1.01 ms
64 bytes from 192.168.1.39 (192.168.1.39): icmp_seq=2 ttl=64 time=1.80 ms
^C
--- pluto.local ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.008/1.401/1.795/0.393 ms
deon@deon-ugrvm:~$ ping plutoplus.local
PING plutoplus.local (192.168.1.40) 56(84) bytes of data.
64 bytes from plutop.local (192.168.1.40): icmp_seq=1 ttl=64 time=1.02 ms
64 bytes from plutop.local (192.168.1.40): icmp_seq=2 ttl=64 time=1.60 ms
^C
--- plutoplus.local ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.021/1.309/1.597/0.288 ms
deon@deon-ugrvm:~$ 

Ethernet and USB (via VirtualHere and network connected Raspberry Pi's),

deon@deon-ugrvm:~$ iio_info -s
Library version: 0.24 (git tag: e598e4b)
Compiled with backends: local xml ip usb serial
Unable to create Local IIO context : No such file or directory (2)
Available contexts:
    0: 192.168.1.39 (Analog Devices PlutoSDR Rev.C (Z7010-AD9361)), serial=10000023135756120041002703111138a7 [ip:pluto.local]
    1: 192.168.2.1 (Analog Devices PlutoSDR Rev.C (Z7010-AD9361)), serial=10000023135756120041002703111138a7 [ip:pluto.local]
    2: 192.168.1.40 (Analog Devices PlutoSDR Rev.C (Z7010-AD9361)), serial=1000002313575612002600260311112a3e [ip:plutoplus.local]
    3: 192.168.3.1 (Analog Devices PlutoSDR Rev.C (Z7010-AD9361)), serial=1000002313575612002600260311112a3e [ip:plutoplus.local]
    4: 0456:b673 (Analog Devices Inc. PlutoSDR (ADALM-PLUTO)), serial=1000002313575612002600260311112a3e [usb:5.4.5]
    5: 0456:b673 (Analog Devices Inc. PlutoSDR (ADALM-PLUTO)), serial=10000023135756120041002703111138a7 [usb:5.5.5]
deon@deon-ugrvm:~$ ping pluto.local
PING pluto.local (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1 (192.168.2.1): icmp_seq=1 ttl=64 time=2.04 ms
64 bytes from 192.168.2.1 (192.168.2.1): icmp_seq=2 ttl=64 time=4.08 ms
^C
--- pluto.local ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 2.042/3.062/4.083/1.020 ms
deon@deon-ugrvm:~$ ping plutoplus.local
PING plutoplus.local (192.168.3.1) 56(84) bytes of data.
64 bytes from 192.168.3.1 (192.168.3.1): icmp_seq=1 ttl=64 time=2.46 ms
64 bytes from 192.168.3.1 (192.168.3.1): icmp_seq=2 ttl=64 time=5.29 ms
64 bytes from 192.168.3.1 (192.168.3.1): icmp_seq=3 ttl=64 time=4.35 ms
^C
--- plutoplus.local ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 2.462/4.035/5.292/1.176 ms
deon@deon-ugrvm:~$ 

What is important is,

hostname = pluto
ipaddr = 192.168.2.1
ipaddr_host = 192.168.2.10

vs

hostname = plutoplus
ipaddr = 192.168.3.1
ipaddr_host = 192.168.3.10

They must be on different sub nets.

ipaddr_eth = 192.168.1.39

and

ipaddr_eth = 192.168.1.40

Not really needed if you are happy with dynamically assigned IP address given by your network DHCP server, In other words and in that caseipaddr_eth Could be left blank.

In case it matters, I am using this firmware on both Pluto+'s.