I connected a MKS DLC32 to Rayforge using…
It seems to work, but there is an annoying disconnection occurring every 20-30 seconds. At that time, all machine controls are grayed, and we have to wait for the next auto-reconnect.
Using Rayforge 1.7.10.
MKS DLC32 firmware version is the last available: V2.30(8M.H35.20221223)
Board is reported as MKS-DLC32 V2.1
I ran Rayforge in debug mode and noticed in the logs that this disconnect seems related to the ping/pong process.
For each ping
2026-06-04 09:25:03,817 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > PING ad a4 40 da [binary, 4 bytes]
2026-06-04 09:25:03,817 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - % sent keepalive ping
2026-06-04 09:25:03,907 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < BINARY 3c 49 64 6c 65 7c 4d 50 6f 73 3a 32 30 2e 30 30 ... 7c 50 6e 3a 50 3e 0d 0a [45 bytes]
2026-06-04 09:25:03,907 - 3824 - Thread-1 (_run_event_loop) - rayforge.machine.driver.grbl.grbl_network - DEBUG [RAW_IO] - WS RX: b'<Idle|MPos:20.000,20.000,0.000|FS:0,0|Pn:P>\r\n'
2026-06-04 09:25:03,907 - 3824 - Thread-1 (_run_event_loop) - rayforge.machine.driver.grbl.grbl_network - INFO [STATUS_POLL | ca8adcb8-21ed-439b-9e42-52ecd61ea4dd] - <Idle|MPos:20.000,20.000,0.000|FS:0,0|Pn:P>
2026-06-04 09:25:03,907 - 3824 - Thread-1 (_run_event_loop) - rayforge.machine.driver.grbl.grbl_network - INFO - Parsed status: IDLE
I see an error that immediately follows
2026-06-04 09:25:03,913 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > CLOSE 1002 (protocol error) incorrect masking [19 bytes]
2026-06-04 09:25:03,913 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - = connection is CLOSING
2026-06-04 09:25:03,925 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < EOF
2026-06-04 09:25:03,925 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > EOF
2026-06-04 09:25:03,925 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - = connection is CLOSED
2026-06-04 09:25:03,925 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - x half-closing TCP connection
Then, there is a sleep and a successful auto-reconnect
2026-06-04 09:25:03,926 - 3824 - Thread-1 (_run_event_loop) - rayforge.machine.driver.grbl.grbl_network - INFO [MACHINE_EVENT | ca8adcb8-21ed-439b-9e42-52ecd61ea4dd] - Connection status: SLEEPING
2026-06-04 09:25:08,927 - 3824 - Thread-1 (_run_event_loop) - rayforge.machine.driver.grbl.grbl_network - INFO [MACHINE_EVENT | ca8adcb8-21ed-439b-9e42-52ecd61ea4dd] - Connection status: CONNECTING
2026-06-04 09:25:09,088 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - = connection is CONNECTING
2026-06-04 09:25:09,089 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > GET / HTTP/1.1
2026-06-04 09:25:09,089 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Host: 192.168.1.154:81
2026-06-04 09:25:09,089 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Origin: http://192.168.1.154:80
2026-06-04 09:25:09,089 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Upgrade: websocket
2026-06-04 09:25:09,089 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Connection: Upgrade
2026-06-04 09:25:09,089 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Sec-WebSocket-Key: 34wcCFnplu5jzfVrakGOJg==
2026-06-04 09:25:09,089 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Sec-WebSocket-Version: 13
2026-06-04 09:25:09,090 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
2026-06-04 09:25:09,090 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Connection: Upgrade
2026-06-04 09:25:09,090 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > Upgrade: websocket
2026-06-04 09:25:09,090 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > User-Agent: Python/3.14 websockets/15.0.1
2026-06-04 09:25:09,123 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < HTTP/1.1 101 Switching Protocols
2026-06-04 09:25:09,123 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < Server: arduino-WebSocketsServer
2026-06-04 09:25:09,123 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < Upgrade: websocket
2026-06-04 09:25:09,123 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < Connection: Upgrade
2026-06-04 09:25:09,124 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < Sec-WebSocket-Version: 13
2026-06-04 09:25:09,124 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < Sec-WebSocket-Accept: j4YJ1hylvnkYfq493AxjKbRii4g=
2026-06-04 09:25:09,124 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - = connection is OPEN
2026-06-04 09:25:09,124 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - < PING '' [0 bytes]
2026-06-04 09:25:09,124 - 3824 - Thread-1 (_run_event_loop) - websockets.client - DEBUG - > PONG '' [0 bytes]
2026-06-04 09:25:09,124 - 3824 - Thread-1 (_run_event_loop) - rayforge.machine.driver.grbl.grbl_network - INFO [MACHINE_EVENT | ca8adcb8-21ed-439b-9e42-52ecd61ea4dd] - Connection status: CONNECTED
I connected a MKS DLC32 to Rayforge using…
It seems to work, but there is an annoying disconnection occurring every 20-30 seconds. At that time, all machine controls are grayed, and we have to wait for the next auto-reconnect.
Using Rayforge 1.7.10.
MKS DLC32 firmware version is the last available: V2.30(8M.H35.20221223)
Board is reported as MKS-DLC32 V2.1
I ran Rayforge in debug mode and noticed in the logs that this disconnect seems related to the ping/pong process.
For each ping
I see an error that immediately follows
Then, there is a sleep and a successful auto-reconnect