# Four channel tx/rx loopback failure

**URL:** <https://www.ruby-forum.com/t/four-channel-tx-rx-loopback-failure/241780>\
**Category:** GNU Radio\
**Created:** [April 30, 2015, 12:40am UTC](https://www.ruby-forum.com/t/four-channel-tx-rx-loopback-failure/241780 "2015-04-30T00:40:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [April 30, 2015, 12:40am UTC](https://www.ruby-forum.com/t/four-channel-tx-rx-loopback-failure/241780/1 "2015-04-30T00:40:00Z")

</div>

Hi,  
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  
center.

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  
“tr\_test.out”.

\<\<\< 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??

Thanks.  
Rob Kossler
