[USRP-users] USRP N310 Losing Connection Occassionally

Marcus D. Leech patchvonbraun at gmail.com
Sat Nov 23 17:31:45 EST 2019


On 11/23/2019 03:49 PM, Austin Adam via USRP-users wrote:
> I am trying to run a Gnu Radio python file via the terminal and only 
> want to run in for a few seconds and then kill it. Then, wait a little 
> bit, and rerun the script again. My problem is that sometimes, when I 
> rerun it, I get an issue with my USRP N310 in that it decides to just 
> disconnect with either a "No devices found for" or "Someone tried to 
> claim this device again" message. I have posted the error messages 
> below from two different instances.
>
> When this happens, running uhd_find_devices does not find the N310, 
> neither does uhd_find_devices --args=addr=192.168.10.2.
>
> Upon restarting the N310 by manually pressing the power button, it is 
> able to be found by uhd_find_devices, and I can continue running the 
> script until the error happens, and I have to go manually restart the 
> USRP.
>
> I am trying to make an entire automated system and this is the one 
> thing that requires manual effort, which is to get up and restart the 
> USRP.
>
> I am looking for a way to either, reboot the USRP via commands for 
> when the error occurs, or a solution/workaround to the problem if it 
> exists.
>
> Is there any way to keep the USRP claimed and just tell the GNU part 
> of the script to run each time I want to rerun it? Because each time I 
> have to run the script, the USRP has to again be claimed and 
> initiated. How can I keep it on at all times, or just skip the 
> claiming step each time?
>
> Thank you in advance for any help you can provide!
>
> Here are the error messages:
> /[INFO] [UHD] linux; GNU C++ version 8.3.0; Boost_106700; 
> UHD_3.14.0.HEAD-0-g6875d061/
> /Traceback (most recent call last):
>   File "/home/ugikie/Desktop/PositionControl/ArrayTest2.py", line 296, 
> in <module>
>     main()
>   File "/home/ugikie/Desktop/PositionControl/ArrayTest2.py", line 284, 
> in main
>     tb = top_block_cls()
>   File "/home/ugikie/Desktop/PositionControl/ArrayTest2.py", line 79, 
> in __init__
>     channels=range(4),
>   File 
> "/usr/local/lib/python2.7/dist-packages/gnuradio/uhd/__init__.py", 
> line 122, in constructor_interceptor
>     return old_constructor(*args)
>   File 
> "/usr/local/lib/python2.7/dist-packages/gnuradio/uhd/uhd_swig.py", 
> line 2782, in make
>     return _uhd_swig.usrp_source_make(*args)
> RuntimeError: LookupError: KeyError: No devices found for ----->
> Device Address:
>     addr: 192.168.10.2
>     rx_lo_source: external
>     init_cals: 
> BASIC|TX_ATTENUATION_DELAY|RX_GAIN_DELAY|PATH_DELAY|TX_LO_LEAKAGE_INTERNAL|LOOPBACK_RX_LO_DELAY/
> /
> /
> *Here is the second time it happened:*
> /[INFO] [UHD] linux; GNU C++ version 8.3.0; Boost_106700; 
> UHD_3.14.0.HEAD-0-g6875d061
> [INFO] [MPMD] Initializing 1 device(s) in parallel with args: 
> mgmt_addr=192.168.10.2,type=n3xx,product=n310,serial=3177E63,claimed=True,addr=192.168.10.2,rx_lo_source=external,init_cals=BASIC|TX_ATTENUATION_DELAY|RX_GAIN_DELAY|PATH_DELAY|TX_LO_LEAKAGE_INTERNAL|LOOPBACK_RX_LO_DELAY
> [ERROR] [RPC] Someone tried to claim this device again (From: 
> 192.168.10.1)
> Traceback (most recent call last):
>   File "/home/ugikie/Desktop/PositionControl/ArrayTest2.py", line 296, 
> in <module>
>     main()
>   File "/home/ugikie/Desktop/PositionControl/ArrayTest2.py", line 284, 
> in main
>     tb = top_block_cls()
>   File "/home/ugikie/Desktop/PositionControl/ArrayTest2.py", line 79, 
> in __init__
>     channels=range(4),
>   File 
> "/usr/local/lib/python2.7/dist-packages/gnuradio/uhd/__init__.py", 
> line 122, in constructor_interceptor
>     return old_constructor(*args)
>   File 
> "/usr/local/lib/python2.7/dist-packages/gnuradio/uhd/uhd_swig.py", 
> line 2782, in make
>     return _uhd_swig.usrp_source_make(*args)
> RuntimeError: RuntimeError: Error during RPC call to `claim'. Error 
> message: Someone tried to claim this device again (From: 192.168.10.1)/*
> *
>
> i\
Instead of interrupting the GR script, you could use the "Head" block to 
have it run for a finite number of samples, then exit gracefully.
   When you interrupt it, some things are clearly not getting cleaned up 
gracefully.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20191123/d53384cc/attachment.html>


More information about the USRP-users mailing list