(Häufig gestellte Fragen)
21.Jul.04 K. Huber, Strahlenzentrum Univ. Gießen Version 23.May.2012
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'
:
/usr/local/bin/a2ps
ergibt ein handliches Format.
/usr/local/bin/dvips
oder
verwendet den dvi-Viewer /usr/local/bin/xdvi
.
/usr/local/bin/info
).
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.
Ü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:
Einstellungen: 9600 bd 8 bits, no parity 1 stop bit
Nach Anschluss und Leertaste drücken sollte sich das Messprogramm umgehend melden. Wenn danach das Messprogramm mit 'Detach' verlassen wird, kann es nach einem erneuten Verbindungsaufbau direkt wieder erreicht werden durch den gewohnten Aufruf über das Start-Menü.
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.
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.
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.
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:
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'.
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:
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)
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)
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:
$HOME/ex_home/ex_data: Messdaten $HOME/ex_home/ex_help: Help-Files für die Mess- und Auswerteprogramme $HOME/ex_home/ex_param: Parametersätze der Mess- und Auswerteprogramme $HOME/ex_home/ex_prog: Mess- und Auswerteprogramme $HOME/ex_home/vxw: VxWorks Betriebssysteme für die VME-Rechner
bootHost:spektr.spe $HOME/spektr.spe bootHost:ddd/spektr.spe $HOME/ddd/spektr.spe ~/spektr.spe $HOME/spektr.spe ~/ddd/spektr.spe $HOME/ddd/spektr.spe spektr.spe ./spektr.spe ddd/spektr.spe ./ddd/spektr.spe
home:spektr.spe $HOME/spektr.spe data:spektr.spe $HOME/ex_home/ex_data/spektr.spe
Weitere NFS-Laufwerke können im Boot-Script-File freigegeben bzw. neu
definiert werden.
Die existierenden NFS-Laufwerke können Sie sich mit dem SHOW-Programm
unter "Network(NFS) devices" anzeigen lassen.
home:ex_home/ex_data/test.spe -> home:./ex_home/ex_data/test.spe
$HOME/ex_home/ex_param/<Programmname>par.vxw
auf, um sie bei einem nachfolgenden Start als Default-Werte anbieten zu können.