Hello again, Can anyone shed some light on this issue? I found a similar reported issue here that doesn't seemed to have been resolved either:
http://ettus.80997.x6.nabble.com/USRP-users-ERROR-RPC-TDC-Failed-to-reset-td15582.html Thank you, Cameron On Sat, Dec 5, 2020 at 5:28 PM Cameron Matson <ncmatso...@gmail.com> wrote: > Hi all, > > I'm trying to use the White Rabbit switch to synchronize the acquisition > across multiple N310s receivers. I'm trying to use the instructions on > this Ettus article: > > > https://kb.ettus.com/Using_Ethernet-Based_Synchronization_on_the_USRP%E2%84%A2_N3xx_Devices > > I'm using the USRP sink block in gnuradio and set the "clock source" to > "internal" and the "timing source" to "sfp0" as it indicates in the article > > [image: image.png] > However I get the following error > > [INFO] [UHD] linux; GNU C++ version 7.3.0; Boost_106501; > UHD_3.14.0.HEAD-0-g6875d061 > [INFO] [MPMD] Initializing 1 device(s) in parallel with args: > mgmt_addr=192.168.3.2, > type=n3xx,product=n310,serial=316A5C2,claimed=False,addr=192.168.3.2 > [INFO] [MPM.main] Launching USRP/MPM, version: 3.14.0.0-g6875d061 > [INFO] [MPM.main] Spawning RPC process... > [INFO] [MPM.PeriphManager] Device serial number: 316A5C2 > [INFO] [MPM.PeriphManager] Initialized 2 daughterboard(s). > [INFO] [MPM.PeriphManager] init() called with device args > `clock_source=internal,time_source=internal'. > [INFO] [MPM.RPCServer] RPC server ready! > [INFO] [MPM.RPCServer] Spawning watchdog task... > [INFO] [0/Replay_0] Initializing block control (NOC ID: 0x4E91A00000000004) > [INFO] [MPM.PeriphManager] init() called with device args > `clock_source=internal,product=n310,mgmt_addr=192.168.3.2,time_source=internal'. > [INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000011312) > [INFO] [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000011312) > [INFO] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000) > [INFO] [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000) > [INFO] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000002) > [INFO] [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000002) > [INFO] [0/FIFO_0] Initializing block control (NOC ID: 0xF1F0000000000000) > [INFO] [0/FIFO_1] Initializing block control (NOC ID: 0xF1F0000000000000) > [INFO] [0/FIFO_2] Initializing block control (NOC ID: 0xF1F0000000000000) > [INFO] [0/FIFO_3] Initializing block control (NOC ID: 0xF1F0000000000000) > [ERROR] [RPC] TDC Failed to reset. > Traceback (most recent call last): > File "/home/cmatson/data_lts/muddi_char/test_multi_radio.py", line 206, > in <module> > main() > File "/home/cmatson/data_lts/muddi_char/test_multi_radio.py", line 194, > in main > tb = top_block_cls() > File "/home/cmatson/data_lts/muddi_char/test_multi_radio.py", line 78, > in __init__ > self.uhd_usrp_source_0.set_time_source('sfp0', 0) > File "/usr/local/lib/python2.7/dist-packages/gnuradio/uhd/uhd_swig.py", > line 3067, in set_time_source > return _uhd_swig.usrp_source_sptr_set_time_source(self, source, mboard) > RuntimeError: RuntimeError: Error during RPC call to `set_time_source'. > Error message: TDC Failed to reset. > [INFO] [MPM.Magnesium-0] Re-initializing daughter board. This may take > some time. > [ERROR] [MPM.Sync-0] TDC Failed to Reset! Check your clocks! Status: 0x0 > [ERROR] [MPM.RPCServer] Uncaught exception in method set_time_source :TDC > Failed to reset. > Traceback (most recent call last): > File "/usr/lib/python3.5/site-packages/usrp_mpm/rpc_server.py", line > 182, in new_claimed_function > return function(*args) > File "/usr/lib/python3.5/site-packages/usrp_mpm/periph_manager/n3xx.py", > line 626, in set_time_source > self.set_sync_source(source) > File "/usr/lib/python3.5/site-packages/usrp_mpm/periph_manager/n3xx.py", > line 723, in set_sync_source > skip_rfic=args.get('skip_rfic', None) > File > "/usr/lib/python3.5/site-packages/usrp_mpm/dboard_manager/magnesium.py", > line 385, in update_ref_clock_freq > self._reinit(self.master_clock_rate) > File > "/usr/lib/python3.5/site-packages/usrp_mpm/dboard_manager/magnesium.py", > line 344, in _reinit > self.init(args) > File > "/usr/lib/python3.5/site-packages/usrp_mpm/dboard_manager/magnesium.py", > line 293, in init > args, self._init_args, fast_reinit) > File > "/usr/lib/python3.5/site-packages/usrp_mpm/dboard_manager/mg_init.py", line > 615, in init > args > File > "/usr/lib/python3.5/site-packages/usrp_mpm/dboard_manager/mg_init.py", line > 555, in _full_init > args) > File > "/usr/lib/python3.5/site-packages/usrp_mpm/dboard_manager/mg_init.py", line > 221, in _sync_db_clock > target_offset=trace_delay_offset) > File "/usr/lib/python3.5/site-packages/usrp_mpm/cores/tdc_sync.py", line > 201, in run > self.configure(force=True) > File "/usr/lib/python3.5/site-packages/usrp_mpm/cores/tdc_sync.py", line > 254, in configure > raise RuntimeError("TDC Failed to reset.") > RuntimeError: TDC Failed to reset. > > > I can't seem to find anything about "TDC" online. Once I get this error, > it doesn't seem to recover even if I change the parameters back, and the > only way I have found to fix it is to reset the device. > > I believe the white rabbit switch is configured properly because I am able > to synchronize between two daughterboards within a single N310 by setting > the "sync" parameter to "unknown PPS" which then calls the > set_time_next_pps. If I don't set the "clock/timing_source" parameters in > the usrp block and just have the "sync" parameter set to "unknown PPS" on > two N310s, the individual pairs daughterboards are sync'd but not between > the two radios and there's a seemingly random delay (of up to several ms) > between the two radios. > > Thanks, > > Cameron >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com