# Kapitel 7 Fragen und Antworten

# 7.1 Häufig gestellte Fragen

## 7.1.1 Ich kann Kppp nicht zum laufen bringen. Kppp erzählt mir, daß pppd beendet wurde oder daß eine Zeitüberschreitung eingetreten ist!

Haben Sie dieses Handbuch sorgfältig gelesen? Hier sind nochmal die häufigsten Fallen.

- Klicken Sie auf den Details-Knopf. Kppp zeigt Ihnen dann einen Auszug aus dem PPP-Log (funktioniert evtl. nicht auf nicht-Linux-System oder sogar mit einigen Distributionen). Diese Meldungen können Ihnen Helfen, den Fehler zu finden.

- Stellen Sie sicher, daß pppd wirklich das pppd-Programm ist, und kein Skript!

- Stellen Sie sicher, das pppd mit root-Rechten ausgeführt wird. Sie können das als root mit dem Kommando `chmod u+s pppd` einstellen.

- Stellen Sie sicher, das die Datei `/etc/ppp/options` existiert und keine widersprüchlichen Einträge enthält. Falls Sie sich nicht sicher sind, lassen Sie diese Datei leer.

- Stellen Sie sicher, daß Sie NICHT den Parameter ``lock'' für pppd angegeben haben (Kppp kümmert sich bereit um die Gerätesperrung)!

- Entfernen Sie den ``lock''-Parameter aus den Dateien `/etc/ppp/options` und `˜/.ppprc`!

- Wenn Sie den symbolischen Link `/dev/modem` benutzen, kann das zu Konflikten führen. Verhindern Sie diese Art Ärger, indem Sie das reale Gerät verwenden, z.B. `/dev/cuaX` oder `/dev/ttySX`. Hinweis: COM1 ist ttyS0, COM2 ist ttyS1 usw.

- Stellen Sie sicher, daß Sie die richtigen Berechtigungen eingestellt haben. Im Fall von Problemen sollten Sie es vielleicht zuerst als root ausführen, und dann, wenn alles gut funktioniert, weniger gefährliche Berechtigungen nehmen, wenn Sie es sich nicht leisten können Kppp mit root-Rechten laufen zu lassen. Die richtige Vorgehensweise wäre vermutlich die Erzeugung einer eigenen ``modem''-Gruppe.

- Eventuell starten Sie pppd zu früh, z.B. bevor der entfernte Server bereit ist, eine PPP-Verbindung aufzubauen. Wenn Sie ein Login-Skript benutzen, sollten Sie das eingebaute Terminal benutzen, um Ihre Login-Prozedur zu überprüfen. Manche Provider erwarten von Ihnen ein einfaches "Send" oder "Send ppp", um PPP zu starten. Einige Benutzer berichteten, daß Sie "Pause 1" oder "Pause 2" an Ihr Skript anhängen mußten, um Timing-Probleme zu lösen.

Wenn gar nichts hilft, sollten Sie evtl. Debug-Informationen aus Ihrem Systemlog erhalten, indem Sie folgendes eingeben:

     # tail /var/log/messages

## 7.1.2 Kppp sagt mir ``Tut mir leid, kann auf Modem nicht zugreifen''.

Das bedeutet, daß Kppp keine Berechtigung hat, daß Modemgerät zu öffnen, oder daß Sie ein ungültiges Modemgerät auf der Modem-Karteikarte gewählt haben. Stellen Sie zunächst sicher, daß Sie das richtige Modemgerät gewählt haben. Wenn Sie sicher sind, daß dies der Fall ist, müssen Sie Kppp die richtige Berechtigung geben, um auf das Modemgerät zugreifen zu können, und in der Lage zu sein, `/etc/resolv.conf` zu ändern, im Fall, daß Sie möchten, daß Kppp den DNS richtig für Sie einstellt. Falls Sie in der Lage sind, Kppp als SETUID root auszuführen, würde das alle Zugriffsprobleme für Sie lösen, wenn nicht, müssen Sie herausfinden, was die richtigen Berechtigungen für Ihre Zwecke sind. Um Kppp SETUID root-Berechtigung zu geben, machen Sie Folgendes:

     % su root
     % chown root:root $(KDEDIR)/bin/kppp
     % chmod +s $(KDEDIR)/bin/kppp
     % exit

