I have run into this problem on 2 different chassis with different control computers where the aqctl_moninj_proxy fails to start with artiq_dashboard instances. I can still run code via the command line, but none of the GUI controls appear to be working which I assume is part of the same issue. Upon starting the dashboard, the terminal shows:
ERROR:dashboard:artiq.dashboard.moninj:failed to connect to moninj. Is aqctl_moninj_proxy running?
Traceback (most recent call last):
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\artiq\dashboard\moninj.py", line 724, in mi_connector
await new_mi_connection.connect(self.mi_addr, self.mi_port)
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\artiq\coredevice\comm_moninj.py", line 32, in connect
self._reader, self._writer = await async_open_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\sipyco\keepalive.py", line 80, in async_open_connection
reader, writer = await asyncio.open_connection(host, port, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\asyncio\streams.py", line 48, in open_connection
transport, _ = await loop.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\asyncio\base_events.py", line 1085, in create_connection
raise exceptions[0]
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\asyncio\base_events.py", line 1069, in create_connection
sock = await self._connect_sock(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\asyncio\base_events.py", line 973, in _connect_sock
await self.sock_connect(sock, address)
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\asyncio\proactor_events.py", line 726, in sock_connect
return await self._proactor.connect(sock, address)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\qasync\_windows.py", line 43, in _process_events
value = callback(transferred, key, ov)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\asyncio\windows_events.py", line 633, in finish_connect
ov.getresult()
ConnectionRefusedError: [WinError 1225] The remote computer refused the network connection
I have also tried running the command directly, which I heard has worked for some others. This resulted in the same error with both command syntax's:
aqctl_moninj_proxy --port-proxy 1383 --port-control 1384 --bind BIND 192.168.1.56
Traceback (most recent call last):
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Scripts\aqctl_moninj_proxy-script.py", line 9, in <module>
sys.exit(main())
^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\artiq\frontend\aqctl_moninj_proxy.py", line 213, in main
loop.run_until_complete(comm_moninj.connect(args.core_addr))
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\asyncio\base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\artiq\coredevice\comm_moninj.py", line 32, in connect
self._reader, self._writer = await async_open_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\sipyco\keepalive.py", line 82, in async_open_connection
set_keepalive(sock, after_idle, interval, max_fails)
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\sipyco\keepalive.py", line 50, in set_keepalive
sock.ioctl(socket.SIO_KEEPALIVE_VALS,
^^^^^^^^^^
AttributeError: 'TransportSocket' object has no attribute 'ioctl'
And:
(artiq) C:\Users\bmcmahon6\artiq-master>aqctl_moninj_proxy 192.168.1.56
Traceback (most recent call last):
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Scripts\aqctl_moninj_proxy-script.py", line 9, in <module>
sys.exit(main())
^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\artiq\frontend\aqctl_moninj_proxy.py", line 213, in main
loop.run_until_complete(comm_moninj.connect(args.core_addr))
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\asyncio\base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\artiq\coredevice\comm_moninj.py", line 32, in connect
self._reader, self._writer = await async_open_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\sipyco\keepalive.py", line 82, in async_open_connection
set_keepalive(sock, after_idle, interval, max_fails)
File "C:\Users\bmcmahon6\AppData\Local\anaconda3\envs\artiq\Lib\site-packages\sipyco\keepalive.py", line 50, in set_keepalive
sock.ioctl(socket.SIO_KEEPALIVE_VALS,
^^^^^^^^^^
AttributeError: 'TransportSocket' object has no attribute 'ioctl'
If I comment out the instance in the device_db, then I don't get any errors, but the GUI of course doesn't respond to TTL changes or DDS changes. Any help is much appreciated.