Copyright: Copyright ©1996 Frank Steidinger


Flußkontrolle

Die Einstellungen auf dieser Seite betreffen die Art, wie der Datenfluß zwischen Modem und Rechner gesteuert wird. Eine solche Steuerung ist notwendig, da das Modem die vom Rechner gesendeten Daten manchmal nicht schnell genug senden kann. Dann muß es dem Rechner mitteilen, daß dieser keine weiteren Daten senden soll. Sobald das Modem dann wieder Daten aufnehmen kann, signalisiert es dies dem Rechner, damit dieser weiter senden kann. Das sicherste und effizienteste Verfahren ist die Flußkontrolle mittels RTS/CTS (Hardware).

Hardware: Der Datenfluß zwischen Modem und Rechner wird durch die Signale RTS/CTS gesteuert. (Üblich "\Q3")

Software: Der Datenfluß zwischen Modem und Rechner wird durch die speziellen Zeichen XON und XOFF gesteuert. (Üblich "\Q1")

Aus: Es findet keine Flußkontrolle statt. (Üblich: "\Q0")


Initialisierung

Auto-Init: Dies ist der Initialisierungsstring, den Win95 automatisch anhand der in der Systemsteuerung gewählten Optionen für dieses Modem erzeugt. Der String wird bei jedem Wahlvorgang von neuem generiert. Deshalb kann der String in ModemTool nicht editiert werden, er wird lediglich zur Kontrolle angezeigt, damit der Anwender sehen kann, welche Befehle Win95 tatsächlich an das Modem sendet.

Init-Strings: In dieser Tabelle werden die Initialisierungsstrings des Modems angezeigt, die vom Hersteller definiert wurden. Ihre Anzahl schwankt von Hersteller zu Hersteller. Diese Strings werden nacheinander an das Modem gesendet, sobald ein Programm das Modem benutzen will. Dann wird der oben erwähnte Auto-Initstring gesendet und zum Abschluß, falls vorhanden, ein vom Anwender definierter String, der bei den Modemeigenschaften in das Textfeld "weitere Einstellungen" eingegeben werden kann. Zu beachten ist, daß die Strings in dieser Tabelle alle mit den Zeichen "<cr>" abgeschlossen werden müssen.


Lautsprecher

Leise: Mit diesem String wird der Modemlautsprecher auf leise gestellt. (Standard L1)

Mittel: Entsprechend für mittlere Lautstärke. (Standard L2)

Laut: und schließlich noch laut. (Standard L3)

Immer An: Der Lautsprecher schaltet sich beim Wahlvorgang ein und bleibt bis zum Auflegen eingeschalten. (Standard M2)

An bei Wahl: Der Lautsprecher ist nur während des Wahlvorgangs an. (Standard M1)

An bei Warten: Der Lautsprecher schaltet sich nach dem Wahlvorgang an, und ist an, solange auf den Antwortton gewartet wird. Sobald die Verbindung steht, schaltet er sich aus. (Standard M3)

Aus: Der Lautsprecher ist permanent aus. (Standard M0)


Namen ändern

Durch Klick auf den Button "Namen ändern" in der Kopfzeile des Dialogfensters wird das oben abgebildete kleine Fenster geöffnet, in dem zum einen der alte Name des Modems angezeigt wird und zum anderen ein beliebiger neuer Name eingegeben werden kann. Mit "OK" bestätigen Sie die Namensänderung, durch "Abbruch" widerrufen Sie sie. Die Änderung wird allerdings erst dann in die Registrierdatenbank geschrieben, wenn Sie im Hauptfenster "Übernehmen" oder "OK" wählen.


Pseudomodems

Pseudo-Modems sind "Geräte", die für Windows 95 so aussehen, wie Modems, aber keine sind. Beispiele hierfür sind die oben gezeigten Kabel. Diese Einträge werden z.B. von dem Programm PC-Direktverbindung angelegt, wenn in diesem Programm die Anschlüsse konfiguriert werden. Dabei erstellt die PC-Direktverbindung für jeden im Computer vorhandenen seriellen oder parallelen Anschluß ein solches Pseudo-Modem. ModemTool weist beim Start in der Statusleiste auf eventuell gefundene Pseudo-Modems hin. Ein Doppelklick auf die Statusleiste öffnet dann die Dialogbox "Gefundene Pseudo-Modems". Hier werden die Namen der gefundenen Pseudo-Modems angezeigt und es besteht die Möglichkeit, überflüssige Einträge zu löschen. ACHTUNG: Wenn Sie "Löschen" wählen und die Sicherheitsabfrage bestätigen, wird der betreffende Eintrag SOFORT aus der Registrierungsdatenbank entfernt. (Sie können die Pseudo-Modems aber wieder restaurieren, indem Sie in dem Programm "PC-Direktverbindung" den Knopf "Neue Anschlüsse installieren" wählen.)

