I run this script from tclsh: ------------------------ set comPort "/dev/ttyS0" set comId [open $comPort r+] if {$comId == ""} { bgerror "Can't open $comPort" return -1 } fconfigure $comId \ -translation binary \ -blocking 0 \ -buffering none \ -mode 115200,n,8,1 after 10000 close $comId ------------------------- while the program is waiting in "after 10000" , through another shell I call stty -a -F /dev/ttyS0 and I see a completely different setting (the _real_ one!). To solve the problem it was necessary to rebuild Tcl/Tk from Scriptics sources tar.gz (8.3b2, the newest at this time). In order to understand if the problem was a Tcl bug, I rebuilt also 8.0.5 sources, but the behaviour is equal - it works. Please note that I had the same problem also with previous versions (5.0) of RH linux. Best Regards Massimo Bertani
The problem appears to be with the build of tcltk-8.0.5, which probably was built against a glibc version that incorrectly defined higher baud rates (I assume from reading your reported behavior). Try tcltk-8.2.3-36 packages from Raw Hide, they have been built against more recent glibc headers. (Note: tcltk cannot be upgraded to 8.3 until all the components (e.g. tclx, itcl, expect, and tix have been ported to 8.3).