Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Modememulator für Linux gesucht

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

grra

Modememulator für Linux gesucht

Beitrag von grra » 3. Apr 2009, 18:38

Hallo,

ich suche eine Möglichkeit unter Linux ein Modem zu emulieren welches folgende AT Befehle beherrschen soll:

AT returns OK

ATA returns CONNECT

ATD<number> returns CONNECT

Danke für eure Hilfe

Achja mein BS ist Suse Linux 10.1

Werbung:
Benutzeravatar
tomm.fa
Moderator
Moderator
Beiträge: 5313
Registriert: 21. Jan 2006, 17:18
Wohnort: OWL - Kreis Gütersloh
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von tomm.fa » 3. Apr 2009, 19:42

In wie vielen und welchen Foren wurde die Frage noch gestellt? Wo sind die Links dazu?
Linupedia - Wiki des Linux-Club.
Keine Unterstützung/Hilfestellung per PN!

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 19:52

Hm, genau genommen müsste man sich da wohl nur ein permanent laufendes Script basteln was über eine als Device angegebene Named Pipe einkommende Befehle auswertet und die Antworten auf dieselbe Pipe weider zurückschickt. Unter dem Stcihwort Named Pipe in Kombination mit Shellscripting dürfte sich da doch was als Beispielscript finden lassen. Muss dann nur entsprechend den individuellen Anforderungen an die entsprechenden AT-Befehle mit vordefinierten Antworten angepast werden.

Bis denne,
Tom.

grra

Re: Modememulator für Linux gesucht

Beitrag von grra » 3. Apr 2009, 20:01

@Tomcat


Komme auch aus Kölle

Könntest Du mir bitte ein Beispiel posten?

Da ich noch blutiger Linuxanfänger bin.

Danke

;)

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 20:25

Hi!
Also erstmal muss man per

Code: Alles auswählen

mkfifo --mode=666 /home/user/meinpseudodevice
eine namend Pipe (auch bekannt als FIFO=First IN First Out) im Dateisystem anlegen mit einem Mode der sie auch beschreiben statt nur lesen lässt. In diesem Falle für alle beschreib+lesbar da ja noch niemand sagte welche Usergruppe oder welcher User da schreiben können sollte also hier im Beispiel mal für alle nutzbar.
Danach nutzt man diese named Pipe eben zum Beispüiel als Device im Terminalprogramm nach Wahl udn auf der anderen seite in einem Script als Einbagequlle udn Ausgabequelle
Beispiel für eine einmalige Auswertung:
Script, hier mal meinscript.sh genannt:

Code: Alles auswählen

