From: Craig H. <cr...@gu...> - 2007-10-11 06:48:43
|
On Oct 10, 2007, at 7:31 PM, Dave Hylands wrote: > HI Scott, > >> I have an avionics box that sends constant binary data. When I >> hooked the >> avionics box up to HyperTerminal, I can see this data stream. On the >> gumstix, I want to connect this device to /dev/ttyS0 but I noticed >> that >> getty was taking control of this port trying to produce a login >> prompt. >> Under /etc/inittab I modified the getty to release control of /dev/ >> ttyS0 and >> now I have an open bidirectional ttyS0. I proved it by connecting >> HyperTerminal to /dev/ttyS0 on the gumstix and I could type >> characters from >> the HyperTerminal onto the gumstix and visa versa. When I hooked >> up the >> avionics box to the gumstix, and ran cat /dev/ttyS0 nothing shows >> up on my >> screen. I even tried tail /dev/ttyS0 and still nothing came cross >> the port. >> Shouldn't I see junk coming onto the gumstix from the avionics >> box? Anyone >> have any suggestions? > > cat won't setup the baud rate or other serial attributes. I like to > use a program I wrote called sertest. It opens the serial in raw > mode, and allows bidirectional communication with the serial port > (whereas cat is unidirectional). > > You can find sertest over here: > <http://docswiki.gumstix.com/Sample_code/C/Serial> I like to use socat for this kind of stuff, because it allows you to specify all the termios stuff on the command line, and lets you do neat tricks like pipe between the serial port and a raw TCP socket, eg: socat open:/dev/ttyS0,raw,clocal,B115200 stdio will connect a binary serial connection to a local device with no flow control at 115200bps to your current stdin/stdout, or socat open:/dev/ttyS0,raw,clocal,B115200 tcp4:somehost:1234 will connect the serial port to a TCP server running on somehost on port 1234, or even socat open:/dev/ttyS0,raw,clocal,B115200 tcp4-listen:1234 will open a TCP server to listen for inbound connections on port 1234 and then will connect those up to the serial port. Or if you enable openssl in socat, you can even use modes like openssl-listen which will automagically encrypt the TCP connection for you. socat is basically like netcat on steroids. C |