Four channel tx/rx loopback failure

I am having a failure with the attached GRC flowgraph. It is a four
Tx/Rx loopback using 2 Ettus X310 USRPs. The flowgraph is simple in
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
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

There is hardly a difference between the four channel flowgraph and the
channel flowgraph. The four channel version has motherboard and channel
counts of 2 and 4 while the two channel version has corresponding counts
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
two channel version, it has been successful and every time I have run
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

<<< 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]


Finally, on a perhaps related note, it is really not clear to me which
configuration parameters should be repeated between the UHD source and
sink. I am familiar with operating directly with the UHD driver from
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
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
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
one or the other?? Perhaps the clock and timing ref parameters are only
needed in one or the other??

Rob Kossler