Hi,
I’m about to port an application that was working with a setup of two X300
devices to a new N310 device.
For a first step the N310 should simply be used to stream four RF channels to a
host. However before using it for streaming I wanted to perform some simple
operations like getting the device tree through the uhd_usrp_probe command,
which fails at the moment. I installed a current version of the SD card image a
few days ago and my host is running an UHD version compiled from the tip of the
UHD repo a few days ago. I suspect this is a network config error, however I’m
not sure and sadly I’m no networking expert.
A brief overview of my setup:
A host PC, running Ubuntu equipped with a 2x10Gbit Ethernet card and two usual
Gbit Ethernernet cards. One 1Gbit ethernet port is used for internet
connection, the other one is connected to a Wifi Router, running a DHCP server
in the address space 192.167.1.x. The N310 is connected to this router, the
DHCP server assigns the address 192.167.1.100 to the N310. Pinging the device
works as well as establishing an SSH connection to it. The two SFP ports are
connected to the 10Gbit card of the host, on the host side those ports have the
IP address 192.168.10.1 and 192.168.20.1. I loaded an XG FPGA image to use both
SFP ports at 10Gbit speed and they respond to pings. To summarize, this is the
current network config as reported by the system:
sdr@NTLabDSP:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group
default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group
default qlen 1000
link/ether 00:0a:f7:81:d5:26 brd ff:ff:ff:ff:ff:ff
inet 192.167.1.102/24 brd 192.167.1.255 scope global dynamic enp4s0
valid_lft 4745sec preferred_lft 4745sec
inet6 fe80::2ddf:29cd:ab15:aa68/64 scope link
valid_lft forever preferred_lft forever
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
group default qlen 1000
link/ether 98:90:96:c6:92:3c brd ff:ff:ff:ff:ff:ff
inet 10.211.21.102/23 brd 10.211.21.255 scope global dynamic eno1
valid_lft 3812sec preferred_lft 3812sec
inet6 2a02:c6a0:3071:53fc:f1:1e14:9cf0:3521/128 scope global dynamic
valid_lft 904sec preferred_lft 604sec
inet6 fe80::58d:8415:1a20:604e/64 scope link
valid_lft forever preferred_lft forever
4: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8000 qdisc mq state UP group
default qlen 1000
link/ether 00:1b:21:bc:19:96 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.1/24 scope global enp5s0f0
valid_lft forever preferred_lft forever
inet6 fe80::21b:21ff:febc:1996/64 scope link
valid_lft forever preferred_lft forever
5: enp5s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8000 qdisc mq state UP group
default qlen 1000
link/ether 00:1b:21:bc:19:97 brd ff:ff:ff:ff:ff:ff
inet 192.168.20.1/24 scope global enp5s0f1
valid_lft forever preferred_lft forever
inet6 fe80::21b:21ff:febc:1997/64 scope link
valid_lft forever preferred_lft forever
This host setup used to work flawlessly with the two X300 units.
Now when trying to run uhd_usrp_probe I think I got that I need to specify all
three addresses, the primary and secondary address of the SFP ports that handle
streaming as well as the management port address. So I pass those three
parameters as args to uhd_usrp_probe. However when doing so, I get the error
"Could not find MAC address for IP address 192.168.20.1“ which seems a bit
weird to me, as to my knowledge a MAC address is a hardware property of the
network interface and therefore cannot be misconfigured. So is this a network
configuration error or am I doing something different wrong? For the sake of
completeness, here is the complete output of uhd_usrp_probe:
sdr@NTLabDSP:~$ uhd_usrp_probe
--args="addr=192.168.10.2,second_addr=192.168.20.2,mgmt_addr=192.167.1.100"
[INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800;
UHD_3.15.0.git-13-g52138314
[INFO] [MPMD] Initializing 1 device(s) in parallel with args:
mgmt_addr=192.167.1.100,type=n3xx,product=n310,serial=316CD18,claimed=False,addr=192.168.10.2,second_addr=192.168.20.2
[INFO] [MPM.PeriphManager] init() called with device args
`product=n310,mgmt_addr=192.167.1.100,second_addr=192.168.20.2,clock_source=internal,time_source=internal'.
[ERROR] [RPC] Could not find MAC address for IP address 192.168.20.1
[ERROR] [MPMD] Failure during block enumeration: RuntimeError: Error during RPC
call to `commit_xport'. Error message: Could not find MAC address for IP
address 192.168.20.1
[ERROR] [MPM.RPCServer] Uncaught exception in method commit_xport :Could not
find MAC address for IP address 192.168.20.1
Traceback (most recent call last):
File "/usr/lib/python3.5/site-packages/usrp_mpm/rpc_server.py", line 182, in
new_claimed_function
return function(*args)
File "/usr/lib/python3.5/site-packages/usrp_mpm/periph_manager/n3xx.py", line
546, in commit_xport
return self._xport_mgrs['udp'].commit_xport(sid, xport_info)
File "/usr/lib/python3.5/site-packages/usrp_mpm/xports/xportmgr_udp.py", line
321, in commit_xport
sender_addr))
RuntimeError: Could not find MAC address for IP address 192.168.20.1
Error: RuntimeError: Failed to run enumerate_rfnoc_blocks()
Thank you in advance for your help!
Janos
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com