Hi Armin, While this is not an official feature and you won't receive any support for this, you can trigger a reset for X3xx devices with this command: uhd/firmware/usrp3/x300/x300_debug.py --addr <device IP address> --poke=0x00100058 --data=1. Note the script is not python3 compatible.
Jonathon On Fri, Sep 3, 2021 at 5:00 AM Armin Ghani <agh...@cttc.es> wrote: > Dear Community > > I'm working remotely with USRPs. Sometimes due to unknown reasons, USRPs > go to unknown state where they are still accessible through ping but they > product error while initializing: > > > Executing: /usr/bin/python3 -u > /home/.../Documents/.../ml/autoencoder/grc/dnn_ofdm_test.py > > > [INFO] [UHD] linux; GNU C++ version 7.5.0; Boost_106501; > UHD_3.15.0.HEAD-0-gaea0e2de > [INFO] [X300] X300 initialization sequence... > [INFO] [X300] Maximum frame size: 8000 bytes. > [INFO] [X300] Radio 1x clock: 200 MHz > [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/.../Documents/uhd/host/lib/rfnoc/ctrl_iface.cpp:52 > 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/.../Documents/uhd/host/lib/rfnoc/ctrl_iface.cpp:151 > > Traceback (most recent call last): > File "/home/.../Documents/.../ml/autoencoder/grc/dnn_ofdm_test.py", line > 1067, in <module> > main() > File "/home/.../Documents/.../ml/autoencoder/grc/dnn_ofdm_test.py", line > 1043, in main > tb = top_block_cls(cp_len=options.cp_len, fft_len=options.fft_len, > samp_rate=options.samp_rate, tx_freq=options.tx_freq) > File "/home/.../Documents/.../ml/autoencoder/grc/dnn_ofdm_test.py", line > 237, in __init__ > channels=list(range(0,1)), > File "/usr/local/lib/python3/dist-packages/gnuradio/uhd/__init__.py", > line 125, in constructor_interceptor > return old_constructor(*args) > File "/usr/local/lib/python3/dist-packages/gnuradio/uhd/uhd_swig.py", > line 3294, in make > return _uhd_swig.usrp_source_make(device_addr, stream_args, > issue_stream_cmd_on_start) > RuntimeError: 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/.../Documents/uhd/host/lib/rfnoc/ctrl_iface.cpp:151 > > > And the only solution for this is hard resetting the USRP which is a bit > difficult for me. I'd like to know if there are any other way to solve this > issue or if you know remote ways to do resetting which is equivalent to > hard reset. > > Regards. > > > -- > > Armin Ghani > > Research Engineer | Communication Systems Division (CSD) > > agh...@cttc.es | +34 93 645 29 08 (2143) > > Centre Tecnològic de Telecomunicacions de Catalunya (CTTC) > > Av. Carl Friedrich Gauss, 7 - Edifici B4 - PMT > > 08860 - Castelldefels (Barcelona, Spain) > > www.cttc.cat > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-le...@lists.ettus.com >
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com