Die 10-Eintrags-Grenze in Windows NT/2000/XP

Seit der Einführung von Windows 2000 meldeten sich regelmässig einige Anwender, bei denen folgende Fehler auftraten:

  • Nach der Treiberinstallation erscheinen keine Wave (MME) Devices. Es lässt sich nur ASIO nutzen.
     
  • Nach der Treiberinstallation erscheinen keine HDSP MIDI Ports. MIDI lässt sich daher mit der Hammerfall DSP nicht nutzen.
     
  • In beiden Fällen erscheint im Eigenschaftendialog des Audio- und/oder MIDI-Gerätes Status: Treiber ist aktiviert, aber nicht funktionstüchtig.
     
  • Im Eigenschaftendialog des Audio- und/oder MIDI-Gerätes erscheint Status: Treiber ist aktiviert, aber nicht funktionstüchtig. Trotzdem funktioniert alles!

Die obigen Fehler betreffen alle Versionen von Windows NT, 2000 und XP, bis zum aktuellen XP SP1. Und in allen Fällen handelt es sich um den gleichen Fehler. Seit NT verfügt Windows intern über eine Liste der 32-bittigen MIDI- und Wave-Treiber. Diese Listen können maximal 10 Einträge aufnehmen, danach werden Sie niemals resettet, gelöscht, oder weitergeführt.

Dieser Fehler ist ein Erbe von NT, und wir rechnen nicht mit einem Bugfix im nächsten (oder übernächsten) Service Pack. Der Fehler hat nichts mit dem bekannten WDM 10-Devices Limit in Windows 98 bzw. Windows 2000 zu tun. Stattdessen geht es hier um Gerätetreiber, von denen jeder einzelne beliebig viele I/O-Ports verwalten kann. Das Problem tritt mit Audio- und MIDI-Geräten aller Hersteller auf, und lässt sich von der Treiberseite her nicht lösen.

Wie lässt sich das Problem beseitigen?

  • Durch eine Neuinstallation von Windows. Wurden bereits viele Programme installiert ist dies jedoch eine sehr zeitraubende und nervige Lösung.
     
  • Durch einen manuellen Reset der Liste, also Löschen diverser Einträge mit anschliessender Treiber-Neuinstallation.

Dazu sollten Sie aber zunächst die Listenverwaltung verstanden haben, um Windows effizient ins Handwerk pfuschen zu können.

Bitte beachten Sie, dass Eingriffe in die Registry zum kompletten Verlust des Betriebssystems führen können. RME übernimmt keine Haftung für die nachfolgend mit dem Registrierungs-Editor beschriebenen Eingriffe und Änderungen!

Ort und Erstellung der Einträge

Über 'Start/Ausführen' lässt sich durch Eingabe von 'regedit' der Registrierungs-Editor starten. Die relevanten Einträge befinden sich im Pfad 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32' (linker Fensterteil). Ein Klick auf 'Drivers32' lässt im rechten Teil des Fensters alle zugehörigen Einträge erscheinen. Wie im Bild oben zu sehen, sind im Fehlerfalle alle 10 möglichen Einträge für MIDI (midi bis midi9) und/oder Audio (am unteren Ende der Liste, wave bis wave9) bereits erstellt worden.

Windows erstellt einen zusätzlichen Eintrag wenn ein Gerätetreiber neu installiert wird (nicht jedoch bei einem einfachen Treiber-Update). Also nicht nur bei der Erstinstallation, sondern auch wenn:

  • eine PCI-Karte auf einen anderen PCI-Slot gesteckt wird
  • ein USB-Gerät an einen anderen USB-Port als zuvor gesteckt wird
  • sich die Hardware-ID ändert, beispielsweise bei Firmware-Updates der Hammerfall DSP

Aber nicht nur reale Hardware verbraucht Einträge, sondern auch virtuelle Ports, die ja Hardware nachbilden. Im Bild ist der Eintrag midi9 mit gmidi.dll belegt, welche die virtuellen MIDI-Ports von Gigastudio bereitstellt. Und selbst interne Hardware kann problematisch sein. So ist der Treiber 'wdmaud.drv', der WDM Audio Mapper von Microsoft, eigentlich nur ein Mal pro WDM- (Blaster) Hardware notwendig, tauchte jedoch bei einem Notebook eines Kunden sieben Mal auf - und das bei einer internen Soundkarte, deren Ressourcen sich eigentlich nie ändern!

Die Listenverwaltung besitzt eine weitere Besonderheit. Ändert sich beispielsweise die Revision der Hammerfall DSP, und sind wie im Bild oben schon alle 10 Einträge belegt, kann kein weiterer Eintrag angelegt werden. In diesem Fall meldet der Eigenschaftendialog zwar Status: Treiber ist aktiviert, aber nicht funktionstüchtig, die Hammerfall DSP funktioniert aber trotzdem vollständig. Denn es gibt ja schon Verweise auf die 'hdspmme.dll'. Deren falsche Eintragsnummer lässt Windows einen Fehler bestätigen, ohne das Gerät aber ausser Betrieb zu nehmen.

Löschen der Einträge

Dazu geht man mit der Maus im rechten Fenster auf den gewünschten Eintrag midix oder wavex, rechte Maustaste, Löschen. Aber welche Einträge darf man löschen? Am konsequentesten wäre natürlich ein Neuaufbau der Liste, also alle Einträge midi bis midi9 bzw. wave bis wave9 zu löschen. Dann muss man sich aber sicher sein, für alle betroffene Hardware die Treiber griffbereit zu haben. Wir raten von dieser Methode ab und empfehlen ein gezielteres Vorgehen.

  • Löschen Sie alle mehrfachen Einträge bis auf einen. Wie erklärt sollte das Gerät danach trotz Fehlermeldung im Eigenschaftendialog korrekt funktionieren.

In unserem Beispiel war die Vorgehensweise einfach: sämtliche midi-Einträge mit hdspmme.dll wurden gelöscht und die Treiber der Hammerfall DSP erneut installiert. So schrumpfte die Liste von 10 Einträgen auf 5 zusammen. Die Einträge zu wdmaud.drv und gmidi.dll wurden nicht erneuert. Wie im Bild zu sehen ist es kein Problem wenn dadurch in der Nummerierung Lücken entstehen.

Tip: Zu welchem Gerät die jeweilige Datei xyz.xxx gehört lässt sich über die Suchfunktion des Registrierungs-Editors schnell herausfinden, da der Treibername an diversen anderen Stellen zusammen mit dem Namen des Herstellers und Gerätes erscheint.

Copyright © Matthias Carstens, 2002.
Alle Angaben in diesem Dokument sind sorgfältig geprüft, dennoch kann eine Garantie auf Korrektheit nicht übernommen werden. Eine Haftung von RME für unvollständige oder unkorrekte Angaben kann nicht erfolgen. Weitergabe und Vervielfältigung dieses Dokumentes und die Verwertung seines Inhalts sind nur mit schriftlicher Erlaubnis von RME gestattet.

 

Hauptseite    News    AD/DA-Wandler    Digitalkarten    MADI Serie     DIGICheck    Mic Preamps
Zubehör    Support    RME Newsgroup    Rund um RME    Bezugsquellen    Downloads    Links

Copyright 2002 RME. Alle Rechte vorbehalten. RME ist ein eingetragenes Markenzeichen.
Diese Website enthält Namen und Marken anderer Firmen