| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Janka

Anmeldungsdatum: 11.02.2006 Beiträge: 3295
|
Verfasst am: 30. Aug 2010 20:36 Titel: Daten auf seriellem Port / RS232 / TTY mitschneiden |
|
|
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: |
$ 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 Gast
|
|
| |
|
|
fantasia
Anmeldungsdatum: 03.04.2013 Beiträge: 10 Wohnort: berlin
|
Verfasst am: 15. Apr 2013 15:21 Titel: |
|
|
*Bookmark* _________________ Dies ist ein Text, der an jeden Beitrag von Ihnen angehängt werden kann. |
|
| |
|
|
|
|