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