Up: (index)

# FAQs zu den Mess- und Auswerteprogrammen #

(Häufig gestellte Fragen)


21.Jul.04 K. Huber, Strahlenzentrum Univ. Gießen
Version 23.May.2012



Up: Top

1 Readme

Diese FAQs gibt es zur Zeit in fünf verschiedenen Formaten (html, txt, dvi, pdf, info). Sie finden Sie unter /usr/exp/ex_help/FAQs.

Einen einfachen Zugang zu den FAQs finden Sie über die lokalen Seite des Strahlenzentrums unter 'Anleitungen zu den VME Mess- und Auswerteprogrammen':


Up: Top

2 FAQs - Häufig gestellte Fragen


Next: , Previous: Readme, Up: Top

2.1 Login mit Passwort

Um eine laufende Messung vor unberechtigten Zugriffen zu schützen ist VxWorks so konfiguriert, dass es bei einem Login über das Netzwerk ein Passwort anfordert. Die gültigen User/Password-Paare werden beim Booten durch das Startup-Script (~/ex_home/ex_param/startup.vxw) definiert. Dabei ist das verschlüsselte Passwort anzugeben. Der Verschlüsselungs-Algorithmus ist proprietär und nicht zu haben und es gab bisher nur ein entsprechendes Verschlüsselungsprogramm (vxencrypt) auf den Ultrix-Systemen (Tutnix, Kannix). Deshalb wurde (Juni 2012) der Algorithmus im VxWorks-System ersetzt durch einen hinterm Bett gefundenen, der vom Typ her dem alten entsprechen soll und deshalb wohl genauso so schwach ist:

