LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org


This page describes how to upgrade from LinuxCNC 2.5.x to LinuxCNC 2.6.x. There is no one-step upgrade from EMC 2.4 or earlier to LinuxCNC 2.6. To perform such an upgrade, follow the instructions to upgrade to 2.5 first. (http://wiki.linuxcnc.org/cgi-bin/wiki.pl?UpdatingTo2.5) and then follow the steps on this page.

Getting LinuxCNC 2.6

Upgrading Ubuntu 10.04 (Lucid) from LinuxCNC 2.5 to 2.6

Do this if you have a running install of LinuxCNC on Ubuntu 10.04 Lucid, for example from one of the LinuxCNC Live CDs.

First you need to tell your computer where to find the new LinuxCNC software:

  deb http://linuxcnc.org/ lucid base 2.6


When you add that line, Software Sources will pop up a window informing you that the information about available software is out-of-date. Click the Reload button.

Now your computer knows about the new software, next we need to tell it to install it:

Fresh install on Debian 7 (Wheezy)

The LinuxCNC Live+Install Debian Wheezy image is the preferred way to make fresh installs of LinuxCNC 2.6. Full instructions and details here:


A couple of notes:

If you prefer gedit then you need to update apt-get

Fresh install on Ubuntu 12.04 (Precise)

  deb http://linuxcnc.org/ precise base 2.6


Changes to your configuration

Smart-serial MPG encoder changes

In 2.5 the MPG encoders on the 7i73 and 7i84, and also the simple encoders on 7i77 GPIO export a single integer counts pin. In 2.6 this channel becomes more like a full encoder, with scaling, reset, etc. so, for example, hm2_5i23.0.7i73.0.0.enc0 is replaced by hm2_5i23.0.7i73.0.0.enc0.count hm2_5i23.0.7i73.0.0.enc0.rawcounts hm2_5i23.0.7i73.0.0.enc0.position hm2_5i23.0.7i73.0.0.enc0.index-enable hm2_5i23.0.7i73.0.0.enc0.scale hm2_5i23.0.7i73.0.0.enc0.reset hm2_5i23.0.7i73.0.0.enc0.counts-per-rev

Hostmot2 7i64 HAL pin changes

Hostmot2 7i64 digital input HAL pins changed names from hm2_5i23.0.7i64.0.0.digin.00.in and hm2_5i23.0.7i64.0.0.digin.00.in-not to hm2_5i23.0.7i64.0.0.input-00 and hm2_5i23.0.7i64.0.0.input-00-not.

Hostmot2 7i64 digital output HAL pins changed names from hm2_5i23.0.7i64.0.0.digout.00.out and hm2_5i23.0.7i64.0.0.digout.00.invert to hm2_5i23.0.7i64.0.0.output-00 and hm2_5i23.0.7i64.0.0.output-00-invert.

Hostmot2 8i20 HAL pin changes

HAL pin hm2_5i23.0.8i20.0.0.amp-enable was removed.

HAL pin hm2_5i23.0.8i20.0.0.max_current was replaced by hm2_5i23.0.8i20.0.0.current.maxlim and hm2_5i23.0.8i20.0.0.current.minlim. A very significant further change is that the current is now a value in amps, not the previous 0 - 1 scaling.

Fault/Status? registers are now individual pins:

The under volt and no-enable pins appear as both status and fault, this is because different firmware versions treat the situations differently. Typically in RevB boards both lack of enable and low bus voltage stop the card, whereas in the RevD boards the only stop the output and the board recovers when the condition is removed. Either board version may run either firmware version, however.

PID tuning change

The pid option error-previous-target now defaults to TRUE. This makes PID work better when there is I gain, or in torque-mode loops. You may need to retune. If you want to keep your old tuning, just set all your pid.N.error-previous-target pins to FALSE. If you want to use the new default, you probably only need to adjust your FF1 setting. In testing on a real machine, it was possible to get much better tuning with the new default of error-previous-target = TRUE.

HAL syntax for connecting pins & signals is more strict

The halcmd manpage has always shown "<=", "=>", and "<=>", preceeded and followed by a space character, as the accepted arrows for connecting pins and signals. However, before 2.6 halcmd would accept any number of "=" characters in the arrows. As of 2.6, only the documented arrows are accepted. If you have a "net" command in a .hal file that uses multiple "=" signs, you'll get a load-time error. Simply change it to use the documented arrow styles to fix it.

Important Behaviour Changes

Feed override doesn't affect rapid moves anymore - use max-velocity override.

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions
Last edited August 6, 2014 5:09 am by Jthornton (diff)
Published under a Creative Commons License