Schlagwort-Archive: i8042prt

PS/2-Schnittstelle unter „Windows 10“ (re)aktivieren

Teil des Backplanes einer ATX-Hauptplatine. Zu sehen sind ein PS/2-Kombianschluss und zwei USB-, ein DVI- und ein VGA-Anschluss.
Ein violett- und grüngefärbter PS/2-Kombianschluss.

Die vor 35 Jahren eingeführte serielle PS/2-Schnittstelle zum Anschluss von Tastaturen und Mäusen an PCs gilt heutzutage mehr oder weniger als ausgestorben. Schon vor geraumer Zeit wurde sie mehr oder weniger komplett von der USB-Schnittstelle ersetzt. Man findet daher immer seltener neue Rechner mit den entsprechenden Buchsen und auch die Auswahl an passenden Eingabegeräten ist mittlerweile sehr überschaubar geworden.

In der Computertruhe sieht das zwar ähnlich aus, aber da wir meist „ein paar Jahre in der Vergangenheit leben“, haben wir auch aktuell noch ab und zu Kontakt zu dieser „antiquierten“ Schnittstelle. Sie hat sich insbesondere bei Desktop-Rechnern aus dem Unternehmens- und Gaming-Umfeld relativ lange gehalten. Denn gegenüber USB hat die Schnittstelle doch so manchen Vorteil:

  • Es gibt keinerlei Einschränkung wie viele Tasten einer Tastatur gleichzeitig gedrückt werden können (n-key rollover).
  • PS/2 ermöglicht die einfache, rechnerweite Sperrung aller USB-Anschlüsse zum Schutz vor unerlaubten Datenabfluss.
  • Die Verwendung eines Universaltreibers ist möglich (z. B. im BIOS).
  • Teilweise sind Laptoptastaturen intern weiterhin an der PS/2-Schnittstelle angeschlossen, weil diese stromsparender ist.
  • Auf PS/2-Geräte kann direkt über Interrupts zugegriffen werden, während der Zustand von USB-Geräten mittels Polling abgefragt werden muss. Da es dadurch im Wesentlichen zu keiner Latenz kommt, werden PS/2-Eingabegeräte von vielen Gamern bevorzugt.

Kürzlich wurden zwei Desktop-PCs im Rahmen der Ukraine-Hilfe von uns instand gesetzt, deren Hauptplatinen mit wenigen USB-, aber dafür mit je zwei PS/2-Buchsen ausgestattet waren. Da sich zudem einige PS/2-Tastaturen auf Lager befanden, sollten diese zum Einsatz kommen, um wenigstens eine USB-Buchse pro Gerät mehr zur Verfügung zu haben. Nachdem alles – wohlgemerkt mit einer USB-Tastatur – fertig eingerichtet war, wurde die erste PS/2-Tastatur angeschlossen und das Windows 10-System hochgefahren. Während des Boot-Vorgangs und innerhalb der BIOS-Konfigurationsoberfläche war die Tastatur problemlos zu bedienen. Nach dem Windows-Start stellte sie ihren Dienst allerdings komplett ein.

Eine kleine Recherche förderte zutage, dass der PS/2-Systemfunktionstreiber von Windows nicht geladen wurde. Es hat den Anschein, dass die Starteinstellung für diesen Treiber von Microsoft durch ein vergangenes Update geändert wurde. Dies würde erklären, weshalb dieses Verhalten bisher noch nie auftrat. Doch auf die Ursache soll hier nicht weiter eingegangen werden. Ziel war es, die Tastaturen unter Windows (wieder) zum Laufen zu bringen.

Anpassung des Startverhaltens des PS/2-Treibers

Das Startverhalten des PS/2-Treibers sowie andere Treiberkonfigurationen befinden sich in der Windows-Registrierungsdatenbank bzw. Registry. Bevor hier Änderungen vorgenommen werden, ist übrigens ein Export der Datenbank äußerst empfehlenswert. Anpassungen der Registry und auch deren Export lassen sich über den in Windows integrierten Registrierungs-Editor bewerkstelligen, wofür Administrationsrechte benötigt werden. Ach ja, und eine USB-Tastatur sollte selbstverständlich angeschlossen sein. 😄

Aufruf des Registrierungs-Editors

Der Editor kann in der Suchleiste durch die einfache Eingabe von regedit.exe aufgerufen werden.

Ändern der Konfiguration

Die PS/2-Treiberkonfiguration befindet sich unter dem Registrierungsschlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\i8042prt. Das Ladeverhalten des Treibers wird über den Wert mit dem Namen Start festgelegt. Nach der Windows 10-Installation ist dieser Wert 3 (Stand: Juli 2022), was bedeutet, dass der Treiber nicht automatisch, sondern nur bei Bedarf manuell geladen werden soll.

Ansicht des Schlüssels „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\i8042prt“ innerhalb des „Registrierungs-Editors“. Markiert ist der Name „Start“ vom Typ „REG_DWORD“ und dessen Wert „0x00000003 (3)“.
In der „Windows-Registrierungsdatenbank“ befindet sich die Starteinstellung des PS/2-Treibers. Aktuell muss der Treiber manuell geladen werden.

Damit er bereits beim Systemstart geladen wird, muss der Wert auf 1 geändert werden. Dazu wird einfach das Kontextmenü für den Start-Eintrag geöffnet und Ändern… ausgewählt.

Ansicht des Schlüssels „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\i8042prt“ innerhalb des „Registrierungs-Editors“. Markiert ist der Name „Start“, darüber befindet sich das zugehörige Kontextmenü mit dem ausgewählten Eintrag „Ändern…“.
Die Starteinstellung kann ganz leicht geändert werden.

Im danach erscheinenden Dialogfenster unter Wert lediglich eine 1 eintragen und die Anpassung daraufhin mit Betätigung der OK-Schaltfläche bestätigen.

Der Werteänderungsdialog des „Registrierungs-Editors“ mit der Fensterbezeichnung „DWORD-Wert (32-Bit) bearbeiten“. Innerhalb des Dialogfensters stehen der Wertename „Start“, dessen Wert „1“ und das Mehrfachoptionsfeld „Basis“ mit den Optionen „Hexadezimal“ und „Dezimal“, wobei Ersteres ausgewählt ist. Darunter befinden sich zwei Schaltflächen, die mit „OK“ und „Abbrechen“ beschriftet sind.
Als neuer Wert wird „1“ eingetragen. Dies bedeutet, dass der Treiber beim Start des Systems geladen werden soll.

Nach einem Neustart des Betriebssystems, bei dem die Registry neu eingelesen wird, kann die PS/2-Tastatur endlich wie erwartet genutzt werden.