I have an M3D Micro 3D printer that printed fine for a couple of weeks and then was plagued with issues afterward. I've done the fixes from the forum to get proper heating and cooling of the nozzle. (I've added aluminum foil around the nozzle to make sure the hotend is fit snug against the nozzle and I've added an external fan, powered externally, to compensate for heat creep.)
This works very well for short prints and it usually finishes successfully. When I do a longer print it always stops midway and usually at the same exact point.
I tried printing at 200°C with black PLA and then again at 215°C with the same filament and it stops at the same exact point. I also tried M3D brand white filament. I am using CURA slicer with Octoprint GCODE sender and M3D Fio.
I know it is not clogged because if I stop the print and press extrude without letting it cool down, it extrudes fine.
What is causing my printer to stop printing?
Placing this suggestion as an answer, because all information appears to point to the slicer software and/or the operating system. Consider to use alternative methods of slicing and sending the model, such as the previously mentioned Craftware https://craftunique.com/craftware or other free slicers such as Slic3r http://slic3r.org/download both of which have linux versions. If, as you suggest, your firmware is so tied down that it won't run alternate versions without re-flashing, that would be your next step. Unfetter yourself from the limitations of the current suspect software.
If you are able to use other slicers and discover that the problem remains, the re-flashing of the firmware is likely the only solution.