Results 1 to 5 of 5
I have a problem with a serialport RS-232. I am trying to read data from serial port but it seems to be corrupted. OS is Debian linux. I have tested ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 07-11-2006 #1Just Joined!
- Join Date
- Jul 2006
- Posts
- 5
Serialport configuration
I have a problem with a serialport RS-232. I am trying to read data from serial port but it seems to be corrupted. OS is Debian linux. I have tested to read it also with a laptop with Windows and then the data is not corrupted.
Device that is connected to the serial port is configured to communicate with 9600 bps, 8 data bits, none parity, 1 stop bit, none flow control. Message is in UTF-8 format.
I have tried to listen serial port with cat:
machi:/dev# ls -la /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 2006-07-11 11:29 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 2005-02-26 08:39 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 2005-02-26 08:39 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 2005-02-26 08:39 /dev/ttyS3
crw-rw---- 1 root dialout 4, 68 2005-02-26 08:39 /dev/ttyS4
machi:/dev# cat /dev/ttyS0
<M2MYML verO¤l вэµµҐ№Хщ
µхХMСн§щЭ=Хсб}t±Рбdхrgs{="tMME""se|O»Mу&&лНЅгЕrєvў ўІ"®ЄТЄІ~цвЅ:Ѕ·µ
№µэк~jЙ·a5qщТдоооооочооооооооопопочооооооооюпооюоо пооопопюоюооюоооооооооооооопоооооооопоооооооюоююоо ооооозоччюооооооопопоооопоопооооопюооююочооооюопоо юооооооопоюоооюооооюоооочччячюочоопоооюооопооооооо оопопочоооюоооооооопоооооооооюоюпоооюпоопооооооооо юооопюопоопоооопюоюопоооопоооооопооопоооооооооопоо ооооооопюооооооооооппооюоооооюоооооопопооопооюпооо оооооччооооЅMrMXMM1vevЅ"M><©п«««»;«WZMСЙҐ№
Stty settings should be fine and I have tried to change some of them. Here are my stty settings:
machi:/dev# stty -F /dev/ttyS0 -a
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
machi:/dev# stty -a
speed 9600 baud; rows 63; columns 142; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
I can not see why this is not working right, any advices?
- 07-15-2006 #2
Instead of cat'ing it, you could try minicom.
- 07-25-2006 #3Just Joined!
- Join Date
- Jul 2006
- Posts
- 5
iutf8
I have tried minicom and few other programs but the problem still exists. I got a hint that it might be UTF8 that causes it. Stty did not support iutf8 option so I upgraded it to the newest version. For some reason stty still does not recognoze the option. Version is correct and help page shows it. Any hints??
Thanks!!Code:machi:~# stty --version stty (GNU coreutils) 5.97 Copyright (C) 2006 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law. Written by David MacKenzie. machi:~# stty --help Usage: stty [-F DEVICE] [--file=DEVICE] [SETTING]... or: stty [-F DEVICE] [--file=DEVICE] [-a|--all] or: stty [-F DEVICE] [--file=DEVICE] [-g|--save] Print or change terminal characteristics. -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin --help display this help and exit --version output version information and exit Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available. Special characters: * dsusp CHAR CHAR will send a terminal stop signal once input flushed eof CHAR CHAR will send an end of file (terminate the input) eol CHAR CHAR will end the line * eol2 CHAR alternate CHAR for ending the line erase CHAR CHAR will erase the last character typed intr CHAR CHAR will send an interrupt signal kill CHAR CHAR will erase the current line * lnext CHAR CHAR will enter the next character quoted quit CHAR CHAR will send a quit signal * rprnt CHAR CHAR will redraw the current line start CHAR CHAR will restart the output after stopping it stop CHAR CHAR will stop the output susp CHAR CHAR will send a terminal stop signal * swtch CHAR CHAR will switch to a different shell layer * werase CHAR CHAR will erase the last word typed Special settings: N set the input and output speeds to N bauds * cols N tell the kernel that the terminal has N columns * columns N same as cols N ispeed N set the input speed to N * line N use line discipline N min N with -icanon, set N characters minimum for a completed read ospeed N set the output speed to N * rows N tell the kernel that the terminal has N rows * size print the number of rows and columns according to the kernel speed print the terminal speed time N with -icanon, set read timeout of N tenths of a second Control settings: [-]clocal disable modem control signals [-]cread allow input to be received * [-]crtscts enable RTS/CTS handshaking csN set character size to N bits, N in [5..8] [-]cstopb use two stop bits per character (one with `-') [-]hup send a hangup signal when the last process closes the tty [-]hupcl same as [-]hup [-]parenb generate parity bit in output and expect parity bit in input [-]parodd set odd parity (even with `-') Input settings: [-]brkint breaks cause an interrupt signal [-]icrnl translate carriage return to newline [-]ignbrk ignore break characters [-]igncr ignore carriage return [-]ignpar ignore characters with parity errors * [-]imaxbel beep and do not flush a full input buffer on a character [-]inlcr translate newline to carriage return [-]inpck enable input parity checking [-]istrip clear high (8th) bit of input characters * [-]iutf8 assume input characters are UTF-8 encoded * [-]iuclc translate uppercase characters to lowercase * [-]ixany let any character restart output, not only start character [-]ixoff enable sending of start/stop characters [-]ixon enable XON/XOFF flow control [-]parmrk mark parity errors (with a 255-0-character sequence) [-]tandem same as [-]ixoff Output settings: * bsN backspace delay style, N in [0..1] * crN carriage return delay style, N in [0..3] * ffN form feed delay style, N in [0..1] * nlN newline delay style, N in [0..1] * [-]ocrnl translate carriage return to newline * [-]ofdel use delete characters for fill instead of null characters * [-]ofill use fill (padding) characters instead of timing for delays * [-]olcuc translate lowercase characters to uppercase * [-]onlcr translate newline to carriage return-newline * [-]onlret newline performs a carriage return * [-]onocr do not print carriage returns in the first column [-]opost postprocess output * tabN horizontal tab delay style, N in [0..3] * tabs same as tab0 * -tabs same as tab3 * vtN vertical tab delay style, N in [0..1] Local settings: [-]crterase echo erase characters as backspace-space-backspace * crtkill kill all line by obeying the echoprt and echoe settings * -crtkill kill all line by obeying the echoctl and echok settings * [-]ctlecho echo control characters in hat notation (`^c') [-]echo echo input characters * [-]echoctl same as [-]ctlecho [-]echoe same as [-]crterase [-]echok echo a newline after a kill character * [-]echoke same as [-]crtkill [-]echonl echo newline even if not echoing other characters * [-]echoprt echo erased characters backward, between `\' and '/' [-]icanon enable erase, kill, werase, and rprnt special characters [-]iexten enable non-POSIX special characters [-]isig enable interrupt, quit, and suspend special characters [-]noflsh disable flushing after interrupt and quit special characters * [-]prterase same as [-]echoprt * [-]tostop stop background jobs that try to write to the terminal * [-]xcase with icanon, escape with `\' for uppercase characters Combination settings: * [-]LCASE same as [-]lcase cbreak same as -icanon -cbreak same as icanon cooked same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values -cooked same as raw crt same as echoe echoctl echoke dec same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u * [-]decctlq same as [-]ixany ek erase and kill characters to their default values evenp same as parenb -parodd cs7 -evenp same as -parenb cs8 * [-]lcase same as xcase iuclc olcuc litout same as -parenb -istrip -opost cs8 -litout same as parenb istrip opost cs7 nl same as -icrnl -onlcr -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret oddp same as parenb parodd cs7 -oddp same as -parenb cs8 [-]parity same as [-]evenp pass8 same as -parenb -istrip cs8 -pass8 same as parenb istrip cs7 raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0 -raw same as cooked sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values. Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters. Report bugs to <bug-coreutils@gnu.org>. machi:~# stty iutf8 stty: invalid argument `iutf8' Try `stty --help' for more information.
- 07-25-2006 #4
Not sure. The console-tools package (at least on Mandriva) has command 'unicode_stop' to put the screen and keyboard in 8-bit mode, and various other keyboard and console related commands.
- 08-03-2006 #5Just Joined!
- Join Date
- Jul 2006
- Posts
- 5
Problem solved
Problem is now solved. Errors in the messages was caused by unprotected cable which took disturbance from other electrical cables. I recommend others with same kind of problems to use protected cables.


Reply With Quote