/* Password Encryption Routine */
STATUS pwencrypt(char *in, char *out) {

    int ix;
    unsigned long magic = 31695317;
    unsigned long passwdInt = 0;

    if(strlen(in) < 4 || strlen(in) > 40) {
	errnoSet(S_loginLib_INVALID_PASSWORD);
	return ERROR;
    }
    for(ix=0; ix<=strlen(in); ix++) {
	passwdInt += in[ix] * (ix+1) ^ (ix+1);
	sprintf(out, "%lu", (long)(passwdInt * magic));
    }
    for(ix=0; ix<= strlen(out); ix++) {
	if(out[ix] == '3') out[ix] = out[ix] + '!';
	if(out[ix] == '7') out[ix] = out[ix] + '/';
	if(out[ix] == '9') out[ix] = out[ix] + 'B';
    }
    return OK;

Diese Routine wird im Startup-Script durch folgenden Eintrag aktiviert:

# Load and start program for a password encryption hook
ld < ~/ex_home/ex_prog/encryptv.o
taskSpawn("tEncrypt", 1, 0, 5000, _encrypt, 0,0,0,0,0,0)

Da es bei dieser Passwort-Verschlüsselung nur darum geht, dass das Passwort nicht aus der im laufenden Laborrechner liegenden Passwort-Liste herausgefischt werden kann, was sicher recht mühsam und nicht wirklich lohnend ist, kann meines Erachtens auf die Verschlüsselung ganz verzichtet werden. Deshalb ist die Verschlüsselung zunächst abgeschaltet und muss bei Bedarf im Startup-Script oder nach dem Einloggen mit 'encryptOn' aktiviert werden. Zum Wiederabschalten dient der 'encryptOff'-Aufruf.

Verschlüsselte Passworter können mittels Aufruf 'vxencrypt' auf dem Laborrechner erzeugt werden.


Next: , Previous: Login mit Passwort, Up: Top

2.2 Verbindung zum VME-Rechner ist abgerissen

Üblicherweise werden die VME-Rechner mittels TeraTerm Terminal-Emulator auf einem PC über das Netzwerk bedient. Die Folgen für die Messung bei einem Verbindungsabbruch sind abhängig von dem Status des Messprogrammes beim Verbindungsabbruch und dem Versions-Datum des Programmes:

Versions-Datum vor 21Jun12:

Tips:

Versions-Datum ab 21Jun12:

Bei einem Verbindungsabbruch läuft die Messung ungestört weiter. War mit 'Analyse Spectrum' zum Auswerteprogramm gewechselt worden, so wird dieses normal beendet und es wird in das Menü des Messprogrammes zurückgekehrt. Ein- und Ausgabe fallen bei einem Verbindungsabbruch automatisch auf die COM-Schnittstelle zurück.

Voraussetzung für die Wiedererlangung der Kontrolle über die laufende Messung ist, dass das Messprogramm zuvor über das Programm START aktiviert wurde. Wird nach einem Verbindungsabbruch START wieder aufgerufen, so kann es die Verbindung zum Messprogramm wieder herstellen. Dies kann sowohl über die COM-Schnittstelle mittels VT-Terminal nach Eingabe von <ENTER> um den Shell-Prompt zu erhalten als auch von einem PC aus z.B. mit TeraTerm geschehen.

Obwohl auf diese Weise auch die Kontrolle einer laufenden Messung zu wechselnden PCs oder COM delegiert werden könnte, so ist doch eher der 'saubere' Weg mittels Detach, Rückkehr zur Shell und Logout vorzuziehen.


Next: , Previous: Verbindung zum VME-Rechner ist abgerissen, Up: Top

2.3 Programme hängen nach Eingabe von ^S

Problem:
Wird über die Tastatur versehentlich ^S (Control S / Strg S) eingegeben, so scheint sich das Programm aufzuhängen.

Ursache:
^S ist der übliche ASCII-Code (XOFF) zum Anhalten eines Ausgabe-Datenstroms. Terminals nutzen dies, wenn sie mit der Datenverarbeitung nicht mitkommen und Benutzer können damit eine Ausgabe anhalten, um sie in Ruhe lesen zu können. Der Restart der Ausgabe erfolgt mit ^Q (XON), bei manchen Systemen (Windows) auch mit jeder beliebigen Taste.

Abhilfe:
^Q (XON) eingeben.


Next: , Previous: Programme hängen nach Eingabe von ^S, Up: Top

2.4 'Show spectrum' lässt sich nicht mehr starten

Problem:
Plötzlich lässt sich aus einem Messprogramm heraus unter dem Menü-Punkt 'Show spectrum' bzw. 'Analyse spectrum' die Messdaten-Auswertung nicht mehr starten mit folgender Fehlermeldung:
??????????????

Ursache:
VxWorks, das Betriebssystem der VME-Rechner, hat ein Memory-Leck, d.h. im Gebrauch wird der freie Speicherplatz immer weniger. Wird der VME-Rechner lange Zeit nicht gebootet, dann ist früher oder später der freie Speicherplatz nicht mehr ausreichend zum Laden der Auswerte-Software.

Abhilfe:
Messung stoppen und VME-Rechner neu booten.


Next: , Previous: 'Show spectrum' lässt sich nicht mehr starten, Up: Top

2.5 Das Zeitverhalten der Messprogramme

Unter VxWorks, dem Betriebssystem der VME-Rechner, werden die anstehenden Aufgaben durch verschiedene Prozesse erledigt, denen gemäß ihrer Echtzeitanforderungen Prioritäten zugeteilt werden. Ein Mess-/Auswerte-System kann je nach Aufgabenstellung mehr als zehn solcher Prozesse benötigen. Die Prioritätenverteilung ist im Wesentlichen folgendermaßen:

Diese Anordnung der Prioritäten könnte allerdings dazu führen, dass bei hoher Datenrate die Bedienung völlig blockiert wird. Um dies zu vermeiden, ist die Messdatenerfassung begrenzt, so dass sie nur zu maximal ca. 90% die CPU belasten kann.

Um Totzeiten bei der Datenverarbeitung möglichst gering zu halten, ist hardware-seitig ein Fifo-Speicher installiert, der in der Standardausführung 2048 Datenworte zwischenspeichern kann. Bei 100kHz Datenrate können damit 20ms Totzeit überbrückt werden.

Weitere Rechnungen dazu findet man in der 'Data Routing' Funktionsbeschreibung unter 'Totzeitbetrachtungen'.


Next: , Previous: Das Zeitverhalten der Messprogramme, Up: Top

2.6 Wie tausche ich meine VME-CPU aus

Nur Motorola VME162 und VME172 CPUs können verwendet werden. Die VME172 arbeitet etwa 4 mal schneller als die VME162.

Wenn Sie von Ihrer alten CPU noch die Boot-Parameter abfragen können, dann gehen Sie so vor:

  1. Reset-Knopf drücken
  2. beim Countdown Leertaste drücken
  3. p<enter> eingeben,
    dies listet Ihnen die Boot-Parameter auf, z.B.:
            boot device      : ei
            processor number : 0
            host name        : bootHost
            file name        : ex_home/vxw/vx172
            inet on ethernet : 134.176.20.74:ffffff00
            inet on backplane: (nicht angezeigt, falls leer)
            host inet        : 134.176.20.59
            gateway inet     : (nicht angezeigt, falls leer)
            user             : huber
            ftp password     : (nicht angezeigt, falls leer)
            flags            : 0x0
            target name      : vmetst
            startup script   : ex_home/ex_param/startup.vxw
            other            : (nicht angezeigt, falls leer)
    
  4. Parameter notieren, 'file name' ggf. mit vx162 bzw. vx172 anpassen
  5. VME-Crate abschalten, CPUs tauschen, VME-Crate anschalten
  6. beim Countdown Leertaste drücken
  7. c<enter> eingeben, Parameter eingeben
  8. p<enter> eingeben, Parameter kontrollieren
  9. @<enter> eingeben, System booten

Wenn Sie von Ihrer alten CPU die Boot-Parameter nicht mehr abfragen können, dann gehen Sie von dem obigen Beispiel aus und passen die Parameter wie folgt an:

   boot device      : ei
   processor number : 0
   host name        : bootHost
   file name        : ex_home/vxw/vx172
   inet on ethernet : 134.176.20.xx:ffffff00  (xx: s.h. lokale Seiten)
   inet on backplane: (leer)
   host inet        : 134.176.20.59    (für Servix als Host)
   gateway inet     : (leer)
   user             : xxxx   (xxxx: Ihr Experiment-Accout)
   ftp password     : (leer)
   flags            : 0x0
   target name      : xxxx   (xxxx: Name des Experiment-Rechners)
   startup script   : ex_home/ex_param/startup.vxw
   other            : (leer)


Previous: Wie tausche ich meine VME-CPU aus, Up: Top

2.7 Wie funktioniert der Datentransfer zum Host-Rechner

Die VME-Systeme besitzen in der Regel keine eigenen Medien zum Speichern der Messdaten sondern sie benutzen die Dienste von Servern im Netzwerk.

Unter VxWorks, dem Betriebssystem der VME-Rechner, wird im Boot-File des VME-Rechners der Server und der User-Account festgelegt, von dem das System gebootet wird. Nach dem Booten eines VME-Rechners ist, wie bei einem normalen Login, die Home-Directory des Users als Work-Directory eingestellt. Mit cd "path" ("'s nicht vergessen!) bewegt man sich in fast gewohnter Weise durch die Directory-Hierarchie. Die Schreibweise für Pfadangaben richtet sich nach dem Host-Rechner.

Diese Netzwerkzugriffe erfolgen über RSH oder FTP (im Boot-File festgelegt). Für RSH muss der File $HOME/.rhosts die entsprechende Freigabe enthalten.

Für den Transfer großer Datenmengen, insbesondere bei "List-Mode" Messungen, sind RSH und FTP jedoch nicht geeignet. In solchen Fällen sollte der Datentransfer über NFS erfolgen. Dazu muss auf dem Host-Rechner der /etc/exports File die notwendigen Freigaben enthalten und in den Boot-Script-File $HOME/ex_home/ex_param/startup.vxw müssen die benötigten NFS-Verbindungen eingetragen werden.

Um das Ganze übersichtlich zu halten, werden die VME-Systeme in der Regel zur Zeit folgendermaßen betrieben: