Les Mysteres du Galss.ini
Par Olivier Prince - 23/10/2006 
Même si Axiam intégre un utilitaire permettant de générer un galss.ini fonctionnel en rentrant le n° de port série et la vitesse de communication, il est parfois pris en défaut. Essayons d’aller plus loin et de voir pourquoi...
Les Mystères du Galss.ini
 

 Suite à une série d’interventions sur le forum AMULA et AXILOG, il m’a paru nécessaire de faire un article que j’aurais pu intituler « Le Galss.ini pour les lambdas » ou « Pourquoi mon lecteur Sésame Vitale n’est-il pas reconnu, que diantre... », etc, etc...
Etonnant de voir qu’en branchant une (vieille) souris Microsoft sur le port série, celle-ci est aussitôt reconnue, configurée et en quelques secondes, voilà que le curseur bouge en réaction à vos mouvements de poignet : bref, rien de bien miraculeux sous Windows XP. 
 Branchez une clé Wifi USB à 50€ : XP reconnaît la présence de la clé mais vous demande de fournir le CD contenant le driver (euh...il aurait mieux valu l’installer avant, à vrai dire !). 
 Et bien branchez un lecteur Sésame Vitale à plus de 300 € et tout se passe comme si vous aviez branché le dernier grille-pain en alu brossé de chez TRUCMUCHE (cher mais qui ne grille pas mieux le pain pour autant...) : RIEN ! Vous pestez, incriminez (dans le désordre) Axilog, Microsoft, Dell, EDF, FTélécom et vous appelez tous azimuts : cela ne sert à rien, votre lecteur reste toujours aussi muet.
Pourquoi ? « Faute au galss.ini mon pov’docteur » ! Je m’en vais donc essayer de vous expliquer pourquoi.
Galss.ini est un petit fichier de configuration situé dans c :\windows, ouvrable sous Notepad et qui contient un texte lisible en clair et modifiable à volonté. C’est grâce à ce fichier de configuration que votre lecteur de carte Sésame Vitale devient (enfin...) intelligent et consent enfin à devenir autre chose qu’un simple élément de décoration pour branchés Hi-tech.
Un exemple du bestiau, les éléments importants figurant en gras :
[CONFIG]
 NbCanaux=1 ( 1 si lecteur seul, 2 si 2 lecteurs branchés sur 2 ports série différents...)
 
 [PROTOCOLE0]
 Config=1000,20,10000 ( spécifique du lecteur...)
 AdrStationMaitre=15
 NomLib=PSSINW32.DLL
[CANAL1]
 TCanal=1
 Index=1 (n° de port série, 1 par défaut)
 TConnexion=1
 Protocole=0
 Caracteristiques=9600 ( vitesse de communication par défaut sinon 19200),1,8,0,0
 NbPAD=1 (1 si lecteur seul,  2  si 2 lecteurs branchés en cascade sur le même port série)
[CANAL1.PAD1]
 PAD=2 (2 par défaut mais peut prendre une valeur de 0 à 15)
 NbLAD=3
[CANAL1.PAD1.LAD1]
 LAD=1
 NomLAD=CPS
 NbAlias=0
[CANAL1.PAD1.LAD2]
 LAD=2
 NomLAD=Vitale
 NbAlias=0
[CANAL1.PAD1.LAD3]
 LAD=0
 NomLAD=Log_SV
 NbAlias=0
[DIR]
 DirEXE=C :\WINDOWS
Qu’est ce que ça veut dire tout ça ???
-  NbCanaux=1 Cela signifie qu’un seul canal est utilisé pour la communication, indépendamment du nombre de leceturs SV<> si on met deux lecteurs sur deux ports série différents, NbCanaux=2 et on verra logiquement apparaître (sinon il faudra les créer !) des lignes supplémentaires du style
 [CANAL2]
 TCanal=1
 Index=2 (port série n°2...)
 TConnexion=1
 Protocole=0
 Caracteristiques=9600,1,8,0,0
 NbPAD=1 (un seul lecteur sur ce canal)
[CANAL2.PAD1]
 PAD=2 (par exemple on peut très bien garder le même n° de Pad que le 1er lecteur branché sur le port série n°1...)
 NbLAD=3
[CANAL2.PAD1.LAD1]
 LAD=1
 NomLAD=CPS
 NbAlias=0
[CANAL2.PAD1.LAD2]
 LAD=2
 NomLAD=Vitale
 NbAlias=0
[CANAL2.PAD1.LAD3]
 LAD=0
 NomLAD=Log_SV
 NbAlias=0
