Probleme mit dem DMA-Busmaster

Etliche Briefe erhielt WIN auf den Artikel Jungbrunnen für Windows in Ausgabe 9/98. Da das Thema noch viele Fragen aufwirft, gibt WIN hier weitere Tips:
Der Busmaster-DMA-Modus (BM-IDE) erlaubt im Gegensatz zum alten PIO-Modus den schnellen Datenaustausch durch direktes Schreiben in den Hauptspeicher ohne den Umweg über die CPU. Für die marktführenden Intel-Chipsätze können Sie die BM-IDE-Fähigkeit in der Tabelle unten auf dieser Seite ablesen.
Für Intel-Boards können Sie den neusten Treiber unter developer.intel. com/design/pcisets/busmastr/license.htm herunterladen.
Für das Erkennen des DMA-Modus nutzt die Überprüfung mit dem Befehl Start – Einstellungen – Systemsteuerung – System – Gerätemanager – Festplattenlaufwerk-Controller recht wenig. Die Bezeichnung des IDE-Treibers enthält immer die Bezeichnung Busmaster, solange das System busmasterfähig ist. Um den verwendeten Treiber sicher feststellen zu können, müssen Sie daher die Registrierdatenbank bemühen:
Starten Sie den Registry-Editor. Wenn Sie unter dem Schlüssel HKEY_ LOCAL_MACHINE/System/CurrentControlSet/Services/Class/hdc/000x im Eintrag PortDriver den Wert ESDI_ 506.PDR finden, ist Busmastering nicht implementiert. Der Busmaster-Treiber heißt IDEATAPI.MPD. Zudem sollten Sie darauf achten, daß Sie im Gerätemanager bei den einzelnen Festplatten in dem Register Einstellungen den DMA-Modus abhaken.
Wenn der Treiber aktiviert ist, kann das allerdings zu Problemen führen. So starten manche Systeme nach dem Aktivieren des Ultra-DMA Treibers nicht mehr richtig. In diesem Fall kommen manche Platten nicht mit dem Multi-Word-DMA zurecht. Dieses Verhalten zeigen etwa die Samsung-Platten WNR32501A und WNR31601A. Im abgesicherten Modus können Sie aber den DMA-Modus nicht deaktivieren. Hat Ihr System Probleme mit dem DMA-Mode, setzen Sie unter dem Schlüssel HKEY_LOCAL_MACHINE/ System/CurrentControlSet/Services/ Class/hdc/Port000x den Wert des Eintrags IDEDMADRIVE0 von 01 auf 00.
Für Windows NT existiert im Service Pack 3 ein DMA-Treiber für Intel-Boards. Das Tool DMACHECK nimmt die Einstellungen vor, da diese nach der Installation des Service Packs nicht automatisch aktiviert sind. Sie finden das Programm aber nur auf der offiziellen Service-Pack-CD. Mehr dazu lesen Sie auf Seite 126 in diesem Heft.
Zuletzt kann auch die Hardware zwischen Controller und Festplatte für Probleme sorgen. So kann ein Kabel, das im PIO-Mode gerade noch funktioniert, für den Busmaster-Betrieb nicht mehr geeignet sein. Ein Austausch des Kabels schafft Klarheit. Außerdem ist eine etwaige Übertaktung des Systems eine zusätzliche Belastung und sollte bei der Fehlersuche abgeschaltet sein.
Weitere Infos erhalten Sie unter support.microsoft.com/support/kb/articles/q171/3/53.asp oder www.swobodata.com/magus/_magsupp.htm und developer.intel.com/design/pcisets/busmastr/index.htm. Besitzer von Boards anderer Firmen als Intel erhalten Treiber auf der Seite www.bmdrivers.com. WIN-CODE: BMDRIVER

Übersicht der Intel-Chipsätze undihrer PIO-Modes
Chipset PIIXn Device DMA-fähig
Intel 430FX PCIset 82371FB (PIIX) ATA/16 -
Intel 430VX PCIset 82371SB (PIIX3) ATA/16 -
Intel 430HX PCIset 82371SB (PIIX3) ATA/16 -
Intel 430TX PCIset 82371AB (PIIX4) UltraDMA/33 3
Intel 440FX PCIset 82371SB (PIIX3) ATA/16 -
Intel 440LX AGPset 82371AB/EB (PIIX4/4E) UltraDMA/33 3
Intel 440EX AGPset 82371EB (PIIX4E) UltraDMA/33 3
Intel 440BX AGPset 82371AB/EB (PIIX4/4E) UltraDMA/33 3
Intel 440GX AGPset 82371EB (PIIX4E) UltraDMA/33 3