EMC2: Logiciel open source de pilotage de machine à commande numérique.
Installer la dernière version de FIrefox
Avec la cadence de mise à jour de Firefox qui s'accélère, il devient difficile de disposer d ela dernière version sur Ubuntu. D'autant que la version livrée ne dispose pas de la synchronisation des bookmarks (objet d'un précédent article). Pour l'installer :
sudo add-apt-repository ppa:mozillateam/firefox-stable sudo apt-get update && sudo apt-get upgrade sudo apt-get install firefox-locale-fr
Installer Flash et autres contribs propriétaires
sudo apt-get install ubuntu-restricted-extras
Méthode simple pour installer Flash et seulement Flash
Dans 'Applications' / 'Logitheque Ubuntu', rechercher et installer flash
Installer le logiciel de télémaintenance propriétaire Teamviewer
wget http://www.teamviewer.com/download/teamviewer_linux.deb dpkg -i teamviewer_linux.deb
Installer un Dock 'à la OSX'
(source: http://glx-dock.org/bg_topic.php?t=5646 )
sudo add-apt-repository ppa:cairo-dock-team sudo apt-get update[|http://glx-dock.org/ww_page.php?p=First%20Steps&lang=en] sudo apt-get install cairo-dock cairo-dock-plug-ins
Tester son fonctionnement, puis rendre éventuellement le démarrage permanent si ok: http://glx-dock.org/ww_page.php?p=First%20Steps&lang=en
Forcer la carte graphique en mode VESA
Sur Ubuntu, le plug and play marche tellement bien, qu'il est difficile de spécifier sa carte graphique manuellement. Ceci est très utile lorsque que l'on a une carte graphique qui pose problème au temps réel de RTLinux intégré dans Ubuntu 10.04 Emc2. Il faut dans ce cas passer en mode VESA pour désactiver toute accélération graphique. Mais ce n'est pas si simple.....
- Dans les options de démarrage du noyai courant, enlever l'utilisation du mode VESA pour le mode texte du noyau (vous savez, 50 lignes par page en mode texte). Pour ce faire, editer grub.cfg et ajouter 'nomodeset' en option de kernel :
sudo vi /boot/grub/grub.cfg
(sur la ligne "linux /boot/.... ro quiet splash" de la permière entrée bootable, ajouter nomodeset à la fin)
- Redémarrer la machine
- Apres le redémarage, ne pas ouvrir de session, et faire CTRL + ALT + F1 pour passer en console et se logger
- Arreter GDM, le gestionnaire de login graphique
sudo service gdm stop
- Lancer la configuration de X
sudo Xorg -configure
- Si la fin de la configuration s'est bien passée, Xorg vous dit qu'il a placé un fichier xorg.conf.new dans la racine de votre compte.
- Éditer ce fichier de config, et changer dans la section "Device" le driver par :
Driver "vesa"
- Tester la configuration comme indiqué à l'écran
- Si tout est ok, l'activer en copiant ce fichier de config dans /etc/X11
sudo cp /home/userxxx/xorg.conf.new /etc/X11/xorg.conf
- Tester une dernière fois
startx
- Si tout est ok, redémarrer. Ce changements sont maintenant permanents.
- A noter que pour revenir à une configuration autodétectée, il suffit de supprimer (en root) le fichier /etc/X11/xorg.conf
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.vesa
Installer un serveur ssh
SSH n'est pas installé par défaut sur l'Ubuntu 10.04 d'EMC2.
sudo apt-get openssh-server
Optimisation des performances temps réel pour EMC2
La distribution Ubuntu 10.04 pour EMC2 contient un patch temps réel, qui permet lorsque tout est bien réglé de faire fonctionner une machine de CNC sans perte de pas. Toutefois, ce patch temps réel n'est pas tout terrain. Il convient souvent (toujours?) d'optimiser la configuration de la machine pour que cela fonctionne. EMC2 contient un utilitaire ('CNC' / 'Latency test') permettant de tester le comportement de la machine. Pour que tout fonctionne convenablement il faudrait avoir une valeur finale inférieure ou égale à 25000.
J'ai déjà configuré plus d'une dizaine de machine pour EMC2 et voici mes conclusions :
- Cela n'est jamais optimisé sans rien faire. N'espérez donc pas avoir la config de la mort qui tue 'out of the box', c'est un fantasme :). Il va falloir bosser un peu...
- Cela provient souvent de la carte graphique (et notamment les cartes NVIDIA, qui s'avèrent particulièrement catastrophiques...), mais cela se corrige aisément, soit en changeant la carte graphique, soit en passant en VESA
- Cela provient souvent des interruptions SMI (interruptions destinées à gérer les fonctions bas niveau de la machine, voir http://en.wikipedia.org/wiki/System_Management_Mode ), et pas que sur les ordinateurs portables ...
- Cela provient parfois (notez la nuance..) de la configuration du BIOS (et notamment l'APM ou l'ACPI)
- Parfois, il n'y a vraiment rien a faire... La machine en peut pas être utilsée sous EMC2. J'ai eu un cas avec un Acer avec processeur Core 2, dont la pauvreté des settings du BIOS ne m'a pas permis d'avoir ue config fonctionnelle. Ceci dit, cla ne m'est arrivé qu'une fois.
A titre d'exemple, voici quelques comptes rendus d'installation.
Son mon pc fixe (récent), j'ai du :
- Configurer dans le bios Speedstep : Disabled (dévalide le changement de vitesse de processeur en fonction de la charge)
- Configurer dans le bios C1E Support : Disabled (plus de suspend to ram)
- Configurer dans le bios Southbridge : Disable audio controller
- Configurer dans le BIOS le port parallèle en mode 'EPP' (Enhanced parallel port)
- Appliquer le patch SMI aux fichier de config EMC2
Temps de latence Max: 10 000
Sur un vieux portable ACER à base de Pentium Mobile 1.7Ghz, j'ai du :
- Mettre à jour le Bios
- Configurer dans le BIOS le port parallèle en mode 'EPP' (Enhanced parallel port)
- Mettre l'option 'lapic' sur la ligne de démarrage du kernel
- Appliquer le patch SMI aux fichier de config EMC2
Temps de latence Max: 10 000
Sur un vieux portable IBM R31, à base de Pentium mobile 1.4Ghz, j'ai du :
- Mettre à jour le BIOS
- Configurer dans le bios Speedstep : Disabled (dévalide le changement de vitesse de processeur en fonction de la charge)
- Dans le bios, désactiver les profils de gestion d'énergie en mettant le processeur toujours au maximum de sa fréquence
- Configurer dans le BIOS le port parallèle en mode 'EPP' (Enhanced parallel port)
- Appliquer le patch SMI aux fichier de config EMC2
- Passer en VESA
Temps de latence Max: 25000
Carte graphique
Si "latency test" chargé, vous constatez que vous passez d'une valeur faible (< 20000) à une valeur très grande (>>>2 000 ) en attrapant une grande fenètre et en la secouant avec la souris, alors c'est que votre carte graphique est l'un des problèmes. Pour corriger ce point, passer en mode VESA (décrit ci dessus). Cela ne corrigera probablement pas tout, mais vous devriez au moins pouvoir à nouveau secouer vos fenêtres ... sans faire augmenter le temps de latence. A noter que vous pouvez également tenter de changer la carte graphique si vous en avez une en stock, mais à votre place je ferai ceci qu'à la fin, une fois que tout marche, pour optimiser. En effet, la désactivation du VESA et le changement de la carte graphique feront soit 'tout macher', soit 'retomber en panne' un système fonctionnel. De plus, le passage en mode VESA corrige à tous es coups les problèmes graphiques...
Optimisation du BIOS
Je n'ai que peu creusé cette piste, mais un ami a eu un certain succès en le faisant. Néanmoins, je met les informations ci dessous 'sous toute réserve' et me ferai un plaisir de compléter avec vos commentaires.
Il est possible que la désactivation de l'ACPI , ou de l'APM, ou des deux corrige le problème. Il faut essayer.... et relancer le "latency test". Il faut aussi creuser les pistes de la désactivation des fonctions de suspension, de changement dynamique de la fréquence du processeur, etC.. La doc d'EMC2 se révèle précieuse : http://wiki.linuxcnc.org/emcinfo.pl?TroubleShooting
Apparemment, il est serait possible de le faire également sans changer les paramètres du BIOS, seulement en passant des options sur la ligne de démarrage du noyau:
- acpi=off ou noacpi pour désactiver l'acpi,
- apm=off ou noapm pour d'ésactiver l'Advanced Power Management
- noapic pour désactiver l'Advanced Priority Interrupt Controller
- nolapic pour désactiver le local APIC
Plus d'info sur les options kernel de la 10.04 ici: [https://help.ubuntu.com/community/BootOptions#Common_Kernel_Options
https://help.ubuntu.com/community/BootOptions#Common_Kernel_Options]
Installation du patch SMI
La désactivation des interruptions SMI est considérée comme dangereuse. Je l'ai toutefois pratiquée de façon systématique sans aucun problème (sauf sur une seule machine, un serveur Supermicro qui n'avait tout simplement pas de SMI...). A chaque fois l'amélioration a été spectaculaire.
Installer le patch SMI pour corriger les problèmes de temps réel sur EMC2. Attention, ceci n'est pas pour toutes les configs.. (source : http://wiki.linuxcnc.org/emcinfo.pl?FixingSMIIssues )
- Editer /etc/emc2/rtapi.conf et remplacer
# List of realtime kernel modules to be loaded if [ "3" = "3" ] ; then \ MODULES="adeos rtai_hal rtai_ksched rtai_fifos rtai_shm rtai_sem rtai_math" RTAI=3 MODPATH_adeos= MODPATH_rtai_hal=/usr/realtime-$(uname -r)/modules/rtai_hal.ko MODPATH_rtai_ksched=/usr/realtime-$(uname -r)/modules/rtai_ksched.ko MODPATH_rtai_fifos=/usr/realtime-$(uname -r)/modules/rtai_fifos.ko MODPATH_rtai_shm= MODPATH_rtai_sem=/usr/realtime-$(uname -r)/modules/rtai_sem.ko MODPATH_rtai_math=/usr/realtime-$(uname -r)/modules/rtai_math.ko
Par:
# List of realtime kernel modules to be loaded if [ "3" = "3" ] ; then \ MODULES="adeos rtai_hal rtai_ksched rtai_fifos rtai_shm rtai_sem rtai_math rtai_smi" RTAI=3 MODPATH_adeos= MODPATH_rtai_smi=/usr/realtime-$(uname -r)/modules/rtai_smi.ko MODPATH_rtai_hal=/usr/realtime-$(uname -r)/modules/rtai_hal.ko MODPATH_rtai_ksched=/usr/realtime-$(uname -r)/modules/rtai_ksched.ko MODPATH_rtai_fifos=/usr/realtime-$(uname -r)/modules/rtai_fifos.ko MODPATH_rtai_shm= MODPATH_rtai_sem=/usr/realtime-$(uname -r)/modules/rtai_sem.ko MODPATH_rtai_math=/usr/realtime-$(uname -r)/modules/rtai_math.ko
- Lancer ensuite l'EMC2 Latency test
- Vérifier que le module est bien chargé. Vous devriez voir un rtai_smi dans la sortie suivante :
lsmod | grep rtai rtai_smi 2057 0 rtai_math 21406 0 rtai_sem 21551 1 rtapi rtai_fifos 20988 1 rtapi rtai_sched 156719 3 rtapi,rtai_sem,rtai_fifos rtai_hal 186236 4 rtapi,rtai_sem,rtai_fifos,rtai_sched
Outils additionnels
vi en mode couleur :
apt-get install vim