Empty waterfall file with USRP (driver=uhd)

Hi,

I have setup a Satnogs Ground Station, initially with an RTL SDR, and have been working fine with the RTL SDR.

I’d like to use a USRP X310 instead of the RTL and have change the setting SATNOGS_SOAPY_RX_DEVICE to “driver=uhd,addr=10.162.96.103”.

The problem when using the uhd driver is that the waterfall file is empty.

Satnogs log does not report any error and the same when running hust the FSK script as below:

sudo /usr/bin/python3 /usr/bin/satnogs_fsk_ax25.py --soapy-rx-device=driver=uhd,addr=10.162.96.103 --samp-rate-rx=2e6 --rx-freq=437300000 --file-path=/tmp/.satnogs/data/receiving_satnogs_test.out --waterfall-file-path=/tmp/.satnogs/data/receiving_waterfall_test.dat --baudrate=9600 --rigctl-port=4532 --gain=30 --antenna=RX2 --decoded-data-file-path=/tmp/.satnogs/data/data_test
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
[INFO] [x300_impl.cpp:404] [X300] X300 initialization sequence…
[INFO] [X300] X300 initialization sequence…
[INFO] [x300_impl.cpp:1741] [X300] Maximum frame size: 1472 bytes.
[INFO] [X300] Maximum frame size: 1472 bytes.
[INFO] [x300_impl.cpp:919] [X300] Radio 1x clock: 200 MHz
[INFO] [X300] Radio 1x clock: 200 MHz
[INFO] [gps_ctrl.cpp:243] [GPS] Found an internal GPSDO: LC_XO, Firmware Rev 0.929a
[INFO] [GPS] Found an internal GPSDO: LC_XO, Firmware Rev 0.929a
[INFO] [block_ctrl_base.cpp:60] [0/DmaFIFO_0] Initializing block control (NOC ID: 0xF1F0D00000000000)
[INFO] [0/DmaFIFO_0] Initializing block control (NOC ID: 0xF1F0D00000000000)
[INFO] [dma_fifo_block_ctrl_impl.cpp:44] [0/DmaFIFO_0] BIST passed (Throughput: 1314 MB/s)
[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1314 MB/s)
[INFO] [dma_fifo_block_ctrl_impl.cpp:44] [0/DmaFIFO_0] BIST passed (Throughput: 1320 MB/s)
[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1320 MB/s)
[INFO] [block_ctrl_base.cpp:60] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000000001)
[INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000000001)
[INFO] [block_ctrl_base.cpp:60] [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000000001)
[INFO] [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000000001)
[INFO] [block_ctrl_base.cpp:60] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [block_ctrl_base.cpp:60] [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [block_ctrl_base.cpp:60] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000000)
[INFO] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000000)
[INFO] [block_ctrl_base.cpp:60] [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000000)
[INFO] [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000000)
[WARNING] [multi_usrp.cpp:1430] [MULTI_USRP] AGC is not available on this device.
[WARNING] [MULTI_USRP] AGC is not available on this device.
3

It looks like the software is running but no data into the waterfall file.

I hope somebody can help with this problem.

Thanks.

The audio is generated properly? Also can you check the CPU usage of the GNU Radio while running an obs? For this you can use the top H command.

Looking at the observations in question, it looks like nothing was generated:
https://network.satnogs.org/observations/1845413/
https://network.satnogs.org/observations/1845217/

Has anyone else tested with a USRP at all?

USRP is supported just fine. I have tested myself with B210.

Do you run it via the client or manually? Why sudo is there?

I’ve checked with the top H and the GNU radio blocks wasn’t shown on the CPU usage list.

So, it seems the something had blocked the GNU radio blocks from running, but there’re no errors given either by the script or the satnogs client when running with the USRP X310.

I’m using X310 via Gigabit Ethernet

I’ve tried with both the satnogs client and testing the scripts manually. Both behave the same.

Hi all,

After further investigation, the script got stuck at the tb.wait() line in the main function (/usr/bin/satnogs_fsk_ax25.py)

Anyone got any ideas what could cause this?

signal.signal(signal.SIGINT, sig_handler)
signal.signal(signal.SIGTERM, sig_handler)

tb.start()
tb.wait() #got stucked here

tb.wait() should block until you signal the application to terminate with SIGINT or SIGTERM.

For everyone info, I’ve managed to make the radio scripts working with the USRP X310. I can’t make it work with the soapy module but works fine when using the gnuradio-uhd module. So, I’ve changed all the scripts to use the gnuradio-uhd module instead of soapy module if “driver=uhd”.