[USRP-users] Four channel tx/rx loopback failure

Rob Kossler rkossler at nd.edu
Wed Apr 29 18:38:40 EDT 2015

I am having a failure with the attached GRC flowgraph. It is a four channel
Tx/Rx loopback using 2 Ettus X310 USRPs.  The flowgraph is simple in that
the Tx is simply a constant (center freq tone) and the Rx is displayed on a
QT freq sink.  Externally, the RF signals are looped back from TX to RX
with attenuation.

There are actually two flowgraphs in this attachment, but one of them is
disabled.  The one disabled is the two channel version which works fine.
By "fine", I mean that there is no UHD Warning message reported in the
reports window, the TX LEDs both come on, and the QT freq sink shows a tone
on the center of the four RX channels, as expected.

When I run the four channel version (presently enabled in the flowgraph), I
get a UHD warning (see below and/or in the attached file "tr_test.out"),
the TX LEDs do not come on, and the displayed spectrum has no tone at the

There is hardly a difference between the four channel flowgraph and the two
channel flowgraph.  The four channel version has motherboard and channel
counts of 2 and 4 while the two channel version has corresponding counts of
1 and 2.  Additionally, the device address field has 2 addresses rather
than 1 in the four channel version.

This failure does not seem to be intermittent.  Every time I have run the
two channel version, it has been successful and every time I have run the
four channel version it has been unsuccessful.  Also, this was executed
after having just re-built both UHD and gnuradio via "./pybombs update".

Here is the pertinent info from the reports window when I run the four
channel version.  Note that the full output is available in the attachment

<<< Welcome to GNU Radio Companion 3.7.8git-111-g1425e482 >>>
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.003-0-g87dfdc3c
Using Volk machine: avx_64_mmx_orc

UHD Warning:
    x300_dac_ctrl: front-end sync failed. unexpected FIFO depth [0x7]
thread[thread-per-block[1]: <block gr uhd usrp sink (2)>]: RuntimeError:
x300_dac_ctrl: front-end sync failed. unexpected FIFO depth [0x7]

>>> Done

Finally, on a perhaps related note, it is really not clear to me which USRP
configuration parameters should be repeated between the UHD source and
sink.  I am familiar with operating directly with the UHD driver from C++
where you create a single USRP with various config information such as
device address, clock ref, timing ref and then create separate RX and TX
streamers.  When operating from GNU radio with both a UHD source and sink,
it is not clear if all of that config info should be repeated in both
source and sink (which is what I did in the attached flowgraph) or if some
of it does not need to be repeated.  For example, I have both source and
sink with "sync" option of "unknown_pps".  Perhaps this is only needed in
one or the other??  Perhaps the clock and timing ref parameters are only
needed in one or the other??

Rob Kossler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20150429/3f47dcdf/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tr_test.grc
Type: application/gnuradio-grc
Size: 81809 bytes
Desc: not available
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20150429/3f47dcdf/attachment.grc>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tr_test.out
Type: application/octet-stream
Size: 4709 bytes
Desc: not available
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20150429/3f47dcdf/attachment.out>

More information about the USRP-users mailing list