Einwahl über CGI + popen()

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
XT@ngel
User
Beiträge: 255
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

nabend,
ich will mich per Brower und CGI Script ins Internet einwählen
dazu benutze ich das Linux Programm wvdial.

In meinem Script steht folgender Code

Code: Alles auswählen

cmd = "/usr/bin/wvdial"
result = os.popen(cmd).readlines()
print result
Nur reagiert wvdial nicht (keine einwahl) und result enthält auch keinen Wert.
schreibe ich aber z.b

Code: Alles auswählen

cmd = "/usr/bin/wvdial -h"
Wird mir die hilfe des Programms ausgegeben.
Aber wieso funktioniert das mit der Einwahl nicht?

MfG
und Danke
Andraes
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Kenne zwar wvdial nicht direkt, weil ich perDSL surfe 8)

mal eine bescheidene Zwischenfrage: wenn du wvdial eintippst, bekommst du eine einwandfreie Connection.

Ich meine, dass manche Programm Programminfos über stderr zurückgeben. Propier doch statt popen() mal popen3().

Gibt schon einige Beispiele zu popen3() in diesem Forum

Hans
XT@ngel
User
Beiträge: 255
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

erstmal danke, hat mich schon um einiges weitergebracht :)
Nun liefert mir wvdia überl stderr folgendes zurück

Code: Alles auswählen

--> WvDial: Internet dialer version 1.42
--> Cannot open /dev/ttyS0: Device or resource busy
Was mir aber eigentlich als komisch erscheint, denn wenn ich wvdial über die Konsole starte, wird
einwandfrei eine Verbindung aufgebaut (sonst wäre ich ja jetzt net hier *g*)
Hat jemand eine Idee? Oder kennt jemand ein anderes Tool mit dem ich schnell und einfach eine Verbindung aufbauen kann?

MfG
Andreas
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Also erst mal kein Python Prob sondern ein Prob des OS.

Kannst jetz mal folgendes probieren:

Ermittle doch mal mit fuser -u /dev/ttyS0 wer da angeblich auf deinem Modemanschluß hockt. (Mit fuser -k könntest du den killen, aber denke nicht dass das die Lösung ist.)

Mach dir doch mal ein shellscrip, welches du von deinen Programm mit Beispielsweise bash -xv deinscript....... aufrufst. Dann wird dein Script richtig gespächig.

Wenn dein Script ausgeführt wird, welchem User ist dieses zugeordnet? Lass dein Script mal $LOGNAME und das Command logname ausgeben. $LOGNAME gibt den aktuellen User an während logname den User anzeigt, der sich auch eingeloggt hat. Nac einem su hast du z. B. unterschiedliche Loganmes.

Ich hoffe das führt schon mal weiter ans Prob ran. Die Lösung wird es sichrlich noch nicht sein.

Hans
XT@ngel
User
Beiträge: 255
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

thx hansi ;-)
Ich hab gestern Abend den Fehler noch gefunden.
Apache hatte nicht die nötigen rechte sich mit wvdial rauszuwählen. (mod_python)

MfG
Andreas
Antworten