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

Reply via email to