Vous êtes ici : Accueil / TECHNICAL PAGES / Documentation / Système informatique (pour Super User) / Installation LCU / Installation LCU Instrument SL67

Installation LCU Instrument SL67

Marche à suivre pour une installation réseau d'un LCU Instrument sous Scientific Linux 6.7 (référence mission LCU mars 2016)

 

Cette marche à suivre concerne uniquement les LCU Beckhoff situés dans le centre de calcul, (pas les LCU télescopes) actuellement (1/5/2016) seul glscora et glsserv ont été installé selon cette technique.

L'installation futur de glsecam, glspisco ou d'un nouveau PC 32 bits demande quelques opérations systèmes supplémentaires décrites immédiatement ci dessous.

Dans le cas d'une réinstallation de glscora ou glsserv aller directement ici.

 

Première installation d'un LCU instrument sous SL67

 

Il faut connaitre la MAC Adress et le nom du PC

Si le PC est neuf, mettre à jour le fichier de configuration DHCP et le fichier host des Yellow Pages:

pour DHCP:

[root@argos1]:
vi /etc/dhcp/glsnet.conf

Dans ce fichier il faut placer la nouvelle machine dans le bon groupe, c'est à dire dans le groupe des machines qui s'installent par réseau. Trouver donc le groupe qui contient la ligne filename "pxelinux.0" et respecter la syntaxe pour l'ajout. Puis:

[root@argos1] 
/etc/init.d/dhcpd stop
/etc/init.d/dhcpd start
scp /etc/dhcp/glsnet.conf argos2:/etc/dhcp/glsnet.conf
ssh argos2

[root@argos2] 
/etc/init.d/dhcpd stop
/etc/init.d/dhcpd start

pour les Yellow Pages:

[root@argos1] 
vi /etc/yp/hosts
cd /var/yp
make
scp /etc/yp/hosts argos2:/etc/yp/hosts
ssh argos2

[root@argos2] 
cd /var/yp
make

Une fois le PC connu du système il faut configurer l'installation par réseau:

[root@argos1] 
cd /var/lib/tftpboot/pxelinux.cfg/
cp glspcinstruments.SL67.i386.tmpl <lcu_name>.SL67.i386
vi <lcu_name>.SL67.i386
   ->> mettre la MAC Adress pour ksdevice

Il faut créer un lien symbolique qui doit respecter une syntaxe strict: le nom du lien est la mac adress en minuscule, les groupes sont séparé par des tirets "-" au lieu des deux-points ":", le tout préfixé de "01-".

Exemple pour glsserv:
[root@argos1] 
ln -s glsserv.SL67.i386 01-00-01-05-10-8c-ee

 

Réinstallation d'un LCU instrument sous SL67

 

Ce cas se présente si le PC a déjà été installé sous SL67, par exemple changement de disque ou test d'installation. Dans ce cas le système connait le LCU (DHCP et Yellow Pages) (voir paragraphe précédent).

Attention, l'installation prend entre une et deux heures.

Marche à suivre. Attention, selon le fait que le disque est neuf ou non le déroulement est différent. Ainsi avec un disque neuf, l'installation démarre seule car le LCU n'a pas d'autre choix pour démarrer. Ainsi:

  1. Faire un boot (ou reboot) du LCU
  2. Entrer dans le boot menu (normalement taper la touche Escape)
  3. Choisir le device réseau (exemple: IBA GE Slot 00C8). Ce n'est donc ni Hard Disk, ni CDROM ni USB Device.
  4. Le système fabrique les files-systems, ainsi il faut accepter le reformattage de tout les disques.
  5. L'installation démarre, c'est à dire le transfert des paquets depuis notre serveur d'application argos1
  6. Terminer l'installation par quelques opérations manuelles (voir ici)
  7. Une fois terminée il faut procéder à l'installation manuelle des drivers. Voir paragraphes suivants

 

Installation des drivers

 

L'installation est manuelle, elle est suivit chaque fois d'un court test qui valide l'installation.