#!/usr/bin/bash
if [ $@=AT then echo "ok" >/home/user/meinpseudodevice
else echo "Das war kein AT-Befehl sondern irgendwas anderes" >/home/user/meinpseudodevice
fi
Ich bin allerdings kein Progger und bin mir nicht sichwer ob $Q nun doch gleich die Variable für alle Eingaben über Standard-In War oder obs eine andere war, $1 $" usw. waren jedenfalls die Platzhalter für einzelteile von Parameterketten die man per Stanrad-In an ein Script beim Aufruf übergeben kann. In diesem Falle nun muss man nur die Eingabe vom Pseudodevce aka der named Pipe beim Aufruf des Script umbiegen, wie im folgenden Aufruf des obigen Scripts zu sehen wäre:

Code: Alles auswählen

meinscript.sh </home/user/meinpseudodevice
Naja,als Ansatz sollte man damit zumindest schonmal weiterkommen denke ich (Scripte bastel ich als Netzwerker eben nur bei Bedarf und dann eigentlich auch nur so kleinere Hilfsdinger*g*)

Bis denne,
Tom


grra

Re: Modememulator für Linux gesucht

Beitrag von grra » 3. Apr 2009, 20:40

Ach du Sch** das sagt mir jetz garnix :irre:

Ich hab noch folgendes gefunden Wie richte ich das unter SUSE 10.1 ein?


Dazu gibt es (zumindest bei SuSE-Distributionen) die Devices <b>ttyI0 .. ttyI15</b>, die eine "Serielle" schnittstelle zum i4l bieten. Wenn Du ein terminalprogramm (minicom) startest und im setup /dev/ttyI0 als modem angibst, kannst du ganz "normal" hayes-kommandos abgeben und so mit deiner Karte "reden".

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 20:53

Das aus deinem geposteten Zitat (was du per Quote-Tags mal als solches kenntlich machen solltest) bezieht sich auf die Terminals einer ISDN-Karteninstallation per isdn4linux. Hat also nix mit einem Modememulator als Script zu tun sondern sind Schnittsellen der isdn4linux API wo du direkt mit der ISDN-Karte kommunizierst. Abgesehen vom Multiposting das du voerher nicht erwähntest (blöder Stil sowas nicht zu erwähnen was meist in Verwirrungen beim Lösungsweg ausartet) wäre es vielleicht mal nicht verkehrt wenn du überhaupt erstmal nun sagst was du mit einem Modememulator willst. Eine Software testen?Da wäre das Beispiel oben für zu gebrauchen. Wenn du jedoch ein reales gerät ansprechen willst brauchst du keinen Modememulator sondern einen Treiber für das entsprechende Gerät der dir vielleicht eine Modememulation auf HARDWARESEITE zugänglich macht. Nur, ohne weitere Infos artet das Ganze im Stochern im dunkeln aus und das bringt so nun nix,daher bite erstmal das Einsatzgebiet definieren damit dir da noch weitergeholfen werden kann.

Bis denne,
Tom

grra

Re: Modememulator für Linux gesucht

Beitrag von grra » 3. Apr 2009, 20:58

Hallo

Im Prinzip suche ich eine Modematrappe für Linux die alle AT bzw. Hayaskommandos unterstüzt.

Kurzum

eine alternative zu diesem treiber vom ms für linux

msdn.microsoft.com/en-us/library/dd163315.aspx

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 21:11

Dann suchst du also keinen Modememulator sondern einen Treiber für Winmodems/Softmodems wenn ichd as richtig verstanden habe? Das ist eine ganz andere Baustelle. Da fallen mir auf Anhieb nur die alten Smartlink und Linuxant Treiber ein. Die müssten bei dir über YaST von der DVD zu laden sein,denn online weiss ich nun nicht ob für deine absolut veraltete opensuse Version überhaupt das oss und das non-oss Repo überhaupt noch erreichbar ist da diese Version von opensuse die du da nutzt schon seit anno Piefendeckel aus dem Support raus ist.

Bis denne,
Tom
[Edit]P.S.:Falls ich das nun wieder missverstanden haben sollte könnte es daran liegen daß du immer noch nicht gepostet hast wofür du das nun zu benötigen gedenkst, denn du hattest noch nicht gepostet was der beabsichtige Einsatzbereich war sondern nur was du denkst was du brauchst...daher hatte ich nun einfach mal etwas herumgeraten*g*[/EDIT]
[Edit2]Ach,übrigens: Es gibt nicht "DEN AT-Befehlssatz da jeder Modemhersteller seine eigenen Erweiterungen eingebaut hat die teilweise auf die gleichen Parameter was ganz anderes bewirken können...welches Modem solls denn emulieren? Bei obigem Beispielscript kannst du als Antworten ja jeweils eine passende IF-Abfrage oder besser noch ein Case Muster einbauen um das gewünschte ergebnis zu erhalten,musst eben nur dafür sorgem daß das Script dann in einer Schleife läuft bis z.b. ein ATZ oder ein +++ATH auftaucht (letzteres war der ZWangs-HangUp Code für alle Hayes kompatiblen Modems)[/Edit2]
Zuletzt geändert von TomcatMJ am 3. Apr 2009, 21:18, insgesamt 1-mal geändert.

grra

Re: Modememulator für Linux gesucht

Beitrag von grra » 3. Apr 2009, 21:16

Hallo

Ja ich suche eine Modematrappe bzw. ein virtuelles Modem für Linux.

Das Modem soll diese AT Befehle mit OK bzw. CONNECT beantworten.

AT returns OK

ATA returns CONNECT

ATD<number> returns CONNECT

Gibs denn kein Standartmodem oder sowas für Linux welches man unabhängig ob man ein echtes modem am rechner hat instaliert werden kann und welches die AT Befehkle unterstüzt die ich oben gepostet habe?

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 21:22

Virtueloe Terminaldevices hast du doch schon, beispielsweise /dev/tty11 und /dev/tty12 wo du per Strg-Alt-F11 bzw. Strg-Alt-F12 drauf umschalten kannst um dir anzusehen was dort ankommt und wo du per Strg-Alt-F7 wieder zum X-Server zurückkommst, nur antworten die eben nicht. Dafür kannst du dann eben dort selbst nachsehen was ankam. für alles andere baut man sich ein Script über die named Pipes. Nur: Wozu sollte man sowas bitte brauchen außer zum Softwareentwickeln?? Es fehlt immer noch der beabsichtigte Einsatzbereich um dir da endlich mal was konkreteres zu sagen zu können! Was willst du also damit veranstalten daß du sowas brauchst? Ohne die Info kann man dir eben nicht wirklich weiterhelfen....ergo gibst du entweder mal die Info raus oder probierst es einfach m,al mit dem Beispielscript...mehr geht ohne weitere Infos einfach nicht.Punkt.

Bis denne,
Tom
P.S.:Woher sollen wir hier wissen auf welche Art dein Modem da herumstehen soll? Auf eine Standardart oder auf eine andere?*scnr*

grra

Re: Modememulator für Linux gesucht

Beitrag von grra » 3. Apr 2009, 21:31

Hallo

ich möchte damit bestimmte sachen austesten.

Unter anderem ein Terminalprogramm

Kannst Du mir nochmals genau beschreiben wie ich das virtuelle modem jetzt unter SUSElinux einrichten muss?

Danke

Und es soll im Terminalproggi auf AT mit OK auf atdt 0191011 mit connect antworten usw..

Achja

Und kannst Du mir sagen wie ich das ganze in der Konsole einrichte?
Zuletzt geändert von grra am 3. Apr 2009, 21:38, insgesamt 1-mal geändert.

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 21:37

Wie man eine named Pipe/ein FIFO einrichtet Steht alles schonn oben beim Script. Nur wenn du weitere Befehle da als zu beantworten drinstehen hast dann solltest du eben vor dem else ein elif reinsetzen mit der weiteren zu testenden Bedingung:

Code: Alles auswählen

    #!/usr/bin/bash
    if [ $@=AT then echo "OK" >/home/user/meinpseudodevice
    elif [ $@="ATDT 0191011 " echo "CONNECT" >/home/user/meinpseudodevice
    else echo "Das war keine der Bedingungen sondern irgendwas anderes" >/home/user/meinpseudodevice
    fi
Bis denne,
Tom

grra

Re: Modememulator für Linux gesucht

Beitrag von grra » 3. Apr 2009, 21:40

KannstDu mal Screens posten wie ich das ganze mit SUSE 10.1 einrichte?
Oder mir den Code kompilieren und mir das so einzurichten das ich damit jede nummer per atdt wählen kann und er immer mit CONNECT antwortet?
Danke
Zuletzt geändert von grra am 3. Apr 2009, 21:58, insgesamt 1-mal geändert.

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 21:54

Nein da ich a.) selbst keinen Bedarf für Fifos habe, b.) das Ganze in der Kommandozeile aka Shell auszuführen ist und da Screenshots Unfug wären und c.) der Quellcode des Scripts ja da schon steht genauso wie die Befehle die man eingeben muss in der Shell um das Script zu starten. Es wartet einfach bis ein Enter am Ende kommt und die Zeile dann als EIngabe anzunehmen,willst du es öfter als einmal aufrufen dann solltest du es eben einfach oft genug hintereinander aufrufen oder eben in einem weiteren Script in einer endlosschleife aufrufen bis Strg-C zum Abbruch gedrückt wurde, am besten mit einem Sleep Befehl damit du Zeit genug hast das Script mit der Schleife auch zu unterbrechen.
Wie gesagt,ich bin kein Progger und habe auch nicht vor einer zu werden,das Script oben war mal eben kurz aus Theoretischen Überlegungen in Kombination mit normalen Shellfunktionen entsanden,umfangreicheres musst du dr da schon selbst bauen....oder nen Progger fragen ob ers dir bastelt (vermutlich wird dann nur die Frage kommen"Wieviel bietest du dafür wenn du schon keine Lust hast selbst durch einfach mal machen und Doku zu lesen zu lernen?")....

