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\