1

I am trying to set up communication between my laptop computer, running Ubuntu 20.04.2 LTS, and an Ettus Research USRP N210. I have been consulting the following resources:

They all tell me to configure the ethernet adapter to use an IP address of 192.168.10.1 with a netmask of 255.255.255.0, so I did so using the GUI utilities:

Network configuration.

Then I should be able to ping the N210 at its default IP of 192.168.10.2, but all I get is Destination Host Unreachable:

~$ ping 192.168.10.2
PING 192.168.10.2 (192.168.10.2) 56(84) bytes of data.
From 192.168.10.1 icmp_seq=1 Destination Host Unreachable
From 192.168.10.1 icmp_seq=2 Destination Host Unreachable
From 192.168.10.1 icmp_seq=3 Destination Host Unreachable
...

It has been many years since I had a computer networking course (and I am not a programmer or network admin by trade), so I feel sort of clueless. Does anyone here have some tips on how to proceed? If the N210, for some reason, is configured to use a non-default IP, how do I find its IP?

Details

The physical setup (schematically):

laptop - USB/ethernet adapter - ethernet cable - N210

The above sources emphasize that the connection must be Gigabit Ethernet. The cable has HYPER-DATA 1000 written on it, so it seems to be up to spec. Additionally, as can be seen below, the Ethernet interface seems to automatically configure itself with speed=1Gbit/s, so that also seems correct.

Some additional information (... means I have removed one or more lines):

~$ ifconfig
enx9cebe8351e07: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.1  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::d645:c1a1:99ea:a022  prefixlen 64  scopeid 0x20<link>
        ether 9c:eb:e8:35:1e:07  txqueuelen 1000  (Ethernet)
        RX packets 6  bytes 384 (384.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 283  bytes 44546 (44.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
...
~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    600    0        0 wlp2s0
...
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 enx9cebe8351e07
~$ sudo lshw -c network
...
  *-network
       description: Ethernet interface
       physical id: 1
       bus info: usb@1:3
       logical name: enx9cebe8351e07
       serial: 9c:eb:e8:35:1e:07
       size: 1Gbit/s
       capacity: 1Gbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.11.11 duplex=full firmware=rtl8153a-2 v1 10/23/19 ip=192.168.10.1 link=yes multicast=yes port=MII speed=1Gbit/s

1 Answer 1

1

If I interpret the ping output correctly, the ping packet reaches the N210, which replies with an ICMP packet (you can verify that with tcpdump), which means the N210 is very likely configured for a different address.

The manual says

Change the USRP2's IP address (Method 2)

This method assumes that you do not know the IP address of your USRP2. It uses raw Ethernet packets to bypass the IP/UDP layer to communicate with the USRP2. Run the following commands:

cd <install-path>/lib/uhd/utils
sudo ./usrp2_recovery.py --ifc=eth0 --new-ip=192.168.10.3

That seems to assume you somehow have the software received with the N210, or you can download it from somewhere, and you have installed it.

If you don't have the software, you can also try nmap, and scan for addresses. Start with the private IP address ranges.

1
  • 1
    Thank you, that did the trick! I missed that part, probably because I assumed I needed to establish a working connection before it was possible to change the IP. UHD is the USRP Hardware Driver provided by Ettus, and it is free to download. For posterity, the usrp2_recovery.py does not seem to work with current Python, but sudo python2 usrp2_recovery.py --ifc=<interface name> --new-ip=<new ip> worked for me. The script also contains helpful comments.
    – ummg
    Commented Jul 6, 2021 at 18:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .