Daten auf seriellem Port / RS232 / TTY mitschneiden

Post Reply
Message
Author
User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

Daten auf seriellem Port / RS232 / TTY mitschneiden

#1 Post by Janka »

Um einen Linux-Treiber für ein Gerät zu basteln, musste ich die Kommunikation des Windows-Zugriffsprogramms mit dem Gerät mitschneiden. Zum Glück funzte das Windows-Programm nach einigem Gehampel mittels Wine, so dass lediglich das Mitschneiden als Problem übrigblieb.

Ich habe dann erst einmal wie ein Eichhörnchen im Netz nach einer fertigen Lösung gesucht. Das Ergebnis war ernüchternd: Auf Freshmeat fand ich zum einen den "serial-sniffer", der wohl voraussetzt, dass man einen Linux-Rechner zwischen den Windows-Rechner und das Gerät hängt, was in meinem Fall ja gar nicht nötig ist. Zum anderen gibt es "slsnit", der im Prinzip genau das macht was ich brauche, jedoch nur, wenn die /dev/ptyXY-Devices verfügbar sind -- was seit einigen Jahren nicht mehr üblich ist, stattdessen gibt es /dev/ptmx und /dev/pts/.

Zum Glück fand sich mit dem Universal-Streamkoppler socat eine simple Lösung:

Code: Select all

$ socat -v -x PTY,link=~/.wine/dosdevices/com1:,raw /dev/ttyS0,raw
socat erzeugt unter ~/.wine/dosdevices/com1: ein PTY-Device, das für die Windows-Anwendung unter Wine genau wie ein COM-Port aussieht, inklusive aller ioctl()s, die zu einer seriellen Schnittstelle gehören. Das ganze wird 1:1 mit /dev/ttyS0 verbunden. Mitschneiden erlaubt socat nun mittels der Optionen -v und -x. Ein Hoch auf socat!

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

brum

socat

#2 Post by brum »

Cool, das Programm socat kannte ich noch nicht....
Habe da einen netten Link dazu gefunden:
http://technostuff.blogspot.de/2008/10/ ... mands.html

brum

fantasia
Posts: 10
Joined: 03. Apr 2013 19:38
Location: berlin

#3 Post by fantasia »

*Bookmark*
Dies ist ein Text, der an jeden Beitrag von Ihnen angehängt werden kann.

Post Reply