[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] UHD USRP2 full duplex mystery solved

From: Marc Epard
Subject: [Discuss-gnuradio] UHD USRP2 full duplex mystery solved
Date: Tue, 14 Sep 2010 15:56:06 -0500

I've been attempting to do a full duplex send/recv using UHD on a USRP2 with an 

The major problem I had was that issue_stream_cmd nearly always resulted in a 
runtime error of "usrp2 no control response". It worked fine if I transmitted 
w/o receiving or received w/o transmitting. The same code also worked when 
using a 2nd USRP2 for receiving.

After a session with Wireshark and the UHD host source, I had my "Well, duh" 
moment. When you call send, the data starts streaming to the USRP2 right away 
-- even if you specify a timestamp in the future. The USRP2 starts sending back 
PAUSE frames almost immediately, which throttles not only additional send data, 
but also any commands to the control port.

The solution is to call issue_stream_cmd first (and start the recv thread), 
then start the send thread. This was simple enough in my app because I was 
specifying start times in the future anyway. It does prevent a method I was 
going to use on a WBX where I start the send thread once and scan through 
several receive frequencies before stoping the send thread.

Perhaps most of you knew about this gotcha already, but I hope this will help 
someone else who encounters the problem. Anyway, it was fun investigating and I 
learned a lot more about the UHD host code and protocols


reply via email to

[Prev in Thread] Current Thread [Next in Thread]