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\