I think I might have the answer, and since I am getting a little older, I have begun practicing the time honored tradition of giving long-winded explanations for everything instead of getting right to the point. So brace yourselves:
I used to have the exact same problem and went through many of the same aforementioned steps to troubleshoot it, Sometimes, I could go a few hours without issues, other times it would disconnect in just a few minutes. I tried different computers, different USB cables, different ports, upgrading Easel… all sorts of things; but just when I thought I had it figured out, it would happen again. I even ended up writing a piece of software which would analyze and visualize the GCode and allow me to easily regenerate new GCode to pick up and start where the carve failed.
It did not seem to be a computer/usb/software issue… So at one point, I thought that it might be power surges, because there were a few times that I had turned on another powertool in my shop, and at that moment, my XController disconnected.
I experimented with this, and was able to occasionally reproduce the problem without having to run a carve, simply by going into the ‘Carve’ menu (in Easel) where you can home the machine. On several occasions, I was able to force a disconnect just by inducing a surge… but I had noticed that this was ONLY a problem when I had the DW611 running. If the router was not running, it did not seem to be an issue.
So… I purchased a semi-expensive power conditioner to get rid of any surges.
That did not work.
Then, I tried running my X-Controller and the router (DW611) on two completely separate circuits and kept both of them quiet (I didn’t run any other tools). Expecting this to solve the problem, I was very disappointed that I still had the issue.
BUT, this experiment lead me to believe that the problem was on the other-side of the X-Controller. Namely, my wiring from the XCarve to the XController.
When I built my machine, I used Velcro strips to lay my DW611 power cord along the top of the drag-chain - for both the gantry, and the return to the XController. The length to the router’s cord only got me part-way to the XController, so I got a heavy-duty grounded 4foot appliance extension cord and extended the length of the router cord so that it could follow the rest of the drag-chain and then past the XController to an outlet.
Now, in a previous life, I was into computer networking, and I had run into issues when un-shielded network cables were run too close to power lines. So I setup an experiment:
I removed the Velcro which was keeping the DW611 power attached to the drag-chain. I then made sure that there was at least a few inches separating the power from the cables in the drag-chain and started a 5-hour carve. No problems!. Then, I did several smaller hour to two-hour long carves. Again, no problems.
So then, I put my router and the XController all on the same circuit (but through the power conditioner) as my main power-runs for my other high-amp power tools and started a carve. I then tested again by running some high-amp tools, and there was no issue at all.
It’s been about a month now that I have not had any issues, and I have been using it fairly heavily.
So - here’s my theory on what the problem is: Since the XCarve is DC and the router is AC, I think that when the router itself would surge it would cause a momentary DC-pulse in the neighboring cables within the drag-chain. This pulse would then upset the GRBL board - which would then disconnect from the PC… OR maybe I’m just crazy and have just had a stretch of coincidental good luck!
Anyhow… I really liked having the power ride the drag-chain, as it ensured that there would be no snags when carving large-dimensioned pieces. So: I am going to try getting some extra shielding for my power cable, and also putting some ferrite-cores on my motor lines.
Anyhow - that’s my experience with this issue. Perhaps you can try a similar experiment and see if isolating the router power from the stepper-motor lines makes a difference.
Let me know if this helps anyone!