Tout les drivers ne sont pas nécessaires sur toutes les machines, mais il est intéressant de les installer tous pour permettre un remplacement de machine en cas de problèmes. Ainsi on installe tout sur toutes les machines.

Veuillez suivre scrupuleusement les indication qui suivent, driver par driver.

En cas de réinstallation du LCU des services (glsserv) il faut effectuer une série de commandes supplémentaires afin de récupérer les bases de données RDB qui existent en backup sur argos1.

Pour les drivers, suivre:

  1. Installation du driver MOXA pour les interfaces series
  2. Installation du driver Vimba pour la camera de guidage Bigeye
  3. Installation Driver National Instrument pour le Comptage PM
  4. Installation Driver USB pour Lakeshore 335
  5. Installation librarie modbus
  6. Installation spécifique à glsserv (LCU Services)

 


 


Installation du driver MOXA pour les interfaces series

 

Actuellement plusieurs MOXA sont en service, le premier: 4 lignes série dans la structure ECAM embarquée. Un même modèle est accolé au premier et est oublié dans cette description, c'est normalement un spare. Le deuxième Moxa est dans l'armoire LCU et possède 16 lignes série. Il possède également un spare qui doit être impérativement éteint.

Attention, l'installation selon la doc perturbe le system car elle modifie le mode d'accès de /tmp. Ainsi il faut absolument aller dans /tmp puis lancer /tmp/tmp/mxinst. De plus, une fois logué sous root il est impératif de rester sous bash (ne pas changer de shell avec tcsh).

Installation:

[root@gls-lcu]
cd /tmp
tar xvf /opt/t4/beta/driver/MOXA_5650/npreal2_1.18_Build_12020919.tar
/tmp/tmp/moxa/mxinst
    ( répondre "N" à la question "Enable Secure Functions" )
cd /usr/lib/npreal2/driver
./mxaddsvr 10.10.132.16 4
./mxaddsvr 10.10.132.18 16

    (la configuration est réalisée pour les 2 moxa. Vérification avec:)

cat npreal2d.cf

 

Test de l'installation

Avec le soft qui accède la sonde de pression (rem: la valeur 1.00 peut etre différente)

[root@gls-lcu]# /opt/t4/beta/src/maire/FP_dpg109/dpg109_Linux_2.6_i686 -U -V

1460657332 1.00 Apr 14 15:08:52

Fin de l'installation

 


 


Installation du driver Vimba pour la camera de guidage Bigeye

 

Installation:

[root@gls-lcu] 
cd /usr/local
tar xvf /opt/t4/beta/driver/VIMBA/Vimba_v1.4_Linux.tar
cd Vimba_1_4/VimbaGigETL
./Install.sh
  Registering GENICAM_GENTL32_PATH
  Done
  Please log off once before using the GigE transport layer

exit

[root@argos1] 
ssh root@<gls-lcu>

Test:

Attention: l'armoire TEUPS doit etre allumée.

[root@gls-lcu] 
cd /usr/local/Vimba_1_4/VimbaC/Examples/SynchronousGrab/Build/Make
make

binary/x86_32bit/SynchronousGrab
    //////////////////////////////////////////
    /// Vimba API Synchronous Grab Example ///
    //////////////////////////////////////////

    Vimba Version Major: 1 Minor: 4 Patch: 1
    Camera ID: DEV_000F31F42476

    Bitmap successfully written to file "SynchronousGrab.bmp"

Test du viewer

[root@gls-lcu] 
/usr/local/Vimba_1_4/Tools/Viewer/Bin/x86_32bit/VimbaViewer

