GRC with two URSP2+DBSRX and UHD

Hi everybody,

I am trying to get two USRP2 (each equipped with one DBSRX) to work
together under GRC with the “Multi USRP Source” block. I have updated to
the latest version of GNURADIO and UHD and installation went smooth. I
assigned the IPs to each device, set the corresponding ethernet ports
and confirmed that every device is detected. See here

|> uhd_find_devices
linux; GNU C++ version 4.4.5 20101112 (Red Hat 4.4.5-2); Boost_104100;
UHD_0001.20101124180824.2568efd

||--------------------------------------------------
– UHD Device 0

Device Address:
type: usrp2
addr: 192.168.20.2
name:
serial: 00:50:c2:85:39:95


– UHD Device 1

Device Address:
type: usrp2
addr: 192.168.10.2
name:
serial: 00:50:c2:85:36:8c
|

After this I tried a simple GRC flow, taking the data and streaming it
to two FFT graphs (see flow.png). The settings of the “Multi USRP
Source” can be seen in “settings.png”. When running the code I don’t get
any of the FFT sinks showing me something. But there’re some
warnings(errors?) on the command line from which I don’t know their
meaning.
|
Current recv sock buff size: 50000000 bytes
Current recv sock buff size: 50000000 bytes
Set time with unknown pps edge:
1) set times next pps (race condition)
2) catch seconds rollover at pps edge
3) set times next pps (synchronously)

Warning:
Detected time deviation between board 1 and board 0.
Board 0 time is 490.997360 seconds.
Board 1 time is 318.628842 seconds.

OOUHD source block got error code 0x1
gr_block_executor: source <gr_block uhd multi_usrp source (1)> produced
no output. We’re marking it DONE.|

What I am doing wrong? Is there anything that I am missing? Why can’t I
get the data from the two devices via GRC?

Regards,
Thomas


Dr. Thomas H.
Space-Time Measurement Project
Space-Time Standards Group
New Generation Network Research Center
National Institute of Information and Communications Technology

4-2-1 Nukui-Kitamachi, Koganei
184-8795 Tokyo
Japan

From what I can tell, the times are not locked, samples cannot be
aligned, so there can be no output. Did you
http://www.ettus.com/uhd_docs/manual/html/usrp_nxxx.html#pps-pulse-per-second

Hi Josh,

Thanks for the reply. I am using a MIMO cable between both URSP2s, so I
thought that they sync automatically.
I am not feeding a PPS to both devices, as I only need to run both
synchronously, but I don’t need to sync them to outside references.

Thomas

----- Original Message -----

From what I can tell, the times are not locked, samples cannot be
aligned, so there can be no output. Did you
http://www.ettus.com/uhd_docs/manual/html/usrp_nxxx.html#pps-pulse-per
-second

Warning:
Detected time deviation between board 1 and board 0.
Board 0 time is 490.997360 seconds.
Board 1 time is 318.628842 seconds.

OOUHD source block got error code 0x1
gr_block_executor: source <gr_block uhd multi_usrp source (1)>
produced

On 11/28/2010 11:40 PM, [email protected] wrote:

Hi Josh,

Thanks for the reply. I am using a MIMO cable between both URSP2s, so I
thought that they sync automatically.
I am not feeding a PPS to both devices, as I only need to run both
synchronously, but I don’t need to sync them to outside references.

Aha. That feature is not implemented, but it is not far away. For the
time being, the devices will need a shared PPS to sync. I believe that
you can configure one of the USRP2 to lock reference over the mimo
cable, but you will have to modify the python code a bit.

When the MIMO cable support is completed, you will plug one device into
the ethernet (this will be the master). And the slave device will lock
its reference and sync its time over the MIMO cable. Both devices will
communicate to the host via ethernet.

-Josh

Hi Josh,Hi Josh,

I see. But this can’t be the (only) reason for my errors. When I select
“don’t sync” I don’t get the warning abou the time stamps but I end up
again with

|OOUHD source block got error code 0x1
gr_block_executor: source <gr_block uhd multi_usrp source (1)> produced
no output. We’re marking it DONE.|

Where does this come from? I tried to input 1 PPS signals into both
USRP2s but that also does not solve the problem. Any ideas?

