|
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. |