Topics

Networked Pluto #plutosdr

pseudonoise@...
 

Hi
I've got my pluto working as a USB device with Sdrangel but I'm trying to get it recognised as a networked device via ethernet on address 192.168.0.40.  I can connect to it usuing GQRX on 192.168.0.40 so I know it is working over ethernet.

I've tried to follow the instructions to add it as a non-discoverable device but after adding the device user arguements and restarting Sdrangel it is not in the list of selectable sink or source devices.

Can someone provide some help please ?

I've attached a screengrab to show what I have tried to do. 

Many thanks,

James G1PVZ

pseudonoise@...
 

Further work dhows that i can find the pluto using -

James@superboffin:/opt/install/SoapySDR/lib$ SoapySDRUtil --probe="driver=plutosdr,hostname=192.168.0.40"
######################################################
## Soapy SDR -- the SDR abstraction library
######################################################

Probe device driver=plutosdr,hostname=192.168.0.40
[INFO] Opening plutosdr #0 192.168.0.40...

----------------------------------------------------
-- Device identification
----------------------------------------------------
  driver=PlutoSDR
  hardware=ADALM-PLUTO
  ad9361-phy,model=ad9364
  ad9361-phy,xo_correction=39999752
  backend_version=0.18 (git tag: v0.18  )
  fw_version=v0.31
  hw_model=Analog Devices PlutoSDR Rev.B (Z7010-AD9364)
  hw_model_variant=0
  hw_serial=104473222a870010f9ff23003eadd501f6
  ip,ip-addr=192.168.0.40
  library_version=0.16 (git tag: v0.16)
  local,kernel=4.14.0-42540-g387d584

----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
  Channels: 1 Rx, 1 Tx
  Timestamps: NO
  Sensors: xadc_temp0, xadc_voltage0, xadc_voltage1, xadc_voltage2, xadc_voltage3, xadc_voltage4, xadc_voltage5, xadc_voltage6, xadc_voltage7, xadc_voltage8, adm1177_current0, adm1177_voltage0, ad9361-phy_temp0, ad9361-phy_voltage2

----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
  Full-duplex: YES
  Supports AGC: YES
  Stream formats: CS8, CS12, CS16, CF32
  Native format: CS16 [full-scale=2048]
  Antennas: A_BALANCED
  Corrections: DC removal
  Full gain range: [0, 73] dB
    PGA gain range: [0, 73] dB
  Full freq range: [70, 6000] MHz
    RF freq range: [70, 6000] MHz
  Sample rates: 0.065105, 1, 2, 3, 4, 6, 7, 8, 9, 10 MSps
  Filter bandwidths: 0.2, 1, 2, 3, 4, 6, 7, 8, 9, 10 MHz

----------------------------------------------------
-- TX Channel 0
----------------------------------------------------
  Full-duplex: YES
  Supports AGC: NO
  Stream formats: CS8, CS12, CS16, CF32
  Native format: CS16 [full-scale=32768]
  Antennas: A
  Corrections: DC removal
  Full gain range: [0, 89] dB
    PGA gain range: [0, 89] dB
  Full freq range: [70, 6000] MHz
    RF freq range: [70, 6000] MHz
  Sample rates: 0.065105, 1, 2, 3, 4, 6, 7, 8, 9, 10 MSps
  Filter bandwidths: 0.2, 1, 2, 3, 4, 6, 7, 8, 9, 10 MHz

So I'm really confused now why Sdrangel can't find my networked pluto.

James G1PVZ

Peter Ide-Kostic
 

Hi James,

Assuming you are on linux, you just need to update your /etc/hosts file to tell map the ipaddress of your Adalm-Pluto device to the hostname "plutosdr" and/or "pluto.local" (I don't remember which one of the two is required)
Then sdrangel will find the device and it will appear in the list

In my case I use
"192.168.0.104   pluto PlutoSDR plutosdr pluto.local

where 192.168.0.104 is the IP address of the Ethernet adaptator connecting to my plutosdr

you can put as many host names as you want after the IP address, the ones in the list above work are adapted to suit all my apps including Sdrangel

If you run windows, you need to to something equivalent, check on Youtube, there is a video of "Signals everywhere" explaining how to do it under windows

Regards
Peter

Edouard Griffiths
 

Hello James,

in the "device user arguments" window the Hardware ID (HwID) "Pluto_Ether" is incorrect this should be "PlutoSDR". It has to match the identifier stored in the corresponding plugin.

Best regards,
Edouard.

pseudonoise@...
 

Dear Peter/Edouard,

Thank you for all the help - I originally tried Peter's suggestion which didn't work with my naming of the device (Pluto_Ether) however when I used PlutoSDR as the identifier I could access the networked Pluto :)

I have now discovered that if the Pluto is not connected to my network and I try to start Sdrangel to use a connected (USB) device (such as my Airspy HF +) I get a segmentation error.

I have to physically re-connect the pluto on 192.168.0.40 for Sdrangel to start so I can use my HF+. A subsequent attempt to run Sdrangel is successful.

It appears if the last device to be used was the networked Pluto the program will seg fault if it is no longer available on the next start.

This is a little inconvenient as the Pluto may not always be available and I want to use another receiver.


Many thanks again.

James G1PVZ

Here is the console text with the segfault-

.SPAddBasebandSampleSink
2020-05-20 09:58:03.758 (D) SpectrumVis::handleMessage: DSPSignalNotification:  centerFrequency:  0  sampleRate:  0
2020-05-20 09:58:03.761 (D) PlutoSDRInput::openDevice: allocated SampleFifo
2020-05-20 09:58:03.762 (D) PlutoSDRInput::openDevice: open device here
2020-05-20 09:58:06.836 (D) DSPDeviceSourceEngine::addSink:  FileRecord
2020-05-20 09:58:06.836 (D) DSPDeviceSourceEngine::handleSynchronousMessages:  DSPAddBasebandSampleSink
2020-05-20 09:58:06.836 (D) FileRecord::handleMessage: DSPSignalNotification: m_inputSampleRate:  0  m_centerFrequency:  0
2020-05-20 09:58:06.895 (D) DSPDeviceSourceEngine::setSource
2020-05-20 09:58:06.895 (D) DSPDeviceSourceEngine::handleSynchronousMessages:  DSPSetSource
2020-05-20 09:58:06.895 (D) DSPDeviceSourceEngine::gotoIdle
2020-05-20 09:58:06.895 (D) DSPDeviceSourceEngine::handleSetSource: set PlutoSDRInput
Segmentation fault

Edouard Griffiths
 
Edited

Hello,

this is a known story already addressed in this issue: https://github.com/f4exb/sdrangel/issues/510 There are various sub cases depending on the exact configuration. The problem being that the defaults for your networked Pluto are saved when exiting the program while the Pluto is connected and when you start again without the Pluto connected it will try to access it unconditionally because it is present in the user devices definitions. The fix is under way and already available on the v5 branch (v5.6.1). If the device cannot be brought up at all as it seems to be your case it will fire up a File Input instead so that it lets you carry on at least. Sometimes it can still create an interface for the Pluto (possibly when you have another Pluto connected) but fails opening it (of course) in this case it will create the Pluto GUI but with obviously incorrect values and it will not be able to start it. In this case it also lets you carry on and fix things.

Edit: now available in mainstream v4.14.7

Brgds, Edouard.