## 7.1.3 Kppp sagt mir, daß es keine Modemsperrung erzeugen kann.

In den meisten Fällen bedeutet das, daß Sie Kppp mit gesetztem SETUID-Bit installiert haben, während Sie, die Person, die Kppp ausführt, keine Schreiberechtigung für das Sperrdateiverzeichnis haben, das standardmäßig `/var/lock` ist. Das ist zum Beispiel der Fall auf RedHat-Systemen. Überprüfen Sie den Modem-Dialog nach der genauen Position der Sperrdatei. Die Lösung ist einfach, entweder Kppp SETUID laufen zu lassen, falls Sie können, oder normalen Benutzern Schreibzugriff auf `/var/lock` zu gewähren oder eine modem-Gruppe zu erstellen, die Zugriff auf die `/var/lock`-Datei hat.

## 7.1.4 Warum wird Kppp mit gesetztem SETUID-Bit installiert?

Das SETUID-Bit muß nicht gesetzt sein, wenn Sie sich ein bißchen mit Unix-Systemadministration auskennen. Erstellen Sie einfach eine Modemgruppe, fügen Sie alle Benutzer, denen Sie Zugriff auf das Modem gewähren wollen, dieser Gruppe hinzu und machen Sie das Modemgerät les- und schreibbar für diese Gruppe. Wenn Sie auch DNS-Konfiguration mit Kppp benutzen wollen, muß `/etc/resolv.conf` les- und schreibbar von den Mitgliedern dieser Gruppe sein. Das gleiche gilt für `/etc/ppp/pap-secrets` und `/etc/ppp/chap-secrets`, wenn Sie die eingebaute PAP- und CHAP-Unterstützung benutzen wollen.

Bitte kritisieren Sie mich nicht dafür, Kppp mit gesetztem SETUID-Bit zu installieren, ich kann einfach nicht länger die Masse an E-Mail behandeln, die ich vorher von verzweifelten Benutzern bekommen habe, die Probleme hatten, Kppp zum laufen zu bringen, weil sie nicht genug über Unix und Geräte-Berechtigungen wußten.

Das Kppp-Team hat in letzter Zeit sehr viel daran gearbeitet, um Kppp SETUID-Sicher zu machen. Aber es liegt an Ihnen, ob und wie Sie es installieren.

Eventuell wollen Sie dazu auch das Kapitel Kppp und die Sicherheit lesen.

## 7.1.5 Kppp ist einfach da und wartet: ``erwarte OK''

- Haben Sie an der CR/LF-Einstellung herumgespielt? Probieren Sie CR, LF oder CR/LF.

- Ihr Modem braucht vielleicht einige Zeit, um auf seine Initialisierung zu antworten. Öffnen Sie den Modembefehle-Dialog auf der Modem-Karteikarte und stellen Sie die Verzögerungen Pre-Init und Post-Init ein. Probieren Sie, ob Sie erfolgreich sind, wenn Sie die Werte drastisch senken und stellen Sie sie dann später genauer ein.

## 7.1.6 Der Verbindungsaufbau funktioniert gut, aber ich kann keine Programme starten.

Sie haben vielleicht die Option "Konfiguriere Hostname automatisch von dieser IP" aktiviert und der X-Server hat Probleme zum neu eingestellten Hostnamen zu verbinden. Falls Sie diese Option wirklich benötigen (wahrscheinlich eher nicht), müssen Sie auf eigene Faust die nötigen Authorisationen einstellen.

Eingabe von "`xhost +`" löst das Problem, aber seien Sie gewarnt vor Sicherheitsrisiken, die sich daraus ergeben, da dann jeder Zugang zu Ihrem X-Server hat.

