Erfahrungen mit der Installation eines neuen stationären Kartenlesegerätes (Hypercom medcompact slot) 2. Teil

Technik

Foto: flickr creative commons Autor: rofi

Den ersten Teil der Artikelserie finden Sie hier.

Ich hatte von Anfang an in der Praxis eine heftige Verzögerung beim Einlesevorgang einer KVK (Krankenversicherungskarte, also alte „Chipkarte“ eines Patienten) beobachtet. Zwar gab es keinerlei Fehlermeldungen und das Einlesen einer KVK war möglich, dauerte aber satte 30 bis 35 Sekunden. Verwendet wird ein terminal server 2003, das PVS ist MCS ISYNET, der client ein älterer Rechner mit einem Celeron 2,67Ghz unter Win 98 second edition mit 256Mbyte RAM, mehr wird unter terminal server auch nicht gebraucht.

Die folgende Fehlersuche gestaltete sich sehr aufwendig. Nach Kontaktaufnahme mit einem Entwickler der MCS AG in Eltville, der sich die Mühe machte, unser System naturgetreu nachzubauen, also Server unter terminal server 2003, alten client mit alten Win98 second edition Betriebssystem etc. nachbaute (!) um mir bei der Fehleranalyse zu helfen, weiterhin einem Kontakt zum Hersteller Hypercom gab es zunächst Überraschungen: der Fehler lies sich nicht reproduzieren, beim Nachbau-System lief der ganze Einlesevorgang in 5 Sekunden (eGKG rund 6-8 Sekunden) ab, eine genauere Untersuchung meines Systems zeigte dann, dass das eGK Lesegerät richtig eingestellt war, die COM Schnittstelle korrekt auf 115200 baud eingestellt war, alle Treiber richtig eingestellt etc.

Alles schien zu stimmen, dennoch gab es scheinbar unerklärlicherweise die Verzögerung beim Einlesevorgang in  meinem System, nicht jedoch beim „Nachbau“ des Systems beim Entwickler in Eltville.

Wie bekannt,  ist ein alternativ denkbarer Anschluß über USB unter terminal server 2003 nicht möglich bzw. erschwert, da USB vom client nicht an den Server durchgeschliffen wird, dies ist erst unter terminal server 2008 möglich.

Nach anfänglicher Ratlosigkeit fand sich dann aber eine überraschende Ursache für die Verzögerung: die COM Schnittstelle.

Zwar war diese  ordnungsgemäß auf die maximale Baudzahl eingestellt, 115200 baud,  hatte aber kein FIFO (Informationen hierzu: Wiki, auch hier), da es sich um ein älteres Modell handelte. Überraschenderweise war im Nachbau in Eltville weder der alte client, noch dessen RAM, noch win 98 ein Problem gewesen, selbst damit lief alles problemlos.  Den entscheidenden Satz:

Schnittstellen ohne FIFO sollten mit maximal 19200 baud betrieben werden. Da die Geschwindigkeit auf der seriellen Schnittstelle höher sein sollte als zwischen den Modems, ist für schnelle Modems eine Schnittstelle mit FIFO erfoderlich.

fand ich bei dieser Quelle. Die COM Schnittstelle muß für den Betrieb  aller eGK Leser auf die Maxmalgeschwindigkeit von 115200 eingestellt werden, also ein vielfaches davon.

Eine nähere Betrachtung zeigte dann auch, dass die fragliche COM Schnittstelle ein älteres Modell ohne FIFO war, das für den Betrieb in dieser Geschwindigkeit schlicht nicht geeignet ist. In einer ersten Fehlerbehebung verbanden wir das Lesegerät unter ansonsten identischen Bedingungen mit einem glücklicherweise zur Verfügung stehenden zweiten Arbeitsplatz, dessen Schnittstelle FIFO fähig ist und fanden das Problem beseitigt.

Die alten Kartenleser waren hiervon nicht betroffen, das diese in wesentlich niedrigerer Geschwindigkeit betrieben werden konnten, der Fehler also nie auftreten konnte.

Nun konnte eine  KVK in etwa 5 Sekunden, eine Test-eGK in 6-8 Sekunden eingelesen werden, also exakt die Zeiten, die der hilfreiche Entwickler von MCS in Eltville im Testsystem darstellen konnte.

In einem zweiten Schritt werde ich in dem alten Rechner die alte on-board COM Schnittstelle durch eine moderne Schnittstellenkarte mit COM ports ersetzen, die FIFO fähig sind um damit den Gegentest zu machen. Dann müßte auch auf dem alten Rechner alles normal laufen.

Ich werde dazu an dieser Stelle neu berichten.

Leave a Reply

Your email address will not be published. Required fields are marked *