Recording data from 2 USRP daughterboards simultaneously


I am trying to record I/Q data from two daughterboards (currently a
TVRX and a RFX400) on one USRP simultaneously. I have no trouble
recording data from either of these daughterboards independently, but
when I try to record data simultaneously, I receive the following error:

#./ -R A -d 10 -g 65 -f 491e6 data
usrp_open_interface:usb_claim_interface: failed interface 2
could not claim interface 2: Device or resource busy
usrp_basic_rx: can’t open rx interface
Traceback (most recent call last):
File “./”, line 105, in ?
File “./”, line 61, in init
self.u = usrp.source_c(decim_rate=options.decim)
File “/usr/local/lib/python2.4/site-packages/gnuradio/”,
line 248, in init
fpga_filename, firmware_filename)
File “/usr/local/lib/python2.4/site-packages/gnuradio/”,
line 1232, in source_c
return _usrp1.source_c(*args)
RuntimeError: can’t open usrp1

This seems to be an inability to open the USB port on the second call
to Is there a simple workaround to this problem?


Brent M. Ledvina
Assistant Professor
Bradley Department of Electrical and Computer Engineering
Virginia Tech
Blacksburg, VA 24061
ph: 540.231.0656
Office Hours: T 1-3, W 11-12

On Tue, Aug 21, 2007 at 03:49:30PM -0400, Brent M. Ledvina wrote:

#./ -R A -d 10 -g 65 -f 491e6 data
fpga_filename, firmware_filename)
to Is there a simple workaround to this problem?


Hi Brent,

You’ll need to write a small bit of code. The Rx side of a USRP can
only be opened once. Thus, you need a single program that reads input
from both daughterboardsd at the same time.

Take a look at gnuradio-examples/python/multi-antenna/
It handles 4 simultaneous inputs. Your case will be similar, only
using 2. Also, when using 2 inputs, there’s no need to load special
fpga firmware. The standard file works fine. The channel filter
won’t be required either. We needed it for our application.