Beachten Sie bitte, daß der Eintrag, den Sie im Programm "PC-Direktverbindung" verwenden, nicht gelöscht werden darf.

Erwähnt werden sollte an dieser Stelle noch, daß Microsoft bei der Benennung der Pseudo-Modems etwas ungeschickt vorgegangen ist. Der Eintrag "Parallelkabel an LPT1" bezieht sich nicht auf ein eventuell vorhandenes Druckerkabel sondern auf ein spezielles Parallelkabel zur direkten Verbindung zweier Computer, gemeinhin auch als Laplinkkabel bekannt. Sie müssen also keine Sorge haben, hier aus Versehen Ihren Drucker lahmzulegen. Die Bezeichnung Nullmodemkabel hingegen beschreibt den Einsatzzweck besser und bietet wenig Anlaß, es mit einem normalen Modemkabel zu verwechseln.


Sonstiges

Kommando-Präfix: Diese Zeichen werden vor jedes zum Modem gesendete Kommando gehängt. An ihnen erkennt das Modem, daß es sich um ein Kommando handelt. Der Standard lautet "AT" und es ist höchst unwahrscheinlich, daß Ihr Modem etwas anderes erwartet.

Kommando-Ende: Mit diesen Zeichen wird ein Kommando abgeschlossen. Üblicherweise ist dies ein Zeilenende, hier gekennzeichnet durch "<cr>".

Inaktivitätstimer: Über den Inaktivitätstimer kann eine Zeit eingestellt werden, nach deren Ablauf das Modem die Verbindung selbsttätig trennt, wenn in dieser Zeit weder Daten gesendet noch empfangen wurden. Üblicherweise wird diese Einstellung durch ein Register vorgenommen, z.B. S30. Der Eintrag lautet dann "S30=<#>". Wichtig ist hierbei das "<#>"; dies ist der Platzhalter für den Wert, den Sie im Modemdialog von Windows eingegeben haben.

Modulation: Für die Übertragungsgeschwindigkeiten 300 bps und 1200 bps existieren zwei verschiedene Übertragungsverfahren. Das eine wurde von Bell standardisiert und ist heute nicht mehr gebräuchlich (ebensowenig wie 300 oder 1200 bps). Das andere ist von der CCITT, der heutigen ITU, festgelegt worden und ein echter Standard. Üblich ist "B0" für Modulation nach CCITT und B1 für Bell.

Protokolldatei aufzeichnen: Markieren Sie diese Option, um Win95 zu veranlassen, alle Befehle, die es an das Modem sendet, in der unten angeführten Datei aufzuzeichnen. Wenn Sie die Aufzeichnung aktivieren, stellen Sie bitte sicher, daß Sie in dem Textfeld einen gültigen Dateinamen inklusive Pfad angegeben haben. Sie können den Dateinamen und den Pfad auch komfortabel über einen Dateidialog wählen, wenn Sie den Knopf mit dem Ordner-Symbol neben dem Textfeld drücken.


Technischer Hintergrund

Die Modemdaten, die mit diesem Programm geändert werden können, sind alle in der Registrierdatenbank (Registry) von Win95 gespeichert. Die Informationen über die installierten Modems finden sich unter dem Schlüssel HKEY_LOCAL_MACHINE\Enum. ModemTool sucht ausgehend von diesem Schlüssel alle Unterschlüssel rekursiv ab und prüft für jeden Schlüssel, ob es sich um ein Modem handelt oder nicht. Das erkennt das Programm daran, daß der Eintrag Class vorhanden ist und den Wert 'Modem' enthält. Durch die Plug'n'Play-Funktionen kann es allerdings vorkommen, daß ein Modem zwar registriert, aber kein Treiber installiert wurde. Das ist dann der Fall, wenn der Anwender den Dialog "Neues Gerät gefunden" beim Systemstart mit "Keinen Treiber installieren" beendet. Üblicherweise wird der Anwender das Modem dann über die Systemsteuerung von Hand installieren. In diesem Fall sind für das Modem zwei Schlüssel in HKEY_LOCAL_MACHINE\Enum vorhanden. Einer enthält nur die Information, daß das Modem beim Systemstart gefunden wurde, der andere hingegen enthält zusätzlich den Namen, den Win95 dem Anwender für das Modem zeigt sowie die Information, wo die Einstellungen für das Modem abgelegt werden. Die zuständigen Einträge heißen FriendlyName und Driver. ModemTool sieht nun nur solche Schlüssel als gültige, d.h. korrekt installierte, Modems an, deren Eintrag Class den Wert 'Modem' haben und für die der Eintrag Driver vorhanden ist.

