You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have an AnyCubic Kobra 3 running Klipper, Moonraker, and Fluidd. The build of Linux released by Rockchip (the OEM that makes the SOC which powers it) has IPv6 fully disabled, as in the kernel modules for it don't even exist. The issue I'm running into is that when Moonraker goes to query DNS to find an IP address, in this case SimplyPrint, it errors out because the v6 address being returned by DNS is not supported by the networking stack.
2025-01-20 06:32:02,549 [simplyprint.py:_connect()] - Failed to connect to SimplyPrint
Traceback (most recent call last):
File "/useremain/home/ytka/moonraker/moonraker/components/simplyprint.py", line 201, in _connect
self.ws = await tornado.websocket.websocket_connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/useremain/dist/lib/python3.11/site-packages/tornado/simple_httpclient.py", line 340, in run
stream = await self.tcp_client.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/useremain/dist/lib/python3.11/site-packages/tornado/tcpclient.py", line 279, in connect
af, addr, stream = await connector.start(connect_timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/useremain/dist/lib/python3.11/site-packages/tornado/tcpclient.py", line 109, in start
self.try_connect(iter(self.primary_addrs))
File "/useremain/dist/lib/python3.11/site-packages/tornado/tcpclient.py", line 127, in try_connect
stream, future = self.connect(af, addr)
^^^^^^^^^^^^^^^^^^^^^^
File "/useremain/dist/lib/python3.11/site-packages/tornado/tcpclient.py", line 316, in _create_stream
socket_obj = socket.socket(af)
^^^^^^^^^^^^^^^^^
File "/useremain/dist/lib/python3.11/socket.py", line 232, in __init__
_socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 97] Address family not supported by protocol
I can't be the only one who is running into this. I believe logic should be added to detect the above failure and fall back to a IPv4 address.
Client
Mainsail, Fluidd
Browser
Other or N/A
How to reproduce
Create an environment where IPv6 connectivity is impossible. The issue should present itself at that point.
Additional information
No response
The text was updated successfully, but these errors were encountered:
The client library (in this case Tornado) handles DNS resolution prior to establishing the connection. Its default behavior is to query using socket.AF_UNSPEC, that is no family is specified. Python should only query socket families supported by the system. This makes it seem like there may be an issue with the python build. If you ssh in and run the following, what does it return?
What happened
I have an AnyCubic Kobra 3 running Klipper, Moonraker, and Fluidd. The build of Linux released by Rockchip (the OEM that makes the SOC which powers it) has IPv6 fully disabled, as in the kernel modules for it don't even exist. The issue I'm running into is that when Moonraker goes to query DNS to find an IP address, in this case SimplyPrint, it errors out because the v6 address being returned by DNS is not supported by the networking stack.
I can't be the only one who is running into this. I believe logic should be added to detect the above failure and fall back to a IPv4 address.
Client
Mainsail, Fluidd
Browser
Other or N/A
How to reproduce
Create an environment where IPv6 connectivity is impossible. The issue should present itself at that point.
Additional information
No response
The text was updated successfully, but these errors were encountered: