03-01-2013
I'd say that you would want to trace the program. On linux, the strace and ptrace commands would be the tools of choice I'd say. I typically use strace with the '-f' flag to instruct it to follow any child processes it starts.
You'll be able to see any raw writes and reads to the serial device.
To get deeper and actually capture the exact data flow, you'd likely need to create a named pipe, connect that to a script that just dumps all data it seems and then passes it on to the serial port, then point the code you are reverse engineering at your new dummy "serial port" device.
You might also be able to do something crafty with a windows PC and two serial ports. Connect one to the linux host, the other to the STB. Then write a short program to capture all serial traffic on either port, and send it to the other - ie a packet sniffer for serial traffic.
(I say windows just because it sounds like you are more comfortable coding on that)
4 More Discussions You Might Find Interesting
1. Programming
Hello,
I would like get idea about performance enginering from basic to advanced level. Do anyone know a place where i can find some videos related to performance engineering ? (5 Replies)
Discussion started by: shafi2all
5 Replies
2. Shell Programming and Scripting
Hi everyone!
Can you please help me with some shell scripting?
I have an input file input.txt
It has 3 columns (Time, Event, Value)
Time event Value
03:38:22 A 57
03:38:23 A 56
03:38:24 B 24
03:38:25 C 51
03:38:26 B 7
03:38:26 ... (7 Replies)
Discussion started by: Needhelp2
7 Replies
3. Shell Programming and Scripting
Hi,
this is fantastic forum for shell programming and scripting,
so please let me to introduce you with my very old concept to
have web form/s with radio, select, input fields
and have an application generating valid, syntax error free scripting code.
The same or alike questions are asked... (2 Replies)
Discussion started by: darius2
2 Replies
4. Solaris
I'm looking for help with a legacy system.
I have some obsolete equipment connected to an Ultra 60 running Solaris 5.7 with the binary for a 32 bit driver. The driver is rejected by newer versions of solaris, which run 64 bit kernels.
I hope to reverse engineer the driver so that I can... (0 Replies)
Discussion started by: obsoleteStuff
0 Replies
LEARN ABOUT DEBIAN
statserial
STATSERIAL(1) User Commands STATSERIAL(1)
NAME
statserial - display serial port modem status lines
SYNOPSIS
statserial [-n | -d | -x] <device-name>
DESCRIPTION
Statserial displays a table of the signals on a standard 9-pin or 25-pin serial port, and indicates the status of the handshaking lines. It
can be useful for debugging problems with serial ports or modems.
The optional device-name parameter is the full name of the device file for the serial port in question. If not specified, the default is
taken from the environment variable MODEM if set, otherwise /dev/cua1.
COMMAND-LINE OPTIONS
Each of the command line options is mutually exclusive.
-n Normally statserial will loop continuously, updating the status at one second intervals; you can exit using Control-C. The -n option
disables looping.
-d
With this option the status of the modem is printed as a decimal number. The bits are encoded as follows (XXX indicates unused bits):
+---+---+---+---+---+---+---+---+---+
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+---+
|DSR|RI |DCD|CTS|XXX|XXX|RTS|DTR|XXX|
+---+---+---+---+---+---+---+---+---+
-x This option is the same as -d, except that the output is in hexadecimal.
BUGS
/LIMITATIONS
Statserial only works with devices that support the TIOCMGET ioctl.
You need permission to read the device file.
The device file may be locked if other applications are using it.
AUTHOR
Statserial was written by Jeff Tranter (Jeff_Tranter@Mitel.COM), later updated by Frank Baumgart (godot@uni-paderborn.de) and is released
under the conditions of the GNU General Public License. See the file COPYING and notes in the source code for details.
SEE ALSO
setserial(8) stty(1)
/usr/src/linux/drivers/char/serial.c /usr/include/linux/termios.h
Linux 17 December 1994 STATSERIAL(1)