summaryrefslogtreecommitdiff
path: root/docs/src/common/Updating_LinuxCNC.txt
blob: e9288c71c402671513c831b95351dce638e4d541 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
= Updating LinuxCNC

== Updating from 2.4.x to 2.5.x

As of version 2.5.0, the name of the project has changed from EMC2
to LinuxCNC. All programs with "emc" in the name have been changed to
"linuxcnc" instead. All documentation has been updated.

Additionally, the name of the debian package containing the software
has changed. Unfortunately this breaks automatic upgrades. To upgrade
from emc2 2.4.X to linuxcnc 2.5.X, do the following:

=== On Ubuntu Lucid 10.04

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

* Click on the System menu in the top panel and select
  Administration->Software Sources.

* Select the Other Software tab.

* Select the entry that says

    http://linuxcnc.org/lucid lucid base emc2.4

    or

    http://linuxcnc.org/lucid lucid base emc2.4-sim

    and click the Edit button.

* In the Components field, change `emc2.4` to `linuxcnc2.5`, or change
  `emc2.4-sim` to `linuxcnc2.5-sim`.

* Click the OK button.

* Back in the Software Sources window, Other Software tab, click the
  Close button.

* It 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:

* Click on the System menu in the top panel and select
  Administration->Synaptic Package Manager

* In the Quick Search bar at the top, type `linuxcnc`.

* Click the check box to mark the new linuxcnc package for installation.

* Click the Apply button, and let your computer install the new
  package. The old emc 2.4 package will be automatically removed to make
  room for the new LinuxCNC 2.5 package.

=== On Ubuntu Hardy 8.04

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

* Click on the System menu in the top panel and select Administration->Synaptic Package Manager

* Go to Settings->Repositories.

* Select the "Third-Party Software" tab.

* Select the entry that says

    http://linuxcnc.org/hardy hard emc2.4

    or

    http://linuxcnc.org/hardy hardy emc2.4-sim

    and click the Edit button.

* In the Components field, change `emc2.4` to `linuxcnc2.5` or `emc2.4-sim` to `linuxcnc2.5-sim`.

* Click the OK button.

* Back in the Software Sources window, click the Close button.

* Back in the Synaptic Package Manager window, click the Reload button.


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

* In the Synaptic Package Manager, click the Search button.

* In the Find dialog window that pops up, type `linuxcnc` and click the
  Search button.

* Click the check-box to mark the linuxcnc package for installation.

* Click the Apply button, and let your computer install the new
  package. The old emc 2.4 package will be automatically removed to make
  room for the new LinuxCNC 2.5 package.

== Config changes

The user configs moved from $HOME/emc2 to $HOME/linuxcnc, so you will
need to rename your directory, or move your files to the new place.

The hostmot2 watchdog in LinuxCNC 2.5 does not start running until the
HAL threads start running. This means it now tolerates a timeout on the
order of the servo thread period, instead of requiring a timeout that's
on the order of the time between loading the driver and starting the HAL
threads. This typically means a few milliseconds (a few times the servo
thread period) instead of many hundreds of milliseconds. The default
has been lowered from 1 second to 5 milliseconds. You generally don't
need to set the hm2 watchdog timeout any more, unless you've changed
your servo thread period.

The old driver for the Mesa 5i20, hal_m5i20, has been removed after being
deprecated in favor of hostmot2 since early 2009 (version 2.3.) If you
are still using this driver, you will need to build a new configuration
using the hostmot2 driver. Pncconf may help you do this, and we have
some sample configs (hm2-servo and hm2-stepper) that act as examples.

== Upgrading from 2.3.x to 2.4.x

The following instructions only apply to Ubuntu 8.04 "Hardy Heron". 
LinuxCNC 2.4 is not available for older releases of Ubuntu.

Because there are several minor incompatibilities between 2.3.5 
and 2.4.x, your existing install will not automatically be 
updated to 2.4.x. If you want to run 2.4.x, change to the LinuxCNC-2.4 
repository by following these instructions:

run System/Administration/Synaptic Package Manager

go to Settings/Repositories

In the list of Third-Party software there should be at least two 
lines for linuxcnc.org.

For each of them:

* Select the line and click Edit
* On the Components line, change emc2.3 to emc2.4
* Click OK 
* Close the 'Software Preferences' window
* Click 'Reload' as instructed
* Click 'Mark All Upgrades'
   
.Mesa card and hostmot2 users:
**********
If you use a mesa card, find the proper hostmot2-firmware package 
for your card and mark it for installation. Hint: do a search for 
'hostmot2-firmware' in the synaptic package manager.
**********

* Click 'Apply' 

== Changes between 2.3.x and 2.4.x

Once you have done the upgrade, update any custom configurations 
by following these instructions:

=== emc.nml changes (2.3.x to 2.4.x)

For configurations that have not customized emc.nml, 
remove or comment out the inifile line NML_FILE = emc.nml. 
This will cause the most up to date version of emc.nml to be used.

For configurations that have customized emc.nml, 
a change similar to this one is required.

Failure to do this can cause an error like this one: 
---------------------------------- 
libnml/buffer/physmem.cc 143: PHYSMEM_HANDLE: 
Can't write 10748 bytes at offset 60 from buffer of size 10208.
----------------------------------

=== tool table changes (2.3.x to 2.4.x) 

The format of the tool table has been changed incompatibly. 
The documentation shows the new format. 
The tool table will automatically be converted to the new format.

=== hostmot2 firmware images (2.3.x to 2.4.x)

The hostmot2 firmware images are now a separate package. You can:

 - Continue using an already-installed 'emc2-firmware-mesa-*' 2.3.x package
 - Install the new packages from the synaptic package manager. 
   The new packages are named 'hostmot2-firmware-*'
 - Download the firmware images as tar files from 
   http://emergent.unpy.net/01267622561 and install them manually 

// vim: set syntax=asciidoc: