SuSE Support-Datenbank

Titel: T-Online: Verbindung wird nicht aufgebaut

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel ---

T-Online: Verbindung wird nicht aufgebaut

Symptom:

Das dip-Script tonline.dip baut keine Verbindung auf. Es erscheint z.B. folgende Fehlermeldung:
Fehler T-Online Rechner schaltet nicht auf SLIP um!!

Ursache:

  1. Einige Einwählknoten brauchen wohl etwas mehr Zeit...
    Es scheint sich lediglich um ein Timing-Problem zu handeln.
  2. Einige Einwählknoten haben die Einlog-Sequenz geändert; vor der Mitbenutzernummer muß nun auch die Teilnehmernummer (bzw. ein Return) gesendet werden.
  3. Die T-Online-Rechner sind anscheinend sehr überlastet. Es wird ausgegeben, daß das Gateway nicht erreichbar ist. Näheres siehe unten.
  4. Laut Telekom (!) soll die MTU auf 576 gesetzt werden. Näheres ist mir nicht bekannt.

Lösung:

  1. Setzen Sie die Timeoutwerte auf 30 oder sogar 60 Sekunden hoch (siehe Kommentare).
  2. Senden Sie ein zusätzliches Return, siehe Kommentar im Script.
Tip: Starten Sie dip mit der Verbose-Option, um zu verfolgen, was erwartet und gesendet wird.
	dip -v tonline.dip

Hier nochmal das ganze Script:

#
# tonline.dip
# DIP script to connect to T-Online
# Written by Klaus Franken (kfr@suse.de)
# Stand: 20.01.97
#
# Please check "http://www.suse.de/sdb/de/html/t_online3.html"
#
# Ersetzen:
#   @btxkennung@  -> BTX-Kennung, z.B.    123456789012
#   @btxpasswort@ -> BTX-Passwort, z.B.   12345678
#
# Fuer 28.8er Zugang:
#   Aendern Sie die Telefon-Nr., z.B. 071119304 fuer Stuttgart
#
# Die Modeminitialisierung haengt natuerlich immer vom verwendeten Modem
# ab. Z.B. "AT&F" fuer schnelle Zugaenge...
#
# Thanks to 
#   Reinhold Schoeb (schoeba@str.daimler-benz.com)
#   Detlef Plotzky (plo@bvu.de)
#
# Mehrmaliges Anwählen des Gateways by:
#   Bert Bergner (Bert.Bergner@t-online.de), 09-Jan-1997

main:

  # Setze Port und Geschwindigkeit
  port /dev/modem
  speed 38400

  # Initialisiere Modem
  reset
  send AT S7=45 S0=0 L1 V1 X4 &C1 E1 Q0\r
  wait OK 10
  if $errlvl != 0 goto error-modem

  # waehlen
  print Waehle ...
  send atdt01910\r
  wait BUSY 8
  if $errlvl == 0 goto error-busy
  wait CONNECT 30
  if $errlvl != 0 goto error-connect

  # The Timing-Problem
  # Siehe "Das Problem mit dem vt100-Modus"
  #################################################
  # Quick&Dirty:
  # folgender Sleep-Wert muss durch Try&Error ermittelt werden:
  # circa 1 bis 3 Skunden warten:
  sleep 3
  #################################################
  # anstatt "sleep" besser:
  # warte auf eine binaere Null 
  # folgendes klappt nur mit einem gepatchten 'dip' (s.u.)
  # wait \0 10
  # if $errlvl != 0 goto error-connect
  #################################################
  echo Gehe in vt100-Modus ...
  send .\r


login:
  # Einloggen beim Server
  wait kennung 15
  if $errlvl != 0 goto error-kennung
  print Sende Kennung ...
  send @btxkennung@

  wait wort 10
  if $errlvl != 0 goto error-passwd

  # Ev. die beiden folgenden Zeilen auskommentieren
  #print Sende Teilnehmernummer ...
  #send \r

  print Sende Mitbenutzernummer ...
  send \r
  print Sende Passwort
  send @btxpasswort@

  wait Btx-Gast 2
  if $errlvl == 0 goto error-login
  print Gehe zum Internet-Uebergang ...
  send *190144100#

  # RepeatCounter mit 0 initialisieren
  get $RCnt 0

