Hello!

We have an X410 connected to a host computer through two QSFP28-to-QSFP28 
connections with IPs 192.168.10.2 and 192.168.20.2 for interfaces 0 and 1 
respectively. The X410 also has an ethernet connection to a router with an IP 
192.168.1.19, which the host computer is also connected to.

When the X410 is loaded with the UC_200 image, everything seems to work as 
desired and running "uhd_find_devices" on its own produces:

\[INFO\] \[UHD\] linux; GNU C++ version 9.4.0; Boost_107100; DPDK_19.11; 
UHD_4.5.0.0-0-g471af98f

\--------------------------------------------------

\-- UHD Device 0

\--------------------------------------------------

Device Address:

    serial: 326E872

    addr: 192.168.20.2

    claimed: False

    fpga: UC_200

    mgmt_addr: 192.168.1.19

    mgmt_addr: 192.168.20.2

    name: ni-x4xx-326E872

    product: x410

    type: x4xx

        

When I try to change images with "uhd_image_loader --args 
type=x4xx,mgmt_address=192.168.1.19,fpga=CG_400 ", it seems to work but then 
errors out:

\[INFO\] \[UHD\] linux; GNU C++ version 9.4.0; Boost_107100; DPDK_19.11; 
UHD_4.5.0.0-0-g471af98f

\[INFO\] \[MPMD\] Initializing 1 device(s) in parallel with args: 
mgm_addr=192.168.1.19,addr0=192.168.20.2,mgmt_addr=192.168.1.19,type=x4xx,product=x410,serial=326E872,name=ni-x4xx-326E872,fpga=UC_200,claimed=False,addr=192.168.1.19,skip_init=1

\[INFO\] \[MPMD\] Claimed device without full initialization.

\[INFO\] \[MPMD IMAGE LOADER\] Starting update. This may take a while.

\[INFO\] \[MPM.PeriphManager\] Installing component \`fpga'

\[INFO\] \[MPM.PeriphManager\] Installing component \`dts'

\[INFO\] \[MPM.RPCServer\] Resetting peripheral manager.

\[INFO\] \[MPM.PeriphManager\] Device serial number: 3263584

\[INFO\] \[MPM.PeriphManager.ClkMgr\] Using Clock Configuration:

DB0: Master Clock Rate: 491.52 MSps @Converter Rate 2.94912 GHz

DB1: Master Clock Rate: 491.52 MSps @Converter Rate 2.94912 GHz

\[INFO\] \[MPM.PeriphManager\] Initialized 2 daughterboard(s).

\[INFO\] \[MPM.PeriphManager\] init() called with device args 
\`boot_init=True,clock_source=internal,time_source=internal,initializing=True'.

\[ERROR\] \[RPC\] Someone tried to claim this device again (From: 192.168.1.20)

\[INFO\] \[MPMD IMAGE LOADER\] Update component function succeeded.

\[INFO\] \[MPMD\] Initializing 1 device(s) in parallel with args: 
mgm_addr=192.168.1.19,addr0=192.168.20.2,mgmt_addr=192.168.20.2,type=x4xx,product=x410,serial=326E872,name=ni-x4xx-326E872,fpga=CG_400,claimed=False,addr=192.168.20.2,mgmt_address=192.168.1.19,find_all=1

\[INFO\] \[MPM.PeriphManager\] init() called with device args 
\`addr0=192.168.20.2,find_all=1,fpga=CG_400,mgm_addr=192.168.1.19,mgmt_addr=192.168.20.2,mgmt_address=192.168.1.19,name=ni-x4xx-326E872,product=x410,clock_source=internal,time_source=internal,initializing=True'.

\[ERROR\] \[RFNOC::MGMT\] EnvironmentError: IOError: recv error on socket: 
Connection refused

\[ERROR\] \[RFNOC::GRAPH\] IO Error during GSM initialization. 
EnvironmentError: IOError: recv error on socket: Connection refused

\[ERROR\] \[RFNOC::GRAPH\] Caught exception while initializing graph: 
EnvironmentError: IOError: recv error on socket: Connection refused

Error: RuntimeError: Failure to create rfnoc_graph.

But if I run uhd_find_devices again I get what I expect :

\--------------------------------------------------

\-- UHD Device 0

\--------------------------------------------------

Device Address:

    serial: 326E872

    addr: 192.168.20.2

    claimed: False

    fpga: CG_400

    mgmt_addr: 192.168.1.19

    mgmt_addr: 192.168.10.2

    mgmt_addr: 192.168.20.2

    name: ni-x4xx-326E872

    product: x410

    type: x4xx

        

If I try and run any script though, even specifying the addresses, I get the 
same errors as when changing the image. An example is with 'uhd_usrp_probe 
--args "mgmt_addr=192.168.1.19,type=x4xx" ' even without any arguements:

INFO\] \[UHD\] linux; GNU C++ version 9.4.0; Boost_107100; DPDK_19.11; 
UHD_4.5.0.0-0-g471af98f

\[INFO\] \[MPMD\] Initializing 1 device(s) in parallel with args: 
mgm_addr=192.168.1.19,addr0=192.168.20.2,mgmt_addr=192.168.1.19,type=x4xx,product=x410,serial=326E872,name=ni-x4xx-326E872,fpga=CG_400,claimed=False

\[INFO\] \[MPM.PeriphManager\] init() called with device args 
\`addr0=192.168.20.2,fpga=CG_400,mgm_addr=192.168.1.19,mgmt_addr=192.168.1.19,name=ni-x4xx-326E872,product=x410,clock_source=internal,time_source=internal,initializing=True'.

\[ERROR\] \[RFNOC::MGMT\] EnvironmentError: IOError: recv error on socket: 
Connection refused

\[ERROR\] \[RFNOC::GRAPH\] IO Error during GSM initialization. 
EnvironmentError: IOError: recv error on socket: Connection refused

\[ERROR\] \[RFNOC::GRAPH\] Caught exception while initializing graph: 
EnvironmentError: IOError: recv error on socket: Connection refused

Error: RuntimeError: Failure to create rfnoc_graph.

The errors disappear when I use addr0 instead of mgmt_addr or addr. Since this 
option is not listed in the wiki 
(https://files.ettus.com/manual/page_usrp_x4xx.html#x4xx_usage_args) I am 
curious if I am using it correctly. At the end of the day, I want to make sure 
that when using the CG_400 image that both QSFP28 interfaces are operating, and 
that I can switch between the two images without errors. Previously we used to 
only have a single connection. 

Thanks!

Zack
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to