When the MIMO cable support is completed, you will plug one device into
the ethernet (this will be the master). And the slave device will lock
its reference and sync its time over the MIMO cable. Both devices will
communicate to the host via ethernet.

Do you have any schedule for that development? Does this mean that the
data (physically) streams from the slave devices throught the master
device before going out through a single ethernet cable?

Regards,
Thomas


Dr. Thomas H.
Space-Time Measurement Project
Space-Time Standards Group
New Generation Network Research Center
National Institute of Information and Communications Technology

4-2-1 Nukui-Kitamachi, Koganei
184-8795 Tokyo
Japan

I see. But this can’t be the (only) reason for my errors. When I select
“don’t sync” I don’t get the warning abou the time stamps but I end up
again with

If you dont select the sync option, then you wont get the warning about
the time offset. I should have it preform the time check regardless.

|OOUHD source block got error code 0x1
gr_block_executor: source <gr_block uhd multi_usrp source (1)> produced
no output. We’re marking it DONE.|

Where does this come from? I tried to input 1 PPS signals into both
USRP2s but that also does not solve the problem. Any ideas?

That error comes from the work function timing out. The work function
times out because one or more of the devices is not streaming. The
devices are probably not streaming because they were told to stream at a
time in the past. This is why the times must be set and synchronized.

When the MIMO cable support is completed, you will plug one device into
the ethernet (this will be the master). And the slave device will lock
its reference and sync its time over the MIMO cable. Both devices will
communicate to the host via ethernet.

Do you have any schedule for that development? Does this mean that the

Everything but the time sync part is implemented on a branch. So I hope
before the end of the year.

data (physically) streams from the slave devices throught the master
device before going out through a single ethernet cable?

yes

-Josh

Hi everybody,
I have installed latest gnuradio 3.5.1 and uhd 3.4.0
Still i cannot find “Multi USRP Source block” in GRC.
UHD tab in GRC shows 3 options

  1. USRP Source
  2. USRP Sink
  3. USRP Async Msg
    Please help me in synchronizing and transferring using 2 USRP2 devices
    using MIMO cable
    Thank you

Thomas H. wrote in post #964580:

Hi everybody,

I am trying to get two USRP2 (each equipped with one DBSRX) to work
together under GRC with the “Multi USRP Source” block. I have updated to
the latest version of GNURADIO and UHD and installation went smooth. I
assigned the IPs to each device, set the corresponding ethernet ports
and confirmed that every device is detected. See here

|> uhd_find_devices
linux; GNU C++ version 4.4.5 20101112 (Red Hat 4.4.5-2); Boost_104100;
UHD_0001.20101124180824.2568efd

||--------------------------------------------------
– UHD Device 0

Device Address:
type: usrp2
addr: 192.168.20.2
name:
serial: 00:50:c2:85:39:95


– UHD Device 1

Device Address:
type: usrp2
addr: 192.168.10.2
name:
serial: 00:50:c2:85:36:8c
|

After this I tried a simple GRC flow, taking the data and streaming it
to two FFT graphs (see flow.png). The settings of the “Multi USRP
Source” can be seen in “settings.png”. When running the code I don’t get
any of the FFT sinks showing me something. But there’re some
warnings(errors?) on the command line from which I don’t know their
meaning.
|
Current recv sock buff size: 50000000 bytes
Current recv sock buff size: 50000000 bytes
Set time with unknown pps edge:
1) set times next pps (race condition)
2) catch seconds rollover at pps edge
3) set times next pps (synchronously)

Warning:
Detected time deviation between board 1 and board 0.
Board 0 time is 490.997360 seconds.
Board 1 time is 318.628842 seconds.

OOUHD source block got error code 0x1
gr_block_executor: source <gr_block uhd multi_usrp source (1)> produced
no output. We’re marking it DONE.|

What I am doing wrong? Is there anything that I am missing? Why can’t I
get the data from the two devices via GRC?

Regards,
Thomas


Dr. Thomas H.
Space-Time Measurement Project
Space-Time Standards Group
New Generation Network Research Center
National Institute of Information and Communications Technology

4-2-1 Nukui-Kitamachi, Koganei
184-8795 Tokyo
Japan