In apraxos können Sie die von der Gematik zugelassenen Kartenlesegeräte der KVK (Krankenversichertenkarte) und der eGK (elektronische Gesundheitskarte) und einiger MKT+-Geräte benutzen. Die Einrichtung der jeweiligen Geräte werden hier besprochen.
Allgemeines zum Einlesen über die verschiedene Schnittstelle
Die Kartenlesegeräte können über die serielle Schnittstelle, über die USB-Schnittstelle oder über LAN angesprochen werden.
Serielle Schnittstelle
Die serielle Schnittstelle, auch COM-Port genannt, wird in Linux über
/dev/ttyS0 → COM-Port 1
/dev/ttyS1 → COM-Port 2
usw.
angesprochen. Um als normaler User einen COM-Port ansprechen zu können, müssen die Lese- und Schreibrechte für das Gerät oder Device für den User gesetzt sein:
root@Schlepptop:~# ls -al /dev/ttyS0 crw-rw---- 1 root dialout 4, 64 2005-11-08 19:39 /dev/ttyS0
Die heutigen Distributionen setzen meist die Rechte richtig wie oben angezeigt. Der User praxis muss, damit er die serielle Schnittstelle /dev/ttyS0 ansprechen kann, der Gruppe dialout zugeordnet werden.
Einige Programme, die die Systemsicherheit überprüfen, setzen die Zugriffsrechte auf den seriellen Port zurück. sodass der User praxis den seriellen Port nicht auslesen kann. APWLIN zeigt dann "Leere Daten" an. Dann müssen die Rechte für die serielle Schnittstelle geändert werden.
Die alten KVK-Kartenlesegeräte über die serielle Schnittstelle liefen mit 9600 BAUD, dem alten Modem-Standard. Damit dauert die Übertragung einer eGK 5-12 Sekunden, also viel zu lange. Die neuen Geräte können auch an der seriellen Schnittstelle mit 115200 Baud ausgelesen werden. Hierfür muss die serielle Schnittstelle mit
stty -F /dev/ttyS0 115200 parenb -parodd -cstopb
auf 115200 Baud umgestellt werden.
USB-Schnittstelle
Die USB-Schnittstelle wird in den aktuellen Linuxen von udev überwacht. Einige Kartenlesegeräte werden von den Treibern direkt über die libusb angesprochen. Andere Treiber legen eine Schnittstelle /dev/ttyACM0 oder /dev/ttyUSB0 an. Auch für diese Schnittstellen gilt, dass der User praxis für die Schnittstelle Schreib- und Leserechte haben muss, also:
root@Schlepptop:~# ls -al /dev/ttyACM0
crw-rw---- 1 root dialout 4, 64 2005-11-08 19:39 /dev/ttyACM0
Natürlich muss auch hier wieder der User praxis in der Gruppe dialout sein. Da die USB-Schnittstelle bei jedem Rechnerstart neu konfiguriert wird, müssen die Rechte für die USB-Schnittstelle über sogennante udev-Regeln konfiguriert werden. In meinen Debian-Paketen habe ich bereits die meisten udev-Regeln vorkonfiguriert. Hier eine Beschreibung, wie man so eine udev-Regel formuliert:
Zunächst muss mit lsusb die Vendor-ID und die Produkt-ID des Gerätes festgestellt werden:
claudia@Mediondeb:~$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 8087:07da Intel Corp.
Bus 001 Device 006: ID 04e6:1a02 SCM Microsystems, Inc.
Bus 001 Device 003: ID 0c45:6457 Microdia
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard
Bus 003 Device 002: ID 045e:0737 Microsoft Corp. Compact Optical Mouse 500
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Hier ist das SCM eHealth500 an der USB-Schnittstelle angeschlossen. Die Vendor-ID ist „04e6“ und die Produkt-ID ist „1a02“. Die Vendor-ID für das Zemo GK2 ist z.B. „1f61“ und die Produkt-ID „0001“.
Man legt eine Datei /etc/udev/rules.d/95-cardterminals.rules mit folgendem Inhalt an:
#
# udev-Rules für Zemo-GK2 Kartenterminal
#
# nur gültig für USB Devices
SUBSYSTEM=="usb", GOTO="setup_cardterm"
GOTO="end_cardterm"
LABEL="setup_cardterm"
# Hier usb-ids für die Kartenterminals eintragen, damit sie vom Anwender
# aus der Gruppe "users" ausgelesen werden können.
ATTRS{idVendor}=="1f61", ATTRS{idProduct}=="0001", GROUP="users", MODE="0666"
# Ende
LABEL="end_cardterm"
Sollte es Probleme beim Auslesen von Kartenlesegeräte an /dev/ttyACM0 geben, muss kontrolliert werden, ob ein anderes Programm die Schnittstelle belegt. Es sollte in Debian Jessie hal und modemmanager deinstalliert werden.
LAN-Schnittstelle
Die LAN-Schnitstelle kann in der Regel nur mit fester IP-Adresse benutzt werden.