discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] UHD USRP2 full duplex mystery solved


From: Josh Blum
Subject: Re: [Discuss-gnuradio] UHD USRP2 full duplex mystery solved
Date: Tue, 14 Sep 2010 14:28:06 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.12) Gecko/20100826 Thunderbird/3.0.7

FYI - in the future this will go away in the future when tx flow control becomes host-based (and away from ethernet pause frames). -Josh

On 09/14/2010 01:56 PM, Marc Epard wrote:
I've been attempting to do a full duplex send/recv using UHD on a USRP2 with an 
XCVR2450.

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

-Marc


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio



reply via email to

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