Attention le fonctionnement de la camera ne fonctionne que sur le télescope (pour l'instant je ne sais pas pourquoi) sur le réseau instrument de la salle de contrôle, la camera est vue mais l'image ne passe pas (erreur avec le test et rien sur le viewer)

remarque: le path VIMBA ($GENICAM_GENTL32_PATH) est défini dans $THOME/script/t4_beta.csh, c'st actuellement la version 1.4

Fin de l'installation



 


Installation Driver National Instrument pour le Comptage PM


  1. Il faut vérifier/éditer: /boot/grub/grub.conf et rajouter "mem=4096M" en fin de chaque ligne commençant par "kernel". Attention de pas oublier le "M" dans "4096M" pour éviter une situation dramatique.
  2. En cas de modification de grub.conf, il faut impérativement rebooter le LCU avant de continuer

Puis:

[root@gls-lcu]
cd /opt/t4/beta/driver/NI-PCI-6221/
./INSTALL
                repondre "Y" to continue, 
                more de la license, 
                "y" to accept, 
                "N" to ALL manually specify the LabVIEW location, 
                "Y" to continue

 

Test de l'installation

Il subsiste un doute que le mode d'emploi soit correct si on installe le driver sans la carte NI présente...

Dans les dernières lignes données par la commande dmesg on trouve:

[root@gls-lcu]# dmesg | tail
    ...
    nikal: module license 'Copyright (c) 2002-2011 National Instruments Corporation.  All Rights Reserved.  Any and all use of the copyrighted materials is subject to the then current terms and conditions of the applicable license agreement, which can be found at .' taints kernel.
    Disabling lock debugging due to kernel taint
    nidaqmx_NIXS9x 0000:04:04.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18

puis les commandes suivantes retournent (si la carte est présente, j'imagine):

[root@gls-lcu]
nilsdev
    NI PCI-6221 (37-pin): "Dev1"  
[root@gls-lcu]
lspci -vv | grep -A 20 -i National
    04:04.0 Unassigned class [ff00]: National Instruments PCI-6221 (37-pin)
            Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	    Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- 

 

Test

Rem: Le test ne peut se faire qu'avec la carte NI dans le PC. De plus le comptage nefonctionne qu'avec la carte interface et un signal.

Il faut compiler et exécuter le programme de test, le test sera vraiment concluant si on peut injecter le signal PM (ou en fabriquer un avec un générateur de signal), dans ce cas chiffres défilent, sans signal la valeur 0 reste, ce qui est malgré tout un test car la carte est lue sans problème.

rem: pour injecter le signal du PM, il faut connecter le cable coaxial sur l'entrée de la carte interface (made in ObsGE) et relier la sortie de cette carte avec le connecteur de l'entrée de la carte NI avec le connecteur spécial.

donc:

[root@gls-lcu]
cd /usr/local/natinst/nidaqmx/examples/ansi_c/Counter/CountDigitalEvents/CntDigEvents
make
./CntDigEv
<ctrl>-C

Fin de l'installation



 


Installation Driver USB pour Lakeshore 335

 

  1. Dans /opt/t4/beta/driver/LAKESHORE_USB/Linux_2.6.x_VCP_Driver_Source/, il faut éditer/vérifier que les ligne suivantes existent dans cp210x.c

 

[root@gls-lcu ]
cd /opt/t4/beta/driver/LAKESHORE_USB/Linux_2.6.x_VCP_Driver_Source/
vi cp210x.c

        { USB_DEVICE(0x1FB9, 0x0100) }, /* Lake Shore Model 121 Current Source */
        { USB_DEVICE(0x1FB9, 0x0200) }, /* Lake Shore Model 218A Temperature Monitor */
        { USB_DEVICE(0x1FB9, 0x0201) }, /* Lake Shore Model 219 Temperature Monitor */
        { USB_DEVICE(0x1FB9, 0x0202) }, /* Lake Shore Model 233 Temperature Transmitter */
        { USB_DEVICE(0x1FB9, 0x0203) }, /* Lake Shore Model 235 Temperature Transmitter */
        { USB_DEVICE(0x1FB9, 0x0300) }, /* Lake Shore Model 335 Temperature Controller */
        { USB_DEVICE(0x1FB9, 0x0301) }, /* Lake Shore Model 336 Temperature Controller */
        { USB_DEVICE(0x1FB9, 0x0302) }, /* Lake Shore Model 350 Temperature Controller */
        { USB_DEVICE(0x1FB9, 0x0303) }, /* Lake Shore Model 371 AC Bridge */
        { USB_DEVICE(0x1FB9, 0x0400) }, /* Lake Shore Model 411 Handheld Gaussmeter */
        { USB_DEVICE(0x1FB9, 0x0401) }, /* Lake Shore Model 425 Gaussmeter */
        { USB_DEVICE(0x1FB9, 0x0402) }, /* Lake Shore Model 455A Gaussmeter */
        { USB_DEVICE(0x1FB9, 0x0403) }, /* Lake Shore Model 475A Gaussmeter */
        { USB_DEVICE(0x1FB9, 0x0404) }, /* Lake Shore Model 465 Three Axis Gaussmeter */
        { USB_DEVICE(0x1FB9, 0x0600) }, /* Lake Shore Model 625A Superconducting MPS */
        { USB_DEVICE(0x1FB9, 0x0601) }, /* Lake Shore Model 642A Magnet Power Supply */
        { USB_DEVICE(0x1FB9, 0x0602) }, /* Lake Shore Model 648 Magnet Power Supply */
        { USB_DEVICE(0x1FB9, 0x0700) }, /* Lake Shore Model 737 VSM Controller */
        { USB_DEVICE(0x1FB9, 0x0701) }, /* Lake Shore Model 776 Hall Matrix */

puis:

ATTENTION: Le device USB doit être en place avant d'effectuer les opérations suivantes:

[root@gls-lcu ]# 
cd /opt/t4/beta/driver/LAKESHORE_USB/Linux_2.6.x_VCP_Driver_Source

make 
cp cp210x.ko /lib/modules/`uname -r`/kernel/drivers/usb/serial
   (accepter l'overwrite)
insmod /lib/modules/`uname -r`/kernel/drivers/usb/serial/usbserial.ko
insmod /lib/modules/`uname -r`/kernel/drivers/usb/serial/cp210x.ko

 

Test:

[weber@gls-lcu ]
/opt/t4/beta/src/maire/FP_lakeshore/FP_lakeshore_Linux_2.6_i686 -U -V
1457806697 24.97 25.00 25.00 3 13 Mar 12 15:18:17

Fin de l'installation



 


Installation librarie modbus

 

Installation

[root@gls-lcu] 
cd /tmp
tar xvf /opt/t4/beta/driver/MODBUS/libmodbus-3.1.2.tar
cd libmodbus-3.1.2
./configure
make install

Rem: tout va /usr/local/lib et /usr/local/include/modbus/

Test:

lancer par exemple l'ouverture puis la fermeture des flaps coupole. Ce sont des commandes qui communiquent avec un module Beckhoff sous modus (sous un utilisateur, ne fonctionne pas sous root)

[utilisateur@gls-lcu] 
/opt/t4/beta/bin/Linux_2.6_i686/T_open_flap
/opt/t4/beta/bin/Linux_2.6_i686/T_close_flap

Fin de l'installation

 


 


Installation spécifique à glsserv (LCU Services)

 

Une fois réinstallé il faut restaurer les services dont la sauvegarde est sur argos1 puis démarrer ls services (crontab).

Remarque: Les services gérés par glsserv sont locaux sur cette machine sous glsserv:/export/diskA/services/. Ils sont sauvegardés sur argos1:/gls/data/backup_services/.

Récuperation des services:

[root@glsserv] 
cd /export/diskA
mkdir services
tcsh
foreach i (accelerometre  c2_jumo c2_lakeshore  c2_temp  climatisation  coralie  cryostat  externe  fp_pression  fp_temp jumo  groupefroid lakeshore meteo pression  tele  tfibre ups_l1 ups_l2 ups_l3 ups_srv)
rsync -avHl argos1:/gls/data/backup_services/$i/ /export/diskA/services/$i/
end

Demarrage des services:

Avant toutes choses: il faut absolument vérifier que /net/glsserv/export/diskA/services/ soit accessible depuis glsserv et contiennent le services. Exemple:

[root@glsserv ~]
ls /net/glsserv/export/diskA/services/
    accelerometre/ c2_temp/       cryostat/      fp_temp/       lakeshore/     tele/          ups_l2/        
    c2_jumo/       climatisation/ externe/       groupefroid/   meteo/         tfibre/        ups_l3/        
    c2_lakeshore/  coralie/       fp_pression/   jumo/          pression/      ups_l1/        ups_srv/       

Les services redémarrent chaque jour à midi. La crontab de root doit contenir:

[root@glsserv]
crontab -l
    0 12 * * * /opt/t4/beta/scripts/services
    * * * * * /home/weber/src/perl/control_temp_azote.pl > /dev/console

(pour éditer:)
[root@glsserv] 
crontab -e

 

Le lancement des services peut se faire à la main en lançant (modif temporaire qui dure) /opt/t4/beta/scripts/services_tempo_luc.

Installation des clés ssh pour l'envoi des mails

Pour mettre l'envoi des mails par root sur depuis glsserv sur argos1 il faut (modif temporaire) que root ait les clés de weber sur argos1. Ce peut etre un autre utilisateur mais il faut modifier aussi dans ce cas $THOME/src/weber/t_remote/sendMailShutdown.pl et changer weber par l'autre nom.

(s'il n'y a pas de clés ras)
[root@glsserv] 
ssh-keygen -t rsa -b 2048      
    (accepter les defaults)

(puis dans tout les cas:)
ssh-copy-id weber@argos1       (weber doit etre là!!!)

Ceci car root n'a pas le privilège d'utiliser sendmail par ssh!

 


 


Opérations manuelles

 

Rem: tout changement nécessite un reboot.

 

Le chargement des driver (Moxa et USB) ainsi que l'accès rw à tous de la console est défini dans /etc/rc.local qui doit contenir ces lignes (ajouter les lignes manquantes via un éditeur):

[root@gls-lcu]
modprobe npreal2 ttymajor=33 calloutmajor=38 verbose=0
touch /var/lock/subsys/local
/usr/lib/npreal2/driver/mxloadsvr

chmod a+rw /dev/console
modprobe cp210x

 

Verifier: grub.conf pour le boot (save screen, taille de l'ecran) exemple:

[root@glscspa ~]
cd /boot/grub/
cat grub.conf
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/mapper/vgroot00-lvroot00
    #          initrd /initrd-[generic-]version.img
    #boot=/dev/sda
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Scientific Linux 6 (2.6.32-573.12.1.el6.i686)
	    root (hd0,0)
	    kernel /vmlinuz-2.6.32-573.12.1.el6.i686 ro root=/dev/mapper/vgroot00-lvroot00 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_DM rd_LVM_LV=vgroot00/lvroot00 selinux=0 edd=off rd.driver.blacklist=i915 i915.modeset=-1 video=LVDS-1:d video=VGA-1:640x480  vga=normal rd_LVM_LV=vgroot00/lvswap00 consoleblank=0 mem=4096M memmap=50M$4096M
	    initrd /initramfs-2.6.32-573.12.1.el6.i686.img


 

Installation du script de boot

le scripts de reference pour nos LCU est sous $THOME/driver/zzzlocal et va sous /etc/init.d/

Un link sur zzzlocal est fait dans les directories /etc/rc2.d à /etc/rc6.d (le chiffre correspond au niveau de boot)

Le lien doit commencer par S99 qui signifie "Start en dernière position" (rem K pour kill, mais pas pour notre usage)

Exemple:

[root@gls-lcu ] 
cd /etc/init.d
cp /opt/t4/beta/driver/zzzlocal .
cd /etc/rc.d/rc2.d
ln -s ../init.d/zzzlocal S99zzzlocal
cd /etc/rc.d/rc3.d
ln -s ../init.d/zzzlocal S99zzzlocal
cd /etc/rc.d/rc4.d
ln -s ../init.d/zzzlocal S99zzzlocal
cd /etc/rc.d/rc5.d
ln -s ../init.d/zzzlocal S99zzzlocal
cd /etc/rc.d/rc6.d
ln -s ../init.d/zzzlocal S99zzzlocal

fin