-  Index=1 Ce lecteur est branché sur le port série n° 1 (valeur par défaut)
 NbLad=1 Cela signifie qu’un seul lecteur SV est branché sur le canal de communication. Certains lecteurs peuvent se brancher par deux (moyennant une connectique adaptée...) sur le même port série : dans ce cas NBLad=2 et on doit voir apparaître des lignes supplémentaires du type
[CANAL1.PAD2.LAD1]
 LAD=1
 NomLAD=CPS
 NbAlias=0
[CANAL1.PAD2.LAD2]
 LAD=2
 NomLAD=Vitale
 NbAlias=0
[CANAL1.PAD2.LAD3]
 LAD=0
 NomLAD=Log_SV
 NbAlias=0
-  Caractéristiques=9600 signifie que la vitesse de communication avec le lecteur est de 9600 bauds (valeur par défaut)
 
-  PAD=2 c’est le numéro physique du lecteur sur le canal de communication, en général 2 (valeur par défaut)
 
-  Le dernier paramètre passé sous silence jusqu’ici est « Config=1000,20,10000 »
 
En gros, plus les valeurs sont hautes et plus la lecture est fiable....mais lente. Plus les valeurs sont basses, plus la lecture sera rapide (très, très relatif cependant) mais +/- aléatoire. 
 En tout cas, il faut se trouver :
 Pour la première valeur (BWT ou temps maximum d’attente d’un bloc avant réception), entre 500 et 15000 (1000 conseillé/GIE SV)
 Pour la deuxième (BGT ou temps minimum d’attente avant émission d’un bloc), entre 15 et 100 (20 conseillé)
 Pour la troisième (EXT ou temps maximum d’éxecution), entre BWT et 32500 (15000 conseillé)
Mais que se passe-t-il si un des paramètres ci-dessus est erroné ????
Et bien un petit programme annexe nommé CPGESW32.EXE situé également dans c :\Windows (installé avec n’importe quel logiciel de TLT) sert à vérifier la validité de la chaîne ordinateur-lecteur SV.
En double-cliquant dessus, il va lire par défaut les données de votre CPS :
 S’il mouline un instant et qu’il vous affiche fièrement les données situées sur votre CPS, vous savez que vous avez tout bon : Ouf..... !!!!
 En cas :
 
-  De lecteur non allumé
 
-  D’erreur de port série
 
-  D’erreur de vitesse de communication
 
-  D’erreur de n° PAD
 Cpgesw32.exe devient beaucoup plus véloce (quoique toujours aussi abscons...) mais improductif, vous demandant de « vérifier si votre lecteur est bien connecté »
Autre problème, votre portable ou carte-mère dernier cri n’a pas de port série : sûr de votre coup, vous vous procurez un convertisseur USB-série qui va donc émuler un port com et vous proposer d’y attribuer un numéro. Veillez à faire correspondre le numéro de port com attribué avec le numéro d’Index dans le galss.ini, faute de quoi ça va pas le faire !...
J’allais oublier, vous avez modifié une valeur, par exemple le numéro de port série, et souhaitez tester la modification : ne pas oublier, soit de re-démarrer l’ordinateur, soit d’arrêter GALSVW32.exe dans les processus du Gestionnaire de tâches (CTRL+ALT+SUPPR ; sélection du galsvw32.exe puis Terminer le processus ; OK...). 
 En effet, Cpgesw32.exe (ou le logiciel de Télétransmission) lance ce processus qui tournera alors en tache de fond, ayant chargé le galss.ini une fois pour toutes. Si vous relancez cpgesw32.exe, le galsvw32.exe déjà chargé n’est pas re-initialisé et ce sont donc les anciennes valeurs qui restent actives...
En attendant que ces messieurs du GIE SV comprennent qu’un médecin n’est pas forcément censé avoir les compétences informatiques d’un ingenieur système et oblige ainsi les fabricants à rendre leurs lecteurs compatibles plug and play, j’espère que cet article aura pu vous rendre quelques petits menus services.
Olivier Prince
Poster une contribution au forum Réagir à cet article (Accés au Forum) 
Les Mysteres du Galss.ini
9 novembre 2006, par Nakhlé
 Merci pour cette explication
Utilisateur d’un Twin 30 avec un adaptateur USB série qui n’est pas un Keyspan ; attention y a piège : le N° de port COM virtuel créé par le système peut changer au gré des branchements débranchements
Veillez à le changer dans les paramètres du lecteur sous peine d’avoir des messages d’erreurs GLASS.INI
D’ailleurs y a des tas de ports COM sensés être utilisés comme le système incrémente à chaque fois le N° : 16, 17 puis 18 !! alors que rien n’y est branché , je suis obligé de réattribuer un N° accepté pas AxiAM qui ne tolère pas un 16, 17, 18..
Michel Nakhlé