Hello together,

recently i wanted to change the IP-Adress of my USRP device, because i
wanted to connect two USRP x310 to the same host computer. I followed the
instructions at the uhd-manual to change the device IP:

https://files.ettus.com/manual/page_usrp_x3x0.html#x3x0_setup_change_ip

and changed my ip-addr3 to 192.168.xx.2 WHICH YOU SHALL NEVER DO!! The
reason for this is that this ip-adress (xx=30 in this case) already
existed as the default address for ip-addr2 in my device - and a lot of
other devices to.

After this command, i could not use the usrp_burn_mb_eeprom script
(described in the manual) anymore, because the script seemed to struggle
with duplicate IP-Adresses. Also uhd_usrp_probe failed now with a similar
warning and Error:
This means i could not simply reset my ip-addr3 to solve my problem.

.
.
[WARNING] [X300] Duplicate IP address 192.168.30.2 found in mboard EEPROM.
Device may not function properly. View and reprogram the values using the
usrp_burn_mb_eeprom utility.
.
.
[ERROR] [UHD] Exception caught in safe-call.
  in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with
uhd::endianness_t _endianness = (uhd::endianness_t)0]
  at /home/tst/uhd/host/lib/rfnoc/ctrl_iface.cpp:60
this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl
(CE_00_Port_30) no response packet - AssertionError: bool(buff)
  in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double)
[with uhd::endianness_t _endianness = (uhd::endianness_t)0; uint64_t =
long unsigned int]
  at /home/tst/uhd/host/lib/rfnoc/ctrl_iface.cpp:154

Error: EnvironmentError: IOError: Block ctrl (CE_00_Port_30) no response
packet - AssertionError: bool(buff)
  in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double)
[with uhd::endianness_t _endianness = (uhd::endianness_t)0; uint64_t =
long unsigned int]
  at /home/tst/uhd/host/lib/rfnoc/ctrl_iface.cpp:154
.
.

My solution was, (WITHOUT WARRANTY for your similar problem) to load a new
HG-image to the usrp device, because the uhd_image_loader was still
working. After that i unplugged my 10Gig cable in port 1 in the rear of
the USRP device and connect the USRP to the host PC using Port 0 and 1-Gig
ethernet. My goal was to address ip-addr0, because in my case this one was
not duplicated.

Here you can see the default ip's of the device which helped me to figure
out what to do:
https://files.ettus.com/manual/page_usrp_x3x0.html#x3x0_setup_network_host_interface

Now i had to change the ip-address of the host pc (by this i mean the port
you connected the usrp to) to address the device through address 0. Try
ping <yourAddr>
to see whether you can communicate with the device or not.

In my case i was now connected to the device through ip-addr0,
uhd_usrp_probe worked again and i could also (CAREFULLY) use the
usrp_burn_mb_eeprom script to change back the ip-addr3 to one that not
already existed for another key.

I am posting this, because i read that others had struggle with similiar
problems too and i did not find helpful answers. For example:

Duplicate ip addr issue X310
http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/2017-March/052066.html

Reset EEPROM IP Addressess x310
http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/2017-September/026528.html

In their cases they changed multiple IP addresses at once and i am pretty
sure that my solution does not work for this problem. Either way, maybe
someone in the future accidently also duplicates a single ip-address from
the USRP and struggles to get the device back to a working stage and finds
this helpful.

Best regards

Felix






_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to