Bis denne,
Tom
[Edit]P.S.:Paar kleine Hints zum Thema Doku: siehe "man bash" udn "man test" denn [ ist ein Shortalias für den Befehl test...[/Edit] http://www.linupedia.org/opensuse/Shell

grra

Re: Modememulator für Linux gesucht

Beitrag von grra » 3. Apr 2009, 22:01

d.h. was muss ich jetzt genau in die Konsole eintippen?

Und wie kann ich dann mit atdt jede nummer wählen die er mit dann immer mit connect beantworten soll?

Benutzeravatar
longman
Advanced Hacker
Advanced Hacker
Beiträge: 866
Registriert: 22. Apr 2004, 19:01
Wohnort: zuhause

Re: Modememulator für Linux gesucht

Beitrag von longman » 3. Apr 2009, 22:05

Wieso hängst Du nicht für 2 Euro 50 ein echtes serielles Modem an Deine Kiste
und testest alle Hayes Befehle bis der Arzt kommt ?

zur Zeit: 1 Euro http://cgi.ebay.de/V-32-bis-14400-BPS- ... dZViewItem

Dann kannst Du sogar, wenn Du fertig getestet hast, damit Faxe verschicken (je nach Telefonanschluss/Anbieter) .
Tschüss bis neulich,
Gruss Burkhard aka longman
- This System is MS free and works fine -


Linupedia - Wiki des Linux Club | NICHT LESEN! AUF GAR KEINEN FALL! NIEMALS NICHT!

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 22:09

Mach einen x-beliebigen Texteditor, z.B. kwrite auf, kopier dir das Script da rein und speicher es unter dem Namen unter dem du es aufrufen willst. Dann machst du eine Konsole auf, tippst den Befehl zum erstellen einer named Pipe den ich oben bereits schrieb dort rein udn rufe dein Script genau so auf wie ich es oben bereits schrieb,aber inklusive der Pfadangabe. Wenn du also in dem Pfad bist in dem du es gespeicher hast mit

Code: Alles auswählen

sh ./meinscript.sh </home/user/meinpseudodevice
oder du machst es mit

Code: Alles auswählen

chmod +x meinscript.sh
vorher noch direkt ausführbar,dann reicht

Code: Alles auswählen

./meinscript.sh </home/user/meinpseudodevice
Um nun zu erreichen daß auf jede Nummer ein "Connect" gemeldet wird solltest du die zweite Bedingung noch von

Code: Alles auswählen

¼@="ATDT 0191011"
auf

Code: Alles auswählen

$!=ATDT
ändern damit nur der erste Teil ausgewertet wird unabhängig sonstiger folgender Teile (die ja durch das Leerzeichen voneinander abgetrennt wären).

Bis denne,
Tom

Benutzeravatar
TomcatMJ
Guru
Guru
Beiträge: 2480
Registriert: 1. Apr 2004, 00:29
Wohnort: Köln
Kontaktdaten:

Re: Modememulator für Linux gesucht

Beitrag von TomcatMJ » 3. Apr 2009, 22:10

longman hat geschrieben:Wieso hängst Du nicht für 2 Euro 50 ein echtes serielles Modem an Deine Kiste
und testest alle Hayes Befehle bis der Arzt kommt ?
...inkl. der Telefonrechnung für die ganzen Connects am Ende?*g*

Antworten