Eine Besonderheit bilden Pseudo-Modems, die von dem Programm "PC-Direktverbindung" angelegt werden. Diese Schlüssel sehen aus wie Modemschlüssel (also Class 'Modem' und Driver vorhanden), dahinter verbergen sich jedoch nur Nullmodem- oder Parallelkabel. Die Erkennung dieser speziellen Schlüssel basiert auf dem Wert des Eintrags HardwareID, der für Nullmodemkabel 'PNPC031' und für Parallelkabel 'PNPC032' lautet. Weitere Pseudo-Modems sind mir bislang nicht bekannt.

Driver gibt - wie bereits erwähnt - an, welcher Schlüssel in der Registry die aktuellen Einstellungen für das Modem enthält. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class zusammen mit dem Wert von Driver ergibt den Schlüssel für die Modemdaten. Im Unterschlüssel Init sind die Initstrings des Modems gespeichert, der Unterschlüssel Settings enthält die diversen Modemstrings, die ModemTool anzeigt.

Die Win95-Modemfunktionen verwenden diese Informationen wie folgt: Wenn ein Programm das Modem verwenden will, so wird dies zunächst initialisiert. Dazu sendet Win95 zunächst die im Unterschlüssel Init gespeicherten Strings an das Modem. Diese Strings werden bei der Installation des Modems festgelegt und danach nicht mehr verändert. Dann generiert Win95 einen weiteren String, der den Benutzereinstellungen für das Modem entspricht, die anhand der im Unterschlüssel Settings enthaltenen Informationen in eine für das Modem taugliche Form übersetzt wurden. Eventuell wird noch ein weiterer String erzeugt, falls der Benutzer im Fenster "Erweiterte Einstellungen für Modem" im Feld "Weitere Einstellungen" etwas eingegeben hat. Diese beiden Strings werden im Unterschlüssel Settings\Init abgelegt. Sie von Hand zu ändern ist jedoch sinnlos, da, wie gesagt, Win95 diese Strings ständig neu generiert.

Alle bis hierher beschriebenen Schlüssel enthalten die Informationen als reine Strings, also im Klartext. Die Benutzereinstellungen für das Modem werden jedoch im Feld Properties abgelegt, das binär kodiert ist. Wenn die Kodierung dieser Informationen bekannt wäre, wäre es möglich, die Funktionalität von ModemTool mit dem Modem-Dialog aus den Systemeinstellungen zu kombinieren, so daß man in Zukunft alle Einstellungen an einer Stelle vornehmen könnte, ohne sich durch die etwas wirre Verschachtelung der Microsoft-Dialogfenster zu hangeln. Sollte sich also bereits jemand die Mühe gemacht haben, die Kodierung zu entschlüsseln, so wäre ich ihm dankbar, wenn er mir diese Informationen schicken würde.

Frank Steidinger

Internet: steidinger@acm.org
CIS: 100113,3271


Verbindungsaufbau

Speed Negotiation ein: Das Modem soll versuchen, mit der Gegenstelle die höchste, von beiden Seiten unterstützte Geschwindigkeit auszuhandeln. Die Verbindung wird dann mit dieser Übertragungsgeschwindigkeit aufgebaut.

Speed Negotiation aus: Das Modem soll versuchen, mit der vorgegeben Übertragungsgeschwindigkeit eine Verbindung aufzubauen. Wenn die Gegenstelle dies ablehnt, kommt keine Verbindung zustande.

Kompression ein: Das Modem soll versuchen, eine Verbindung mit automatischer Datenkompression aufzubauen (V42bis oder MNP5).

Kompression aus: Das Modem soll nicht versuchen, mit der Gegenstelle ein Kompressionsverfahren auszuhandeln.

Fehlerkorrektur zwingend: Das Modem soll versuchen, mit der Gegenstelle ein Fehlerkorrekturverfahren (V42 oder MNP4) auszuhandeln. Falls dies nicht möglich ist, soll die Verbindung getrennt werden.

Fehlerkorrektur ein: Das Modem soll versuchen, ein Fehlerkorrekturverfahren auszuhandeln. Ist dies nicht möglich, soll eine Verbindung ohne Fehlerkorrektur aufgebaut werden.

Fehlerkorrektur aus: Es soll eine Verbindung ohne Fehlerkorrektur aufgebaut werden.

Warten auf Träger: Gibt an, wie lange das Modem nach der Wahl auf das Trägersignal warten soll. Diese Einstellung wird üblichweise über ein Register im Modem vorgenommen, z.B. S7. Der Eintrag lautet dann "S7=<#>", wobei das "<#>" ein Platzhalter für den Wert ist, den Sie im Windows-Dialog eingegeben haben.


Wahl

Präfix: Dies ist das eigentliche Wahlkommando und es ist ausgesprochen unwahrscheinlich, daß Sie es ändern müssen. Der Standard lautet "D".

