Guidance on installing additional packages

One of the main reasons for me choosing Tormach was that the controller is running Linux and based on linuxcnc. I’m a long time linux user and software engineer. I am very comfortable and know my way around, I’ve used multiple different distributions, managed and configured systems large and small. (first install was from a large stack of 5" floppy disks).

Besides the obvious concerns about managing and modifying the underlying OS on the controller (Obviously Tormach is not going to support a heavily modified system, if you do something stupid like install a new kernel and break everything it’s your problem)

Is there any guidance on augmenting or modifying the OS or configuration beyond the obvious “you break it, it’s your problem”?

Does Tormach update the linux distribution or recommend updating installed packages like one would typically do on a linux system?

The point being that there is a range of mods that come with a range of risks.

For instance, I’ve installed the “tree” package - this is a trivial stand alone command line utility that display nicely formatted tree of files and directories in a terminal window or console. Doing so should be zero risk, other than some future major update from Tormach might require me to install it again.

I’d be much less inclined to update an existing already installed package without evaluating dependencies that Tormach might be relying on and the scope of the updates.

My immediate desire is to install the open-ssh server so that I can easily get remote access to my machine in a way that I’m very familiar and comfortable with. (Note - not interested in a discussion on all of the security concerns and proper configuration of SSH servers - I’ve worked with them for years from wide-open to extremely locked down systems)

In my opinion installing the open-ssh server should be a low risk (disregarding security issues) as it is currently not installed and therefore adding it should not “break” anything.

Interested in other peoples experiences in augmenting the underlying installed linux system.

David,

Any modifications to Pathpilot fall under “go nuts but you are going alone”, even for the simplest of changes. We aren’t able to provide any official guidance on making modifications. Employees might chime in with some assistance but that’s always based on their individual prerogative and comes with no guarantees.

Thank you,
Norman

1 Like

I probably should have been clearer in my original post.

I absolutely understand that Tormach can not advise or support user modifications to any aspect of the controller OS or code.

Thank you for your response.

I’ve only been with a Tormach machine for about a year and I’m happy with my decision to go with it.

It’s more a question of what to expect in the future and how to recover if I need to reload everything.

How have you or do you update OS packages? It’s a normal thing for linux installs. I’ve worked on linux based systems for aircraft and understand the need for locking everything down. Did you choose an initial OS install in 2013-14 and lock it permanently?

Noticing that it currently appears to be running Ubuntu 14.04.5 LTS and that version is from the 2014 timeframe, a quick look shows “Expanded security maintenance” expired mid-2024, Do you have plans to to move to a newer OS version/distribution?

What is the procedure for a user that has a controller that needs to be reloaded from scratch (for any reason)?

Do you provide instructions and images/ISO (what ever) for that or is it return or buy a new controller?

If this is not the appropriate forum to discuss mods and enhancements to OS & code, I understand and will take those questions elsewhere.

I assumed this was more of a community forum than a support forum, my mistake.

David,

My impression on the OS is it is locked at an old version, I have seen Tormach people on this forum say that they are looking to upgrade the OS on a future path pilot upgrade (noncommittal on timeline). Your specific “changes” mentioned wouldn’t scare me but you will not get them to tell you it’s ok is my sense.

They do sell a recovery USB stick in the event you need to recover the system.
https://tormach.com/pathpilot-v20-upgrade-38249.html

There is also another way to do it using R-Drive.
https://tormachtips.com/restore.htm

Lastly, I was also confused about the nature of the forum but now really appreciate that it is primarily user driven but that Tormach people hop in and out of conversations. I really like that in that it often can end conjecture and assumptions that aren’t helpful or they bring the definitive answers from Tormach’s POV.

Hope that helps!

1 Like

Thanks, that’s the kind of info I was looking for.

As I think I communicated, I totally get their position - I’ve been it myself.

As long as I know there is a way to restore the controller if I somehow do something extremely stupid I’m good. I’ve got a lot of experience working on linux and embedded linux.

I’ve posted other stuff on these forums and have also gotten good community feedback.

I purchased Tormach because I was really excited about the potential to modify and extend functionality. I’m just really starting to dig into it and finding the that the information is scattered and disjoint.

XoomSpeed and TormachTips have some pretty good info on adding functionality correctly.

Seems like a form dedicated to hacking would be useful here - but again can understand why Tormach might not want to do that!

1 Like

The main concern for me isn’t that it won’t boot, but that it will be running undoubtedly with a mono crystaline diamond end mill and crash straight into the table because some piece of software decided that right now was a good time to update its emojis (or something stupid).

Your assumption is absolutely correct, Norman was just clarifying what to expect from employees while others are encouraged to discuss as they choose.

If you haven’t found it, yet, cnczone is an old community that tended to get into the bowels of PP and you might gain insight over there as well.

A new version of PP that will be based on a newer build of Linux is in the works but we don’t have a release date yet.

We sell a USB restore drive for starting over with PP, which is the only catastrophic recovery method we have. For not so catastrophic recovery the controller has a recovery mode to wipe PP and start over but I’m unsure if the changes you are dreaming up will hork that option.
Good luck and keep us posted. I’m curious what all you achieve.

1 Like

Linux package managers and packages really aren’t going to do that. I would never consider enabling any sort of auto-package update on a real time embedded system - that would be a recipe for disaster.

When you manually install or update packages from the command line, it will tell you what else it want’s to pull in and require confirmation and only a fool would manually install new packages while running a job.

Additionally, the stuff I’m talking about is system, OS utility functions etc. not any of the core LinuxCNC stuff.

But yes, even so - informed caution is absolutely required and you shouldn’t do stuff that you don’t understand or can prove before you run your next job.

It’s just development / engineering and I’ve made a career of it. Including witnessing and making some rather spectacular and dramatic mistakes, fortunately none that ended death and destruction - usually just letting the smoke out of a box or breaking something mechanical :rofl:

1 Like

I have nothing terribly helpful to say here except that when I first got my machine I was messing around with everything I could think of. Modifying little bits of PP, building my own 4th axis, deconstructing the ATC comms protocol, developing a mill turn post processor, etc. Never really caused any trouble but also never really extended the machine much beyond what I was capable of doing with it anyway.
As my CNC skills progressed, so did my desire for accuracy, precision, and reliability. So my DIY 4th went away in favor of a microarc, my homebrew ATC project died and I bought the factory part, and my installation of PP is effectively as it was from the factory. The only thing that remains of my hacking projects is my DIY smart cool, which still works very well and I’m quite proud of (though it needs a firmware update one of these days to improve it’s response time).
Point is, my need to mess with things was getting in the way of making the parts that I wanted the machine for. I’m certainly not suggesting your path will follow mine, it’s the modders out there pushing the limits of these machines that I admire most. Just make sure you’re chasing what really matters to you so you’re not staring at a very expensive paperweight like I did for far too long.

2 Likes

That’s certainly a fair position and comment.

You hit on another reason I chose Tormach - if/when I get to a point where I need to start doing more than small runs of parts, it’s really easy to extend the machine. I think first on my list would be an ATC and probably flood cooling. I’m also interested in adding a microarc.

I was involuntarily retired earlier this year and have since spent 3-5 days a week on my machine. Mostly learning more about it and honing skills. I’ve also been working getting to the point of small production runs for a specific project.

My only real “mods” to date have been to switch to the Fusion post processor that David Loomes developed (available at xoomspeed.com).

And two mods to better support using the Tormach spindle speeder. The first big issue is that there was no way to tell the Tormach Fusion PP that the 3X speeder was installed - this made it extremely annoying and potentially dangerous - having to enter speeds that are 1/3 the desired speed in all of my fusion tool paths when using the speeder.

I modified the XoomSpeed PP to include a spindle speeder factor and now my CAM files all use actual spindle speeds and I don’t need two tool tables (1X and 3X).

If there is a setting for the Tormach post processor or a way to switch it in path pilot (like the spindle Hi/Low setting) let me know, if not it seems that Tormach might really want to add it to their post processor.

The other mod is also related to using the spindle speeder. I need to have multiple passive probes. One on a TTS holder and another without that can be mounted in the speeder. I also like having different probe tip sizes available.

I started just switching back and forth - plugging the correct one in to use it. This lead to multiple busted probe tips and eventually a busted probe due to forgetting to swap the cables / forgetting to test the probe switch light as soon as switching.

I finally put really short leads and connectors on my probes and have one cable into the enclosure with a matching connector at the probe.
Turns out that this has the added advantage of being “fail safe” as the probe is normally closed (not triggered) where as the probe-less cable is normally open. Therefore once you change to the probe tool, the probe is seen as “triggered” and you can’t jog or probe until you plug the cable in AT THE PROBE in the spindle. Inherently fail-safe.

What I’m looking to do right now is setup an easy quick way to copy probe data from one of the probe tools to tool 99 - the mandatory tool number for Tormach probing.

2 Likes

With respect to the spindle speeder and post processor. The speeder is SUCH a niche product I can’t imagine too many people even have one, let alone have a need for custom post. That said, post processor editing in fusion isn’t too difficult. I haven’t dug into one since I was playing around with mill turning but off the top of my head, the simplest approach would be to add a user setting to the post dialog allowing you to select speeder or no speeder, then if speeder is selected, rpm=rpm/3.

As for the probe, not sure exactly what you mean when you say copy probe data to tool 99? Are you referring to the length of the probe or it’s XY position relative to the current coordinate system?

For length, you’ll probably just have to check/set that every time you switch from one to the other so tool 99 is correct. XY I would have thought would be the same as the speeder is inline with the standard spindle?

Understood - and agree that the speeder is a niche product that not that many people would have one.

And yes, I just added a spindle multiplier factor to the XoomSpeed PP - once I figured out that was the best approach. The XoomSpeed PP is much easier to modify / work with. I looked at the Tormach F360 post and there were just too many places that it issued spindle speed Gcode and it wasn’t clear how to add PP options.

Once I found the XoomSpeed PP, it didn’t take more than an hour or 2 to make the modification. I spent way more time figuring out how to develop, debug post processes for F360, but that was an expected learning curve.

Regarding the multiple probes - Each probe has its own length and “effective diameter” that has to be set during probe setup/calibration. I’m using different lengths and diameters - depending on what I have to probe.

This means that every time I want to use a different probe I have to go into the offsets screen and copy both the diameter and length of the probe I’m changing to to tool 99. It’s a PIA and an opportunity for mistakes.

I just want to type “probe_num 105” and have it do the copy for me. Secondarily, this should be a simple enough hack that it gives me an opportunity to learn more about how linuxcnc and pathpilot work. Setting me up for more ambitious mods in the future.

The other PIA with probing and using the spindle speeder is that the probe needs to be setup and calibrated every time as I’m currently mounting it in a 10mm ER collet and there is no way to ensure concentricity and length each time the probe is mounted.

My current planed solution to that issue is to make an adaptor for the probe that mounts on to the spindle speeder nose and references to the nose/collar skipping the ER collet entirely. That should provide repeatable registration that’s accurate enough.

Any ideas on how to modify and reload the tool table on the fly?
I’ve found that PathPilot regularly checks/knows that it needs to save and load the tool table and I’m looking into being able to script this and trigger it from the UI somehow.

Have not yet looked into the ADMIN commands but it seems that that would be an obvious way to get it done (noticing that some of them simply kick off Gnome utils like net work setup for instance).

Anyhow, mostly this is about learning my way around.

That level of PP modification is beyond what I’ve tried to do so I can’t help with any of that unfortunately.
The best I could offer is a gcode program approach that would copy the probe information for you. Tool length, diameter, etc. are all stored in numbered parameters that can be accessed through a gcode program.

The only issue is that, from what I can tell, the tool information can only be accessed for the current tool. So you couldn’t do a “copy tool 105 to tool 99” type program. You’d have to hardcode the tool info into the program, “load” tool 99, then the program could apply the tool information.

What you COULD do is write an if statement that looks at the current tool and determines which set of data to write. So the structure would be something like
if tool# = 105,
tool change to 99
overwrite from parameter set 1
elseif tool# = 106
tool change to 99
overwrite from parameter set 2

In practice, you would have to “load” whichever tool corresponds to the probe you want to use, the program will then prompt you to “load” tool 99, hit cycle start without changing anything and the correct tool parameters are then written into the T99 fields

Here is the list of linuxcnc parameters
You’ll be most interested in #5400-5410

Ahh, right I was having a brain cramp about that. Figured out that you have to load the tool to access the info - the full tool table is not available. Hadn’t thought hard enough about it to load the desired probe, grab the diameter a length, load 99 and set from previous tool.

Thanks, that’s a quick solution and could be a Gcode sub run from the MDI line.

Since I’m using manual tool loads, I’ll probably have to hit cycle start twice - once for the actual probe tool and again for 99.

Maybe if I’m lucky Tormach did manual tool load as a subroutine that could be modified?

My core problem is I’m still learning how all of this stuff is connected. Maybe I should start another “what happens where” thread.

IE. how do the nc programs actually get processed?
PP loads files and sends stuff to linuxcnc. Somehow it’s also “watching” ie. a Gcode tool change pops up in the Gcode and it either gets sent to an ATC (sub?) or the PP GUI sees it and handles the user interactions.

I’m starting to get the full picture but I haven’t found a single point with a clear high level walk through of how it all works.

I could be wrong but I don’t think PP and linuxcnc are separate entities. I believe PP is essentially a fork of linuxcnc with a customized GUI.

I misspoke - I’ve been reading code and finding my way around off and on for a couple of weeks…

When I say “linuxcnc” I really mean the RT parts, HAL etc - the guts that really drive the machine.

When I say PP I’m referring to the user side, GUI control plane stuff.

You are correct in that Tormach is offering a customized LinuxCNC in total.

Looking at the stock LinuxCNC code, there are any number of GUIs and control plane options.

Well I’m an idiot (not the first time). The PathPilot UI does indeed have a drop-down selector for “Spindle Type” in the settings tab. I managed to miss this as I don’t usually need to mess with settings.

still learning…

-Dave

2 Likes