## 7.1.7 Kppp meldet einen erfolgreichen Verbindungsaufbau, aber Netscape sagt nur "The server does not have a DNS entry"

Versuchen Sie, mit ping einen anderen Server über seine IP-Adresse, zu erreichen, `ping 195.0.254.76`. Wenn das funktioniert, sollten Sie

- prüfen, ob Sie mindestens eine DNS-Adresse angegeben haben.

- den Inhalt von `/etc/host.conf` prüfen. Es sollte eine Zeile vorhanden sein, in der etwas ähnliches wie `order hosts, bind` steht. Der `bind`-Schlüsselbegriff sagt der resolver-Bibliothek, daß sie einen Nameserver einbinden soll, wenn Sie eine Adresse sucht.

## 7.1.8 Wie bringe ich Kppp dazu, ein \n oder ein \r zu senden?

Schicken Sie einfach eine leere Zeichenfolge, so wie im folgenden Skript:

     Send                   # eine leere Zeichenfolge senden
     Expect      ID:
     Send        itsme
     Expect      word:
     Send        forgot
     Expect      granted
     Send        ppp

## 7.1.9 Kppp beschwert sich: ``kann keine Modemsperrung erzeugen''

Das bedeutet, daß Sie keine Berechtigung haben, eine Sperrdatei zu erzeugen. Wenn Sie eine Sperrdatei benutzen wollen, müssen Sie Schreibrechte in dem Verzeichnis haben, indem die Datei erzeugt werden soll (typischerweise /var/lock). Das ist natürlich kein Problem, wenn Sie Kppp SETUID-Berechtigung gegeben haben. Lesen Sie bitte den Abschnitt über die Modem-Sperrdatei.

## 7.1.10 Mein Modem macht beim Wählen großen Lärm!

Klicken Sie auf Einstellungen/Modem Sie können die Lautstärke des Modems hier in drei Schritten einstellen: aus, mittel, groß. Bei den meisten Modems bekommen Sie die gleiche Lautstärke für "mittel" und "groß". Falls das nicht funktioniert, stellen Sie sicher, daß Sie die richtigen Einstellungen in Einstellungen/Modem/Modembefehle eingestellt haben"

## 7.1.11 Ich habe die Modemlautstärke ausgeschaltet und die Modembefehle überprüft, aber ich höre immer noch Wählgeräusche!

Der Lautstärke-Befehl kann verloren gehen, wenn Ihr Modem nicht mit der Geschwindigkeit zurechtkommt, in der es die Befehle von Kppp erhält. Verringern Sie den Wert der "Post-Init Verzögerung" in Einstellungen/Modem/Modembefehle.

## 7.1.12 Kppp meldet ungewöhnliche Modemgeschwindigkeiten, wie 115200, 57600 oder ähnliches

Viele Modems melden standardmäßig nur die Geschwindigkeit der seriellen Schnittstelle und nicht die Geschwindigkeit über die Telefonleitung. Sie müssen diese Modem erst so einstellen, daß Sie die wirkliche Datenübertragungsgeschwindigkeit melden (fügen Sie dies dem Init- oder Wählstring bei). Bei vielen Modems ist der Befehl ATW2. Wenn Sie dies dem Wählstring (typischerweise ATD) beifügen wollen, wäre der neue Wählstring ATW2D.

## 7.1.13 Kppp meldet "Unbekannte Geschwindigkeit"

Neue Modems haben oft komplizierte Verbindungsmeldungen wie "CONNECT LAP.M/V42.bis/115000:RX/31200:TX", und Kppp kann die Nachrichten nicht korrekt behandeln. Schalten Sie Zeige Log-Fenster ein, und Sie werden die Verbindungsgeschwindigkeit sehen. Ich arbeite gerade an einer Lösung dieses Problems, und der Parser ist schon viel besser, aber immer noch nicht perfekt.

