need support to connect to an rtl_tcp service via network for satnogs_client. Managed to identify driver=rtltcp.
But passing the host and port is giving me a hard time.
a sample config is highly appreciated.
thanks in advance
need support to connect to an rtl_tcp service via network for satnogs_client. Managed to identify driver=rtltcp.
But passing the host and port is giving me a hard time.
a sample config is highly appreciated.
thanks in advance
There is by default no SoapyRTLTCP support part of the SatNOGS client.
One needs to add the driver or build it from source https://github.com/pothosware/SoapyRTLTCP
Then this driver will have the option driver="rtltcp=ip address"
I’m trying to use this method, but it seems my client doesn’t like it:
INFO satnogsclient.observer.observer Begin observation 12592671 …
INFO satnogsclient.observer.worker Rotator inverting set to: False
rot_init called
initrots4_dummy: _init called
rot_register (1)
rot_register (2)
rot_open called
rot_open: using network address 172.18.0.3:4533
network_open called
network_open version 1.0
network_open: hoststr=172.18.0.3, portstr=4533
netrotctl_open called
rig_flush: called for network device
network_flush called
write_block called
write_block(): TX 12 bytes
0000 5c 64 75 6d 70 5f 73 74 61 74 65 0a \dump_state.
read_string called, rxmax=64
read_string(): RX 2 characters
0000 30 0a 0.
read_string called, rxmax=64
read_string(): RX 4 characters
0000 36 30 32 0a 602.
read_string called, rxmax=64
read_string(): RX 9 characters
0000 30 2e 30 30 30 30 30 30 0a 0.000000.
read_string called, rxmax=64
read_string(): RX 11 characters
0000 33 36 30 2e 30 30 30 30 30 30 0a 360.000000.
read_string called, rxmax=64
read_string(): RX 9 characters
0000 30 2e 30 30 30 30 30 30 0a 0.000000.
read_string called, rxmax=64
read_string(): RX 11 characters
0000 31 38 30 2e 30 30 30 30 30 30 0a 180.000000.
rot_set_position called az=263.57 el=-0.11
rot_set_position: south_zero=0
rot_set_position: range problem az=263.57(min=0.00,max=360.00), el=-0.109578(min=0.00,max=180.000000)
rig_init: rig does not have rx_range!!
network_open: hoststr=172.18.0.4, portstr=4532
INFO satnogsclient.observer.observer Start gnuradio thread.
Traceback (most recent call last):
File “/usr/bin/satnogs_fsk.py”, line 586, in
main()
File “/usr/bin/satnogs_fsk.py”, line 569, in main
tb = top_block_cls(antenna=options.antenna, baudrate=options.baudrate, bb_freq=options.bb_freq, bw=options.bw, clock_source=options.clock_source, dc_removal=options.dc_removal, decoded_data_file_path=options.decoded_data_file_path, dev_args=options.dev_args, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, framing=options.framing, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, master_clock_rate=options.master_clock_rate, other_settings=options.other_settings, ppm=options.ppm, rigctl_host=options.rigctl_host, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, samp_rate_rx=options.samp_rate_rx, soapy_rx_device=options.soapy_rx_device, stream_args=options.stream_args, lo_transverter=options.lo_transverter, tune_args=options.tune_args, udp_IP=options.udp_IP, udp_dump_host=options.udp_dump_host, udp_dump_port=options.udp_dump_port, udp_port=options.udp_port, waterfall_file_path=options.waterfall_file_path)
File “/usr/bin/satnogs_fsk.py”, line 101, in init
self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
File “/usr/lib/python3/dist-packages/soapy/soapy_swig.py”, line 131, in make
return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
RuntimeError: SoapySDR::Device::make() no match
netrigctl_close: done status=Command completed successfully
INFO satnogsclient.observer.observer Observation 12592671 finished.
ERROR satnogsclient.observer.observer No waterfall data file found
I have tried Soapy with rtl_tcp from the docker console, and it works properly:
satnogs-client@0f358b8a99c7:~$ SoapySDRUtil --find=“rtltcp=10.0.0.42:1234”
######################################################
######################################################
[INFO] RTL-TCP Opening 10.0.0.42:1234…
[ERROR] avahi_client_new() failed: Daemon not running
[ERROR] avahi_client_new() failed: Daemon not running
shm_open: No such file or directory
[ERROR] sdrplay_api_Open() Error: sdrplay_api_Fail
[ERROR] Please check the sdrplay_api service to make sure it is up. If it is up, please restart it.
[INFO] RTL-TCP Connected to server 10.0.0.42 port 1234
[INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
ERROR: Unable to create Avahi DNS-SD client :Daemon not running
[WARNING] Unable to scan ip: -26
Found Rafael Micro R820T tuner
[ERROR] SoapySDR::Device::enumerate(sdrplay) sdrplay_api_Open() failed
Found device 0
default_input = True
default_output = True
device_id = 0
driver = audio
label = PulseAudio
Found device 1
driver = rtlsdr
label = Generic RTL2832U OEM :: 00000001
manufacturer = Realtek
product = RTL2838UHIDIR
serial = 00000001
tuner = Rafael Micro R820T
Found device 2
driver = rtltcp
label = rtl_tcp :: 10.0.0.42:1234
rtltcp = 10.0.0.42:1234
tuner = R820T
The environment variable looks like this:
SATNOGS_SOAPY_RX_DEVICE driver=“rtltcp=10.0.0.42:1234”
Any idea why the client doesn’t like my setup? I built and installed (sudo make install) the driver from source, but do I need to add it in a different way?
Tibor
Is this a docker based install ?
Yes, it is. I tested the connection from the docker console.
Then it maybe needs some extra docker config so it is able to connect to an host where rtl_tcp is running.
I am also no sure if the Soapy RTLTCP driver is present in the current docker image.
Check the Soapy drivers inside the container and see if you are able to connect to a host running the rtl_tcp program.
Jan | PE0SAT
I think I did that with
SoapySDRUtil --find=“rtltcp=10.0.0.42:1234”
Check my longer post above for the output. It seems to be included, doesn’t it?
This is just the generic configuration, but is this soapy driver part of the container image and can the container connect to ip address 10.0.0.42 ?
Sorry missed the option that the summery can show more information.
SoapySDRUtil --info will show if the driver is available
Try SoapySDRUtil --probe=“rtltcp=10.0.0.42:1234” if it is able to connect if the driver is shown after the --info
Jan | PE0SAT
satnogs-client@0f358b8a99c7:~$ SoapySDRUtil --info
Returns:
######################################################
######################################################
Lib Version: v0.7.2-2
API Version: v0.7.1
ABI Version: v0.7
Install root: /usr
Search path: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7
Search path: /usr/local/lib/aarch64-linux-gnu/SoapySDR/modules0.7 (missing)
Search path: /usr/local/lib/SoapySDR/modules0.7
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libHackRFSupport.so (0.3.4)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libLMS7Support.so (20.10.0)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libPlutoSDRSupport.so (0.2.1)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libRedPitaya.so (0.1.1)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libairspySupport.so (0.1.2)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libairspyhfSupport.so (0.2.0)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libaudioSupport.so (0.1.1)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libbladeRFSupport.so (0.4.1)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libmiriSupport.so (0.2.5)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libosmosdrSupport.so (0.2.5)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libremoteSupport.so (0.5.2)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/librfspaceSupport.so (0.2.5)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/librtlsdrSupport.so (0.3.2)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libuhdSupport.so (0.4.1)
Module found: /usr/local/lib/SoapySDR/modules0.7/librtltcpSupport.so (0.1.0-e4c3701)
Module found: /usr/local/lib/SoapySDR/modules0.7/libsdrPlaySupport.so (0.5.1-2c8169d)
Module found: /usr/local/lib/SoapySDR/modules0.7/libsoapyMiriSupport.so (ae106fa)
Available factories… airspy, airspyhf, audio, bladerf, hackrf, lime, miri, osmosdr, plutosdr, redpitaya, remote, rfspace, rtlsdr, rtltcp, sdrplay, soapyMiri, uhd
Available converters…
and
satnogs-client@0f358b8a99c7:~$ SoapySDRUtil --probe=“rtltcp=10.0.0.42:1234”
returns:
######################################################
######################################################
Probe device “rtltcp=10.0.0.42:1234”
[ERROR] avahi_client_new() failed: Daemon not running
[ERROR] avahi_client_new() failed: Daemon not running
[WARNING] RTL-TCP Address error: Name or service not known
shm_open: No such file or directory
[ERROR] sdrplay_api_Open() Error: sdrplay_api_Fail
[ERROR] Please check the sdrplay_api service to make sure it is up. If it is up, please restart it.
[INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
ERROR: Unable to create Avahi DNS-SD client :Daemon not running
[WARNING] Unable to scan ip: -26
Found Rafael Micro R820T tuner
[ERROR] SoapySDR::Device::enumerate(sdrplay) sdrplay_api_Open() failed
driver=Audio
hardware=Audio
device_id=0
origin=GitHub - pothosware/SoapyAudio: Soapy SDR plugin for Audio devices
Channels: 1 Rx, 0 Tx
Timestamps: NO
Other Settings:
* Stereo Sample Offset - Offset stereo samples for off-by-one audio inputs.
[key=sample_offset, default=0, type=string, options=(-2, -1, 0, 1, 2)]
* Rig Control - Select hamlib rig control type.
[key=rig, type=string, options=(29001, 25016, 25017, 25013, 25018, 5008, 5006, 5005, 5004, 5014, 5003, 5015, 5002, 5001, 5013, 5016, 17001, 17002, 25006, 32001, 25003, 23003, 23004, 31002, 31001, 9002, 9003, 33001, 2021, 2029, 2043, 2047, 2044, 2045, 2038, 25001, 25007, 4, 25012, 23001, 2036, 2048, 25015, 1, 6, 2, 2046, 25019, 3054, 3002, 3003, 3072, 3004, 3006, 3007, 3060, 3055, 3085, 3009, 3010, 3011, 3012, 3070, 3013, 3061, 3014, 3015, 3016, 3017, 3073, 3019, 3020, 3021, 3022, 3067, 3023, 3046, 3024, 3026, 3027, 3047, 3057, 3063, 3028, 3078, 3029, 3062, 3030, 3045, 3056, 3031, 3075, 3032, 3034, 3044, 3068, 3065, 3035, 3081, 30001, 30003, 30002, 30004, 4002, 4001, 4003, 4004, 3036, 3058, 3080, 3077, 3040, 3037, 3041, 3038, 3039, 3079, 3043, 3066, 3069, 3042, 3083, 3082, 3084, 3071, 6005, 6006, 6007, 25011, 18001, 2015, 2033, 2042, 2017, 2019, 2020, 2023, 2026, 2034, 2027, 2030, 2025, 2014, 2002, 2003, 2028, 2001, 2004, 2016, 2031, 2037, 2024, 2005, 2006, 2007, 2008, 2009, 2010, 2041, 2022, 2011, 2012, 2013, 2039, 10004, 3074, 25014, 2040, 3053, 3052, 28001, 24001, 11005, 11003, 8004, 27002, 27001, 27003, 25002, 2032, 14004, 14002, 25009, 22001, 5, 3064, 3051, 16003, 16012, 16004, 16005, 16007, 16002, 16001, 16008, 16009, 16011, 16013, 8002, 8006, 8001, 8003, 8012, 8010, 8011, 1033, 26001, 26002, 12004, 15001, 15002, 15003, 15004, 15005, 15006, 15007, 15009, 3076, 1017, 1019, 1018, 1021, 1003, 1024, 1029, 1027, 1039, 1010, 1005, 1006, 1007, 1009, 1020, 1041, 1011, 1001, 1038, 1022, 1015, 1036, 1023, 1013, 1014, 1028, 1031, 1016, 1035, 1034, 1037, 1032, 1030, 1040, 1004, 1025, 1026, 25008)]
* Rig Serial Rate - Select hamlib rig serial control rate.
[key=rig_rate, default=57600, type=string, options=(1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 128000, 256000)]
* Rig Serial Port - hamlib rig Serial Port dev / COMx / IP-Address
[key=rig_port, default=/dev/ttyUSB0, type=string]
Full-duplex: YES
Supports AGC: YES
Stream formats: CS8, CS16, CF32
Native format: CS16 [full-scale=65536]
Stream args:
* Channel Setup - Input channel configuration.
[key=chan, default=mono_l, type=string, options=(mono_l, mono_r, stereo_iq, stereo_qi)]
Antennas: RX
Full gain range: [0, 0] dB
Full freq range: [0, 6000] MHz
RF freq range: [0, 6000] MHz
Sample rates: 0.008, 0.016, 0.02205, 0.032, 0.0441, 0.048, 0.096 MSps
So the Soapy driver is present, but it seems you aren’t able to create a TCP/IP connection outside the docker container. Is ping available inside the container? Then you could try ping 10.0.0.42
ping is not installed, but nc is, so i tried connecting to my nc host
On my pc:
nc -l -k 1234
In docker container:
nc 10.0.0.42 1234
I can communicate back and forth.
FYI: I’m using satnog-client version 1.9.2+sa2kng
Good to know what image you are using, I have the same and will also give it a try today.
Could it be a version mismatch? AFAIK in docker we have gnuradio 3.8.
I’m trying to make this work on my laptop, but I have gnuradio 3.10 and it doesn’t have the same block as 3.8. It shows that Soapy Source is deprecated but that is what satnogs-client uses. It throws and error when I try to run it, but that’s expected. I will try to install 3.8 on my laptop and see if it works.
Are you running rtl_tcp -a 0.0.0.0 on the remote host with the RTLSDR connected ?
If you don’t specify -a 0.0.0.0 rtl_tcp only binds to 127.0.0.1 (localhost) and a remote connection won’t be possible.
I am specifying -a 0.0.0.0. I tried many things to make SoapySDRUtil work on my local laptop, but I can’t seem to get it working with the rtl-tcp driver. Did you have any success with it?
I tried this command with different formats, but none of them seem to work:
tibi@P50:~$ SoapySDRUtil --find=“driver=rtltcp=10.0.0.42:1234”
######################################################
######################################################
No devices found! driver=rtltcp=10.0.0.42:1234
Although
“SoapySDRUtil --info” shows that the driver is present:
…
Module found: /usr/local/lib/SoapySDR/modules0.8/librtltcpSupport.so (0.1.0-f213fa6)
…
Well that is a bit awkward, it seems that rtltcp is not using the driver= statement.
Below wasn’t tested in a docker container, but based on its non standard command line option my guess this will also solve your issue.
SoapySDRUtil --probe="rtltcp=x.x.x.x:1234"
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Probe device rtltcp=x.x.x.x:1234
[INFO] RTL-TCP Opening x.x.x.x:1234...
[INFO] [UHD] linux; GNU C++ version 14.2.0; Boost_108300; UHD_4.8.0.0+ds1-2
[INFO] RTL-TCP Connected to server x.x.x.x port 1234
RtApi::getDeviceInfo: deviceId argument not found.
[INFO] RTL-TCP Opening x.x.x.x:1234...
[INFO] RTL-TCP Connected to server x.x.x.x port 1234
----------------------------------------------------
-- Device identification
----------------------------------------------------
driver=RTLTCP
hardware=R828D
origin=https://github.com/pothosware/SoapyRTLTCP
----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
Channels: 1 Rx, 0 Tx
Timestamps: NO
Other Settings:
* Direct Sampling - RTL-TCP Direct Sampling Mode
[key=direct_samp, default=0, type=string, options=(0, 1, 2)]
* Offset Tune - RTL-TCP Offset Tuning Mode
[key=offset_tune, default=false, type=bool]
* I/Q Swap - RTL-TCP I/Q Swap Mode
[key=iq_swap, default=false, type=bool]
* Digital AGC - RTL-TCP digital AGC Mode
[key=digital_agc, default=false, type=bool]
* Bias Tee - RTL-TCP Blog V.3 Bias-Tee Mode
[key=biastee, default=false, type=bool]
----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
Full-duplex: NO
Supports AGC: YES
Stream formats: CU8, CS8, CS16, CF32
Native format: CS8 [full-scale=128]
Antennas: RX
Full gain range: [0, 49.6] dB
TUNER gain range: [0, 49.6] dB
Full freq range: [23.999, 1764] MHz
RF freq range: [24, 1764] MHz
CORR freq range: [-0.001, 0.001] MHz
Sample rates: [0.225001, 0.3], [0.900001, 3.2] MSps
Filter bandwidths: [0, 8] MHz
Soapy RTLTCP source, information.
Jan | PE0SAT
That’s good to know, however for me on my laptop the output is still weird:
tibi@P50:~/Documents/G5500/sat$ SoapySDRUtil --probe=“rtltcp=10.0.0.132:1234”
######################################################
######################################################
Probe device rtltcp=10.0.0.132:1234
[INFO] RTL-TCP Opening 10.0.0.132:1234…
[INFO] [UHD] linux; GNU C++ version 11.2.0; Boost_107400; UHD_4.1.0.5-3
[INFO] RTL-TCP Connected to server 10.0.0.132 port 1234
driver=Audio
hardware=Audio
device_id=0
origin=GitHub - pothosware/SoapyAudio: Soapy SDR plugin for Audio devices
Channels: 1 Rx, 0 Tx
Timestamps: NO
Other Settings:
* Stereo Sample Offset - Offset stereo samples for off-by-one audio inputs.
[key=sample_offset, default=0, type=string, options=(-2, -1, 0, 1, 2)]
* Rig Control - Select hamlib rig control type.
[key=rig, type=string, options=(29001, 25016, 25017, 25013, 25018, 5008, 5006, 5005, 5004, 5014, 5003, 5015, 5002, 5001, 5013, 5016, 9, 17001, 17002, 25006, 37001, 2053, 32001, 32003, 32002, 34003, 34001, 34002, 25003, 39001, 2055, 23003, 23004, 31002, 31001, 9001, 9002, 9003, 33001, 2021, 2029, 2043, 2047, 2044, 2045, 2038, 25001, 25007, 4, 25012, 2036, 23001, 23005, 23006, 23007, 23008, 23009, 23010, 23011, 23012, 2048, 25015, 35001, 11, 40001, 40002, 1, 6, 2, 2046, 25019, 3054, 3002, 3003, 3072, 3004, 3005, 3006, 3007, 3008, 3060, 3055, 3085, 3009, 3010, 3011, 3012, 3070, 3013, 3061, 3014, 3015, 3016, 3017, 3073, 3019, 3020, 3021, 3022, 3067, 3023, 3046, 3024, 3026, 3027, 3047, 3057, 3063, 3028, 3078, 3029, 3062, 3030, 3092, 3045, 3056, 3031, 3075, 3032, 3034, 3090, 3044, 3068, 3065, 3035, 3081, 3086, 30001, 30003, 30002, 30004, 4002, 4001, 4003, 4004, 3036, 3058, 3080, 3077, 3040, 3037, 3041, 3038, 3039, 3042, 3079, 3043, 3066, 3069, 3083, 3082, 3084, 3071, 6001, 6002, 6005, 6006, 6007, 25011, 18001, 2015, 2033, 2042, 2017, 2019, 2020, 2023, 2026, 2034, 2027, 2035, 2030, 2025, 2014, 2002, 2003, 2028, 2001, 2004, 2016, 2031, 2037, 2024, 2005, 2006, 2007, 2008, 2009, 2010, 2041, 2022, 2011, 2012, 2013, 2039, 2050, 10004, 1045, 36001, 36002, 2049, 38001, 3074, 25014, 10, 8, 2040, 3053, 3052, 28001, 2052, 2057, 24001, 11005, 11003, 8004, 32004, 27002, 27004, 27001, 27003, 27005, 25002, 2056, 2051, 2032, 14004, 14002, 25009, 22001, 2054, 5, 3064, 3051, 16003, 16012, 16004, 16005, 16007, 16002, 16001, 16008, 16009, 16011, 16013, 8002, 8006, 8001, 8003, 8012, 8010, 8011, 1033, 26001, 26002, 12004, 15001, 15002, 15003, 15004, 15005, 15006, 15007, 15009, 3088, 3076, 3089, 3087, 3091, 1017, 1019, 1018, 1021, 1002, 1003, 1024, 1004, 1025, 1029, 1027, 1046, 1039, 1047, 1049, 1010, 1005, 1006, 1007, 1009, 1020, 1041, 1011, 1001, 1038, 1022, 1015, 1036, 1023, 1043, 1013, 1014, 1028, 1031, 1016, 1048, 1035, 1042, 1040, 1044, 1034, 1037, 1032, 1030, 1050, 1051, 1026, 25008)]
* Rig Serial Rate - Select hamlib rig serial control rate.
[key=rig_rate, default=57600, type=string, options=(1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 128000, 256000)]
* Rig Serial Port - hamlib rig Serial Port dev / COMx / IP-Address
[key=rig_port, default=/dev/ttyUSB0, type=string]
Full-duplex: NO
Supports AGC: YES
Stream formats: CS8, CS16, CF32
Native format: CS16 [full-scale=65536]
Stream args:
* Channel Setup - Input channel configuration.
[key=chan, default=mono_l, type=string, options=(mono_l, mono_r, stereo_iq, stereo_qi)]
Antennas: RX
Full gain range: [0, 0] dB
Full freq range: [0, 6000] MHz
RF freq range: [0, 6000] MHz
Sample rates: 0.008, 0.016, 0.02205, 0.032, 0.0441, 0.048, 0.096, 0.192 MSps
Lets see what I get when I run a docker SatNOGS client (kng version)
SoapySDRUtil --info
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Lib Version: v0.7.2-2
API Version: v0.7.1
ABI Version: v0.7
Install root: /usr
Search path: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7
Search path: /usr/local/lib/x86_64-linux-gnu/SoapySDR/modules0.7 (missing)
Search path: /usr/local/lib/SoapySDR/modules0.7
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libHackRFSupport.so (0.3.4)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libLMS7Support.so (20.10.0)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libPlutoSDRSupport.so (0.2.1)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libRedPitaya.so (0.1.1)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libairspySupport.so (0.1.2)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libairspyhfSupport.so (0.2.0)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libaudioSupport.so (0.1.1)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libbladeRFSupport.so (0.4.1)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libmiriSupport.so (0.2.5)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libosmosdrSupport.so (0.2.5)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libremoteSupport.so (0.5.2)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/librfspaceSupport.so (0.2.5)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/librtlsdrSupport.so (0.3.2)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libuhdSupport.so (0.4.1)
Module found: /usr/local/lib/SoapySDR/modules0.7/librtltcpSupport.so (0.1.0-e4c3701)
Module found: /usr/local/lib/SoapySDR/modules0.7/libsdrPlaySupport.so (0.5.1-2c8169d)
Module found: /usr/local/lib/SoapySDR/modules0.7/libsoapyMiriSupport.so (ae106fa)
Available factories... airspy, airspyhf, audio, bladerf, hackrf, lime, miri, osmosdr, plutosdr, redpitaya, remote, rfspace, rtlsdr, rtltcp, sdrplay, soapyMiri, uhd
Available converters...
- CF32 -> [CF32, CS16, CS8, CU16, CU8]
- CS16 -> [CF32, CS16, CS8, CU16, CU8]
- CS32 -> [CS32]
- CS8 -> [CF32, CS16, CS8, CU16, CU8]
- CU16 -> [CF32, CS16, CS8]
- CU8 -> [CF32, CS16, CS8]
- F32 -> [F32, S16, S8, U16, U8]
- S16 -> [F32, S16, S8, U16, U8]
- S32 -> [S32]
- S8 -> [F32, S16, S8, U16, U8]
- U16 -> [F32, S16, S8]
- U8 -> [F32, S16, S8]
The Soapy driver for rtltcp is present.
Running rtl_tcp -a 0.0.0.0 -d 0 on the host
Found 2 device(s):
0: RTLSDRBlog, Blog V4, SN: 40001150
1: Realtek, RTL2838UHIDIR, SN: 00000775
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R828D tuner
RTL-SDR Blog V4 Detected
Tuned to 100.000000 MHz.
Bandwidth set to automatic resulted in 1953000 Hz.
activating Response channel on port 1235 with inactive I2C reporting
listening...
Use the device argument 'rtl_tcp=0.0.0.0:1234' in OsmoSDR (gr-osmosdr) source
to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...).
listening on Control port 1235...
Running SoapySDRUtil --probe="rtltcp=192.168.12.70:1234" in the docker container
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Probe device rtltcp=192.168.12.70:1234
[ERROR] avahi_client_new() failed: Daemon not running
[INFO] RTL-TCP Opening 192.168.12.70:1234...
[ERROR] avahi_client_new() failed: Daemon not running
shm_open: No such file or directory
[ERROR] sdrplay_api_Open() Error: sdrplay_api_Fail
[ERROR] Please check the sdrplay_api service to make sure it is up. If it is up, please restart it.
[INFO] RTL-TCP Connected to server 192.168.12.70 port 1234
[INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
ERROR: Unable to create Avahi DNS-SD client :Daemon not running
[WARNING] Unable to scan ip: -26
usb_claim_interface error -6
Found Rafael Micro R820T tuner
[ERROR] SoapySDR::Device::enumerate(sdrplay) sdrplay_api_Open() failed
----------------------------------------------------
-- Device identification
----------------------------------------------------
driver=Audio
hardware=Audio
device_id=0
origin=https://github.com/pothosware/SoapyAudio
----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
Channels: 1 Rx, 0 Tx
Timestamps: NO
Other Settings:
* Stereo Sample Offset - Offset stereo samples for off-by-one audio inputs.
[key=sample_offset, default=0, type=string, options=(-2, -1, 0, 1, 2)]
* Rig Control - Select hamlib rig control type.
[key=rig, type=string, options=(29001, 25016, 25017, 25013, 25018, 5008, 5006, 5005, 5004, 5014, 5003, 5015, 5002, 5001, 5013, 5016, 17001, 17002, 25006, 32001, 25003, 23003, 23004, 31002, 31001, 9002, 9003, 33001, 2021, 2029, 2043, 2047, 2044, 2045, 2038, 25001, 25007, 4, 25012, 23001, 2036, 2048, 25015, 1, 6, 2, 2046, 25019, 3054, 3002, 3003, 3072, 3004, 3006, 3007, 3060, 3055, 3085, 3009, 3010, 3011, 3012, 3070, 3013, 3061, 3014, 3015, 3016, 3017, 3073, 3019, 3020, 3021, 3022, 3067, 3023, 3046, 3024, 3026, 3027, 3047, 3057, 3063, 3028, 3078, 3029, 3062, 3030, 3045, 3056, 3031, 3075, 3032, 3034, 3044, 3068, 3065, 3035, 3081, 30001, 30003, 30002, 30004, 4002, 4001, 4003, 4004, 3036, 3058, 3080, 3077, 3040, 3037, 3041, 3038, 3039, 3079, 3043, 3066, 3069, 3042, 3083, 3082, 3084, 3071, 6005, 6006, 6007, 25011, 18001, 2015, 2033, 2042, 2017, 2019, 2020, 2023, 2026, 2034, 2027, 2030, 2025, 2014, 2002, 2003, 2028, 2001, 2004, 2016, 2031, 2037, 2024, 2005, 2006, 2007, 2008, 2009, 2010, 2041, 2022, 2011, 2012, 2013, 2039, 10004, 3074, 25014, 2040, 3053, 3052, 28001, 24001, 11005, 11003, 8004, 27002, 27001, 27003, 25002, 2032, 14004, 14002, 25009, 22001, 5, 3064, 3051, 16003, 16012, 16004, 16005, 16007, 16002, 16001, 16008, 16009, 16011, 16013, 8002, 8006, 8001, 8003, 8012, 8010, 8011, 1033, 26001, 26002, 12004, 15001, 15002, 15003, 15004, 15005, 15006, 15007, 15009, 3076, 1017, 1019, 1018, 1021, 1003, 1024, 1029, 1027, 1039, 1010, 1005, 1006, 1007, 1009, 1020, 1041, 1011, 1001, 1038, 1022, 1015, 1036, 1023, 1013, 1014, 1028, 1031, 1016, 1035, 1034, 1037, 1032, 1030, 1040, 1004, 1025, 1026, 25008)]
* Rig Serial Rate - Select hamlib rig serial control rate.
[key=rig_rate, default=57600, type=string, options=(1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 128000, 256000)]
* Rig Serial Port - hamlib rig Serial Port dev / COMx / IP-Address
[key=rig_port, default=/dev/ttyUSB0, type=string]
----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
Full-duplex: YES
Supports AGC: YES
Stream formats: CS8, CS16, CF32
Native format: CS16 [full-scale=65536]
Stream args:
* Channel Setup - Input channel configuration.
[key=chan, default=mono_l, type=string, options=(mono_l, mono_r, stereo_iq, stereo_qi)]
Antennas: RX
Full gain range: [0, 0] dB
Full freq range: [0, 6000] MHz
RF freq range: [0, 6000] MHz
Sample rates: 0.008, 0.016, 0.02205, 0.032, 0.0441, 0.048, 0.096 MSps
On the host site;
client accepted!
Allocating 15 zero-copy buffers
worker socket bye
Signal caught, exiting!
comm recv bye
Signal caught, exiting!
all threads dead..
listening...
Some errors, warnings:
shm_open: No such file or directory
[WARNING] Unable to scan ip: -26
At the moment I have no idea why after a client accepted there is no info show on the client side inside the container. If I find more information and or details I will share it in this post.
Jan | PE0SAT
Today I managed to install the client in a python virtual environment on my pi 3, skipping the docker container completely.
SoapySDR probe now works:
antenna@PiGND:~/g5500/sat $ SoapySDRUtil --probe="rtltcp=10.0.0.42:1234"
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Probe device rtltcp=10.0.0.42:1234
[INFO] RTL-TCP Opening 10.0.0.42:1234...
[INFO] [UHD] linux; GNU C++ version 12.2.0; Boost_107400; UHD_4.3.0.0+ds1-5
RtApiPulse::DeviceInfo pa_context_connect() failed: Connection refused
RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (default), No such file or directory.
RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:1,0), Unknown error 524.
[INFO] RTL-TCP Connected to server 10.0.0.42 port 1234
Found Rafael Micro R820T tuner
[INFO] Opening Generic RTL2832U OEM :: 00000001...
Found Rafael Micro R820T tuner
----------------------------------------------------
-- Device identification
----------------------------------------------------
driver=RTLSDR
hardware=R820T
index=0
origin=https://github.com/pothosware/SoapyRTLSDR
----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
Channels: 1 Rx, 0 Tx
Timestamps: YES
Time sources: sw_ticks
Other Settings:
* Direct Sampling - RTL-SDR Direct Sampling Mode
[key=direct_samp, default=0, type=string, options=(0, 1, 2)]
* Offset Tune - RTL-SDR Offset Tuning Mode
[key=offset_tune, default=false, type=bool]
* I/Q Swap - RTL-SDR I/Q Swap Mode
[key=iq_swap, default=false, type=bool]
* Digital AGC - RTL-SDR digital AGC Mode
[key=digital_agc, default=false, type=bool]
* Bias Tee - RTL-SDR Blog V.3 Bias-Tee Mode
[key=biastee, default=false, type=bool]
----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
Full-duplex: NO
Supports AGC: YES
Stream formats: CS8, CS16, CF32
Native format: CS8 [full-scale=128]
Stream args:
* Buffer Size - Number of bytes per buffer, multiples of 512 only.
[key=bufflen, units=bytes, default=262144, type=int]
* Ring buffers - Number of buffers in the ring.
[key=buffers, units=buffers, default=15, type=int]
* Async buffers - Number of async usb buffers (advanced).
[key=asyncBuffs, units=buffers, default=0, type=int]
Antennas: RX
Full gain range: [0, 49.6] dB
TUNER gain range: [0, 49.6] dB
Full freq range: [23.999, 1764] MHz
RF freq range: [24, 1764] MHz
CORR freq range: [-0.001, 0.001] MHz
Sample rates: [0.225001, 0.3], [0.900001, 3.2] MSps
Filter bandwidths: [0, 8] MHz
However, if I run satnogs_fm.py I get this error:
(satnogs-client_venv) antenna@PiGND:~/satnogs-4386/satnogs-client-SA2KNG/addons $ satnogs_fm.py rig_check_rig_caps: p1=0x7f75950640, p2=0x7f75956bc0, rig_model=0x7f75950640, macro_name=0x7f75956bc0 initrigs4_dummy: _init called rig_init: rig_model=Hamlib NET rigctl rig_init: rx_range_list1 is empty, using rx_range_list2 rig_init: rig does not have tx_range!! netrigctl_init version 20230106.0 Traceback (most recent call last): File “/usr/local/bin/satnogs_fm.py”, line 485, in main() File “/usr/local/bin/satnogs_fm.py”, line 468, in main tb = top_block_cls(antenna=options.antenna, bb_freq=options.bb_freq, bw=options.bw, dc_removal=options.dc_removal, decoded_data_file_path=options.decoded_data_file_path, dev_args=options.dev_args, deviation=options.deviation, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, max_modulation_freq=options.max_modulation_freq, other_settings=options.other_settings, ppm=options.ppm, rigctl_host=options.rigctl_host, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, samp_rate_rx=options.samp_rate_rx, soapy_rx_device=options.soapy_rx_device, stream_args=options.stream_args, tune_args=options.tune_args, udp_dump_host=options.udp_dump_host, udp_dump_port=options.udp_dump_port, waterfall_file_path=options.waterfall_file_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/bin/satnogs_fm.py”, line 104, in init self.soapy_source_0_0 = soapy.source(dev, “fc32”, 1, dev_args, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: SoapySDR::Device::make() no match