Wiederholung:
  wait nberechtigt 2
  if $errlvl == 0 goto error-login
  print Sende Bestaetigung ...
  send 19

  # Timeout ev. noch hoeher setzen, z.B. 60
  wait OK 20
  if $errlvl == 0 goto Weiter

  # by Bert Bergner (Bert.Bergner@t-online.de):
  # wenn Error, dann Counter inkrementieren, eine 1 senden und zur
  # Wiederholungs-Marke springen, wenn Abbruchbedingung (10. Wieder-
  # holung) erreicht, dann entgueltiger Abbruch
  if $RCnt == 10 goto error-gateway
  inc $RCnt
  print Gateway nicht verfügbar, $RCnt . Wiederholung ....
  send 1
  goto Wiederholung


Weiter:
  print Bestimme IP-Nummern ...
  send LIN\r

  # Timeout ev. noch hoeher setzen, z.B. 60
  wait YOURIP 50
  if $errlvl != 0 goto error-yourip
  get $local remote 1

  # Timeout ev. noch hoeher setzen, z.B. 60
  wait DESTIP 10
  if $errlvl != 0 goto error-destip
  get $remote remote 1

  print Sende Start-Kommando ...
  send OK\r

done:
  # ev. auf 576 setzen
  get $mtu 296
  get $netmask 255.255.255.254
  default
  print Internet-Verbindung gestartet: $locip ---> $rmtip !
  mode CSLIP
  goto esc

error-modem:
  print Fehler kein Modem!
  goto exit
error-busy:
  print Fehler Besetzt!
  goto exit
error-login:
  print Fehler Falsche Kennung!
  goto exit
error-connect:
  print Fehler beim Einwaehlen!
  goto exit
error-gateway:
  print Gateway-Rechner nicht verfuegbar!
  print Siehe http://www.suse.de/sdb/de/html/t_online3.html
  goto exit
error-kennung:
  print Fehler Server fragt nicht nach Kennung!
  print Vermutlich ein Problem mit dem vt100-Modus
  print Siehe http://www.suse.de/sdb/de/html/t_online3.html
  goto exit
error-passwd:
  print Fehler Server fragt nicht nach Kennwort!
  goto exit
error-ok:
  print Fehler T-Online Rechner schaltet nicht auf SLIP um!!
  goto exit
error-yourip:
  print Fehler lokale IP-Nummer kann nicht ermittelt werden!
  goto exit
error-destip:
  print Fehler Server-IP-Nummer kann nicht ermittelt werden!
  goto exit

exit:
  beep 2

esc:

Das Problem mit dem vt100-Modus:

Detlef Plotzky (plo@bvu.de) schreibt dazu:

das Umschalten von T-ONLINE in den VT100-Modus mit der Sequenz .\r ist weder vom Mond noch vom Zufall abhängig. Der T-ONLINE-Computer sendet in den ersten Sekunden-Bruchteilen nach dem CONNECT eine Anfrage nach das Endgerät (lt. Computer-Magazin c't immer ein x'00-Byte), die der Teilnehmer-Rechner u.a. mit .\r fuer VT100 beantworten kann.

Wenn der Rechner vor dieser Anfrage antwortet, wird dies ignoriert, wenn er zu spät antwortet, landet die Antwort in der Eingabe-Maske Anschluss-Kennung. Wenn er gar nicht antwortet, geht T-ONLINE in den CEPT-Modus, und man kann später noch auf der Seite *707# in den VT100-Modus schalten (ist aber deutlich umständlicher, im CEPT den LOGIN hinzukriegen, da eine Menge Steuerzeichen zwischen den Nutzdaten stehen).