## 7.1.14 Langsame Übertragungsgeschwindigkeiten

Wenn Sie mit der Modemgeschwindigkeit nicht zufrieden sind, stellen Sie sicher, daß die Verbindungsgeschwindigkeit (Einstellungen/Gerät/Geschwindigkeit) auf 57600 oder höher eingestellt ist. Stellen Sie sicher, daß Ihre serielle Schnittstelle höhere Geschwindigkeiten unterstützt. Viele auf i486 basierende Systeme arbeiten nicht korrekt, wenn die Geschwindigkeit auf 115200 eingestellt ist. Wenn Sie einen 8250 UART Chip haben, wird es nicht funktionieren. Wenn Sie einen 16550 oder 16550A haben, sollte es problemlos funktionieren.

Schauen Sie zusätzlich in Ihrem Modem-Handbuch nach Init-Strings, die den Hochgeschwindigkeit-Modus aktivieren.

## 7.1.15 SEHR langsame Übertragungsgeschwindigkeiten

Wenn die Datenübertragungsrate nur ein paar Byte pro Minute beträgt, sollten Sie Ihre Hardware-Einstellungen überprüfen. Falls Bewegungen der Maus die Datenübertragung beschleunigen, ist das auf jeden Fall ein Hardwareproblem.

Sie erhalten Informationen über Ihre serielle Schnittstelle mit `setserial -a /dev/ttySx`. Schauen Sie nach Interrupt-Konflikten mit anderen Komponenten Ihres Systems.

## 7.1.16 Meine Telefonleitung benutzt das Impuls- anstatt das Tonwahlverfahren (oder umgekehrt)

Sie müssen den Modem-Wählstring verändern. Fast alle Modems unterstützen die folgenden AT-Befehle:

- ATDT - aktiviert das Tonwahlverfahren

- ATDP - aktiviert das Impulswahlverfahren

## 7.1.17 Kppp macht sehr komische Dinge (was auch immer)

Haben Sie Kppp oder die Bibliotheken mit gcc-2.8 kompiliert? Diese Version des gcc hat ein paar Fehler und arbeitet nicht wie erwartet.

## 7.1.18 Wie schreibe ich eine Telefongebühren-Regel?

Sehen Sie sich die `TEMPLATE`-Regeldatei, die bei Kppp dabei ist, an. Sie sollten eine Kopie davon in `$KDEDIR/doc/HTML/en/kppp` finden. Benutzen Sie den Kommandozeilen-Parameter `-r` von Kppp, um die Syntax Ihrer Gebührenregel-Datei zu überprüfen.

## 7.1.19 Ich habe eine Gebührenregel-Datei für meine Region geschrieben. Wem kann ich sie schicken, so daß auch andere sie nutzen können?

Ich nehme gerne jegliche geschriebene Regeldatei. Ich mache Sie verfügbar auf meiner Kppp- Webseite. Bevor Sie mir eine neue Regeldatei senden, stellen Sie sicher, daß sie nicht bereits auf der Kppp-Webseite verfügbar ist. Dann senden Sie die neue Regeldatei an mich.

## 7.1.20 Kann meine Telefongebühren-Regeldatei Bruchteile einer Zeiteinheit enthalten, z.B. "(0.17,45.5)"?

Ja, das ist möglich. Aber Sie sollten kein ungewöhnlich kleinen Bruchteile benutzen (unter einer 1/10 Sekunde), da dies in einer höheren CPU-Belastung resultieren würde. (Obwohl ich nicht glaube, daß Sie das bei einer modernen CPU bemerken würden.:-)

## 7.1.21 Mein Land hat außer Ostern noch einen verschiebbaren Feiertag.

In diesem Fall müssen Sie neuen Code schreiben, der Ihnen die Berechnung dieses Feiertags ermöglicht. Sehen Sie in `ruleset.cpp` nach und imitieren Sie das ``easter''-Beispiel. Dann senden Sie mir die Patches.