Forum: PC-Programmierung dev/ttyS0 over TCP


von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

Hallo Gemeinde,

kennt ihr eine Möglichkeit die serielle Schnittstelle über TCP/IP laufen 
zu lassen. Ich habe einen Rechner mit OpenSuse 13.2 und einen 
Mikrocontroller der RS232 spricht. Dazwischen habe ich eine EXSYS 
EX-6030.

Irgendwie bekomme ich ständig eine TimeOut Meldung an dev/ttyS0...

Ich habe "Serial over Ethernet" evesec 5.1 die Linux-Konsolen-Version 
versucht. Das Wiki durch gearbeitet und alles möglichen und unmöglichen 
Dinge versucht.

Das muss doch irgendwie gehen? Und sicher haben auch einige von euch 
sich damit schon beschäftigt. Bitte lasst mich und die Gemeinschaft an 
euren Erfahrungen teilhaben.

Vielen Dank

*Info http://wiki.eltima.com/user-guides/sec-linux.html

: Bearbeitet durch User
von Tom T. (kyu)


Lesenswert?

Schau dir mal socat an, damit solltest du die EXSYS anbinden können. 
Schnelles gurgeln fördert z.b. das hier zu Tage: 
http://www.linuxforen.de/forums/showthread.php?268336-exsys-device-server-Serial-over-Ethernet-(EX-6030)

von Sheeva P. (sheevaplug)


Lesenswert?

Rene S. schrieb:
> kennt ihr eine Möglichkeit die serielle Schnittstelle über TCP/IP laufen
> zu lassen. Ich habe einen Rechner mit OpenSuse 13.2 und einen
> Mikrocontroller der RS232 spricht. Dazwischen habe ich eine EXSYS
> EX-6030.

Das Gerät kenne ich leider nicht, aber...

> Irgendwie bekomme ich ständig eine TimeOut Meldung an dev/ttyS0...

...bei /dev/ttyS0 kommt mir der Gedanke, daß das üblicherweise die erste 
serielle Schnittstelle des Rechners ist. Wenn Dein Rechner also noch 
eine echte serielle Schnittstelle hat, dann repräsentiert /dev/ttyS0 
vermutlich nicht das EXSYS-Gerät. (Zum Beispiel bei meinem Rechner ist 
die serielle Schnittstelle zwar auf den Mainboard vorhanden, aber nicht 
aus dem Gehäuse herausgeführt.)

Du kannst herausfinden, was an /dev/ttyS0 hängt, indem Du den Befehl
1
dmesg | grep ttyS0

eingibst. Wenn dabei etwa so etwas
1
[    0.769622] 00:02: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

herauskommt, dann ist /dev/ttyS0 der UART-Baustein auf Deinem Mainboard 
und das EXSYS-Gerät hat eine andere Gerätedatei. Um herauszufinden, 
welche das ist, können die Ausgaben von "ls -l /dev/tty*", "dmesg", 
sowie die Systemlogs (/var/log/syslog) helfen.

In welchem Programm bekommst Du denn die Timeout-Meldung?

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

Danke für die Antworten!

@Tom T.: Google kenne ich und hab es natürlich auch benutzt.

@Sheeva Plug: Das war die richtige Richtung!

Ich benutze mehrere EX-6030 und wollte /dev/ttyS0 bis /dev/ttyS5 
verwenden. Aber die ersten beiden sind "echte" Schnittstellen am System.

Jetzt benutze ich virtuelle Schnittstellen /tmp/dev1 bis /tmp/dev6. Und 
habe mit 'evesec' auch auf virtuelle Schnittstellen umgebaut.

Siehe da es funktioniert und sogar richtig gut.

Danke nochmal
Grüße aus Berlin

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.