Die Zeit zwischen CONNECT und Anfrage schwankt leider stark je nach Einwahl-Ort. Ausserdem beginnt nach meiner Erfahrung diese Anfrage nicht immer mit einem x00-Byte. Darum habe ich fuer das OS/2-Programm ISDNPM (sozusagen ein DIP fuer ISDN) ein Login-Skript geschrieben, das auf das erste Byte wartet - egal welches - , und dann mit .\r antwortet. Das funktioniert dann recht zuverlässig. Die Login-Skripte der T-ONLINE warten statt dessen meistens 1 sec nach dem CONNECT, aber das geht ziemlich oft daneben.

Wie man die zuverlässigste Methode "Warten auf irgendein Byte nach dem CONNECT ... \r\n" unter DIP implementiert, weiss ich leider auch nicht, aber ja vielleicht irgendjemand von Ihnen.

Ansonsten besser nach dem CONNECT 1sec (oder eine andere Zeitspanne, die man experimentell ermitteln muss) warten.

dip patchen

Mit der folgenden Änderung im dip-Programm kann man auch eine binäre Null im dip-Script warten (siehe Kommentar im Script).

Installieren Sie das Sourcepaket nkita_s und ergänzen Sie im Pfad von dip, Datei dip-3.3.7o/command.c folgende Zeilen:

    if (c == '\0') return(c);
  
    switch(c) {
+ 	case '0':
+ 		return('\0');
+ 
  	case 'a':
  		return('\a');

Siehe unten Sourcepakete verwalten.


Schnelle Zugänge:

Reinhold Schoeb berichtet, daß für den 28.8er Zugang folgende Änderung durchgeführt werden musste:

Original:

wait BUSY 8
if $errlvl == 0 goto error-busy
wait CONNECT 30
if $errlvl != 0 goto error-connect
send .\r
Neu>
wait BUSY 8
if $errlvl == 0 goto error-busy
wait astzugang 30
if $errlvl != 0 goto error-connect
send .\r
Warum das so ist, verstehen weder Reinhold noch ich....

Gateway-Rechner nicht erreichbar:

Hierzu schreibt Bert Bergner (Bert.Bergner@t-online.de):

Da der SLIP-Gateway bei T-Online in letzter Zeit sehr schwierig zu erreichen war (besonders in der Online-Rushhour ab 21.00 Uhr), habe ich eine Wieder- holungsschleife in das Zugangsskript eingebaut.

Nach Anwahl der Gateway-Seite wird vom T-Online Rechner des öfteren mitge- teilt, daß der Gateway z.Zt. nicht erreichbar ist. Das ursprüngliche Ein- wahlskript beendet daraufhin den Vorgang und man hat eine Telefoneinheit sowie die Onlinegebuehr fuer die 1. Minute in den Wind gesetzt. Man kann aber nach der Fehlermitteilung des Telekom-Rechners durch das Senden einer Eins den Gateway erneut anwählen, ohne dabei offline zu gehen. Ich habe die Abbruchbedingung auf 10 solcher Wiederholungen eingestellt. Damit wird im schlimmsten Fall der Einwahlvorgang beendet, bevor die erste Telefoneinheit im Mondschein- bzw. Nachttarif (4 min) abgelaufen ist. In der Praxis bekommt man die IP-Verbindung meist schon nach der 1. Wiederholung.

Credits

Weitere Informationen:

---

Siehe auch:

---

Stichwörter: TONLINE, T-ONLINE, SLIP, DIP

---

Kategorien: Provider

---

Übersicht ---- Stichwortsuche ---- History ---- Versionen ---- Kategorien ---- Alle Artikel ---

SDB-t_online3, Copyright SuSE GmbH, Nuremberg, Germany - Version: 07. Apr 1997
Impressum - Zuletzt generiert: 15. Mar 1999 16:11:51 by tg with sdb_gen 1.00.0