Impulswahl: Dieser Eintrag wird an den Präfix angehängt, um dem Modem mitzuteilen, daß es per Impulswahlverfahren wählen soll. Üblicherweise wird hier für ein normales Modem ein "P" eingetragen sein. Bei ISDN/Modem-Kombigeräten wird dieser Eintrag gerne dazu verwendet, um zwischen ISDN- und Analogverbindungen zu unterscheiden. Dann steht an dieser Stelle beispielsweise ein "I" für ISDN-Verbindungen.

Tonwahl: Analog zum Eintrag "Impulswahl" dient dieser dazu, um das Modem nach dem Tonwahlverfahren (auch bekannt als MFV) wählen zu lassen. Der Standardbefehl dazu lautet "T".

Suffix: Falls Ihr Modem nach der Telefonnummer noch ein Zeichen als Abschluß benötigt, kann dieses hier eingetragen werden. In den allermeisten Fällen wird dieser Eintrag jedoch leer sein.

Wählton ignorieren: Dieser Eintrag dient dazu, dem Modem zu sagen, daß es mit der Wahl beginnen soll, ohne auf den Wählton (Amtszeichen) zu warten. Dies ist besonders für den Betrieb an Telefonanlagen wichtig, bei denen das Amt erst durch Wahl einer "0" geholt werden muß. Üblich ist hier "X3".

Wählton abwarten: Das Gegenstück zu "Wählton ignorieren": Das Modem warten mit dem Wahlvorgang, bis es den Wählton empfängt. Üblich ist "X4".


Über das Programm

Version 1.25	4.12.96

Lizenzinformationen:

ModemTool ist Freeware, das heißt, Sie müssen für die Benutzung nichts zahlen. Dafür übernehme ich auch keinerlei Garantie dafür, daß das Programm für Sie nützlich ist. Außerdem lehne ich jegliche Haftung für Schäden ab, die durch die Benutzung dieses Programms entstehen können.

Programmbeschreibung:

Wer öfter mal ein Modem unter Win95 installiert, kennt das zweifelhafte Vergnügen, sich auf die Plug-and-Play Fähigkeiten von Win95 zu verlassen. Wenn man Glück hat, funktioniert alles auf Anhieb, aber wenn nicht, probiert man nacheinander alle möglichen Einstellungen im Modem-Dialog durch und wundert sich des Öfteren, das sich nichts tut. Wie ich feststellen mußte, liegt das oft daran, daß der Programmierer des Modemtreibers aus irgendeinem Grund für die entsprechende Einstellung den dazugehörigen Modemstring nicht definiert hat.

Diese Modemstrings sind, zusammen mit anderen Informationen über das Modem, in der Registrierdatenbank von Win95 gespeichert und lassen sich mit dem Registrierungseditor ohne Probleme ändern. Allerdings sind die Daten etwas versteckt und wer mehrere Modemtreiber installiert hat, kommt leicht durcheinander. Deshalb habe ich dieses kleine Programm geschrieben, das die Daten für alle im System angemeldeten Modems aus der Registrierdatenbank liest und in einem (wie ich hoffe) übersichtlichen Dialogfenster anzeigt. Man kann nun die einzelnen Modemstrings kontrollieren und ändern, ebenso den Modemnamen. Sobald man eine Änderung vorgenommen hat, meldet das Programm in der Statuszeile unten rechts, das etwas geändert wurde. Nun kann man die Änderungen durch Auswahl des Buttons "Übernehmen" oder "OK" in die Registrierdatenbank schreiben. Wählt man "Übernehmen", so bleibt das Dialogfenster geöffnet und man kann weitere Änderungen vornehmen, ohne das Programm neu starten zu müssen. Wählt man "OK" so wird das Fenster nach dem Schreiben der Änderungen geschloßen. Zu beachten ist, daß sich "OK" und "Übernehmen" nur auf das aktuell angezeigte Modem beziehen. Hat man die Einstellungen für mehrere Modems geändert, so müssen diese pro Modem einmal bestätigt werden (am besten mittels "Übernehmen").

In der Liste oben links im Dialog können Sie das Modem wählen, für das Sie die Einstellungen ändern wollen. In der Statuszeile wird links der Name der INF-Datei angezeigt, aus der die ursprünglichen Einstellungen stammen, in der Mitte der Statuszeile steht des Name des Abschnittes innerhalb der INF-Datei, der zu diesem Modem gehört. Nicht alle Modemtreiber schreiben diese Information in die Registrierdatenbank, es kann also sein, daß diese Felder bei Ihnen leer sind.

Außerdem wird in der Statuszeile nach dem Programmstart angezeigt, wie viele Pseudo-Modems im System gefunden wurden. Ein Doppelklick auf die Statuszeile öffnet, solange diese Meldung angezeigt wird, das Fenster Gefundene Pseudo-Modems.

Frank Steidinger

Internet: steidinger@acm.org
CIS: 100113,3271