pothosware / SoapySDR

Vendor and platform neutral SDR support library.
https://github.com/pothosware/SoapySDR/wiki
Boost Software License 1.0
1.09k stars 176 forks source link

Spyserver support #156

Closed nmaster2042 closed 2 years ago

nmaster2042 commented 6 years ago

Hi,

The airspy team develops a server to use airspy, airspy mini, and airspy hf+ remotely over ip just like rtl_tcp does for RTLSDRs.

Some servers are publicly avaliable (see airspy.comweb site).

It would be a nice addition to have a SoapySpyserver to handle theses servers.

There is an opensource example of spyserver client implementation here:

https://github.com/opensatelliteproject/xritdemod/blob/master/demodulator/src/SpyServerFrontend.cpp

guruofquality commented 6 years ago

Not the first time it came up, but FWIW I coudn't find the spec, so I'm glad there is some open source code to show the format if thats what it takes.

Also, is the idea to make a server that emulates the airspy network protocol so any SoapySDR device can appear as a remote airspy device?

Or is the idea to make a client that can talk to an airspy server and wrap that into a SoapySDR support module?

Or both? :-)

nmaster2042 commented 6 years ago

Hi guruofquality,

When I first heard of spyserver, I though it was closed, the source of this software isn't published.

But, I red the airspy team let people implement the protocol used by spyserver in order to add spyserver support on open source software clients.

The idea was to create a SoapySpyserver so that softwares like CubicSDR or GQRX can connect and use spyservers on a LAN or on the net.

For the idea of creating a server using spyserver protocol, I don't know if airspy team will allow it, as it's closed source.

Moreover, isn't SoapyRemote doing the same thing ?

Not exactly, because spyserver seems to use compression, to minimize bandwith usage. It can send full iq or small part iq that is actually needed for demodulation on the client and it is not multi user.

But why not extend SoapyRemote, adding such optimization ideas, without using the spyserver protocol ? so that it becomes doable to share a soapy sdr device on the net ?

nmaster2042 commented 6 years ago

Hi,

There is a new gr-osmosdr fork that provide spyserver support: https://github.com/racerxdl/gr-osmosdr

Tried it with gqrx, it's working fine.

Perhaps a good start for a SoapySpyserver implementation ?

kevinelliott commented 3 years ago

This would still be a wonderful addition.

kevinelliott commented 3 years ago

This might be a great place to start: https://github.com/miweber67/spyserver_client

I tested it out today and it works! It can pull remote IQ frames from spy servers on the list at https://airspy.com/directory/

I would imagine you could clean the details on that from the source.

ckarrie commented 3 years ago

Would love to see it in soapySDR

kevinelliott commented 3 years ago

Agreed, I hope someone takes it on.

ncorgan commented 2 years ago

Closed with the release of https://github.com/pothosware/SoapySpyServer