[USRP-users] two X310s in one RFNoC flowgraph

Jason Matusiak jason at gardettoengineering.com
Fri Feb 1 13:36:24 EST 2019


I'll check if fosphor is the issue, but it isn't for my non-twinrx test.  I currently have two X310s, dual receive, so 4 total receives, to a single host.  I had to much with settings to get it to work, but it certainly isn't an issue in that setup.

I just double-checked and it isn't the fosphor block.  I did notice that every once in a while it actually seems to make connection (when I reduce my throughput tremendously), but I don't see data.  Without changing settings, I would say it doesn't error out about 1/10 times.  So I think there is some sort of issue where it assigns IP addresses to the two devices, and then there is a race condition with which one responds first....

________________________________
From: Rob Kossler <rkossler at nd.edu>
Sent: Friday, February 1, 2019 1:28 PM
To: Jason Matusiak
Cc: Ettus Mail List
Subject: Re: [USRP-users] two X310s in one RFNoC flowgraph

If you use 2 X310 with non-TwinRx daughterboards, it can work with the same flowgraph (including the fosphor block)?  I ask because I am  wondering if there could be a bug in the fosphor block's handling of device number (either gr-ettus or uhd).
Rob

On Fri, Feb 1, 2019 at 1:19 PM Jason Matusiak <jason at gardettoengineering.com<mailto:jason at gardettoengineering.com>> wrote:
When I run my flowgraph with the addresses setup that worked before twinrx, it starts to set everything up and seems to be talking to both ip addresses.  Then it craps out here:

[WARNING] [RFNOC] Assuming max packet size for 0/DDC_0
[WARNING] [RFNOC] Assuming max packet size for 0/DDC_1
[WARNING] [RFNOC] Assuming max packet size for 1/DDC_1
[WARNING] [RFNOC] Assuming max packet size for 1/DDC_0
Traceback (most recent call last):
  File "/opt/gnuradio/rfnoc/src/gr-ettus/examples/rfnoc/rfnoc_fosphor.py", line 644, in <module>
    main()
  File "/opt/gnuradio/rfnoc/src/gr-ettus/examples/rfnoc/rfnoc_fosphor.py", line 632, in main
    tb = top_block_cls()
  File "/opt/gnuradio/rfnoc/src/gr-ettus/examples/rfnoc/rfnoc_fosphor.py", line 475, in __init__
    self.device3.connect(self.uhd_rfnoc_streamer_fft_0_0_0.get_block_id(), 0, self.uhd_rfnoc_streamer_fosphor_1.get_block_id(), 0)
  File "/opt/gnuradio/rfnoc/lib64/python2.7/site-packages/ettus/ettus_swig.py", line 1264, in connect
    return _ettus_swig.device3_sptr_connect(self, *args)
RuntimeError: RuntimeError: On node 1/fosphor_1, input port 0 is already connected.

>>> Done

That error at the end is usually what you see when you try to use a single block twice without setting up the block select value.  I have checked things about 50 times, and I have everything setup right as device 1 and 2, and the blocks (I started with a working flowgraph for non TwinRX X310s), but I keep getting that error.

If feels like there is a UHD issue that when it is trying to setup which block goes with which device, it thinks that there is only one device....


________________________________
From: Rob Kossler <rkossler at nd.edu<mailto:rkossler at nd.edu>>
Sent: Friday, February 1, 2019 1:14 PM
To: Jason Matusiak
Cc: Ettus Mail List
Subject: Re: [USRP-users] two X310s in one RFNoC flowgraph

How is it failing?

On Fri, Feb 1, 2019 at 1:11 PM Jason Matusiak <jason at gardettoengineering.com<mailto:jason at gardettoengineering.com>> wrote:
Yep, works fine.  When I am doing it in companion, it also reports info on both boxes while setting it up, but it feels like it only tries to talk to the first one it sees.

________________________________
From: Rob Kossler <rkossler at nd.edu<mailto:rkossler at nd.edu>>
Sent: Friday, February 1, 2019 1:08 PM
To: Jason Matusiak
Cc: Ettus Mail List
Subject: Re: [USRP-users] two X310s in one RFNoC flowgraph

Perhaps run uhd_usrp_probe with --args="addr0=192.168.30.2,addr1=192.168.40.2" and make sure that it is happy and shows you all of the blocks.
Rob

On Fri, Feb 1, 2019 at 12:17 PM Jason Matusiak <jason at gardettoengineering.com<mailto:jason at gardettoengineering.com>> wrote:
Upon further review, even though this worked, it doesn't seem to work for dual X310s with TwinRXs in it.  Anyone have any multi-usrp advice with that (since I pretty much no experience with TwinRX)?  I figure there might be a clue that there could help me with the rfnoc side of things.


________________________________
From: Jason Matusiak
Sent: Friday, February 1, 2019 9:43 AM
To: Rob Kossler
Cc: Ettus Mail List
Subject: Re: [USRP-users] two X310s in one RFNoC flowgraph


Rob,


I just figured it out (I found lots of people asking the question, but no answers, so hopefully this can help someone else).


1st - Set the "device select" option to 0 and 1 for the different X310s (usually you leave it at -1, but change the block select, but here we need to mod it).

2nd - you need a single Device3 like usual

3rd - under the Device Arguments block, add in your two IP addresses using the key of addr0 and addr1 like this: "addr0=192.168.30.2, addr1=192.168.40.2" (I tried it both with and without the quotes and it works fine either way),


Now, Device 0 will get associated with addr0, and device 1 will get associates with addr1.


I hope that makes sense and helps someone.

________________________________
From: Rob Kossler <rkossler at nd.edu<mailto:rkossler at nd.edu>>
Sent: Friday, February 1, 2019 9:23 AM
To: Jason Matusiak
Cc: Ettus Mail List
Subject: Re: [USRP-users] two X310s in one RFNoC flowgraph

Hi Jason,
Given that under the hood, the stock multi_usrp (along with legacy_compat) implements an RFNoC graph, it must be possible.  I have run multiple X310s with the stock multi_usrp.  I have looked at legacy_compat pretty thoroughly and it keeps track of blocks as a function of device number (motherboard).  If I had a 2nd X310 handy, I would try it with my own non-stock multi_usrp object, but I don't - sorry.
Rob

On Fri, Feb 1, 2019 at 8:30 AM Jason Matusiak via USRP-users <usrp-users at lists.ettus.com<mailto:usrp-users at lists.ettus.com>> wrote:

Is it possible to have a single flowgraph that has 2 X310s running RFNoC in it?  I can't seem to figure out a way to make it work, though I think there must be a way.  Both streams would be streaming to the same host machine for processing.


Thanks.

_______________________________________________
USRP-users mailing list
USRP-users at lists.ettus.com<mailto:USRP-users at lists.ettus.com>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20190201/943b8e49/attachment.html>


More information about the USRP-users mailing list